{"id":35234016,"url":"https://github.com/inkeep/zendesk-inkeep-autoreply-template","last_synced_at":"2026-04-02T18:45:44.719Z","repository":{"id":261504073,"uuid":"880024430","full_name":"inkeep/zendesk-inkeep-autoreply-template","owner":"inkeep","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-16T18:22:52.000Z","size":338,"stargazers_count":2,"open_issues_count":4,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-17T06:09:33.241Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inkeep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-29T01:13:46.000Z","updated_at":"2026-01-16T18:24:10.000Z","dependencies_parsed_at":"2024-11-06T22:39:28.578Z","dependency_job_id":"900635ca-3f0b-4bf3-b4e2-6f78f9cce846","html_url":"https://github.com/inkeep/zendesk-inkeep-autoreply-template","commit_stats":null,"previous_names":["inkeep/zendesk-inkeep-template","inkeep/zendesk-inkeep-autoreply-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/inkeep/zendesk-inkeep-autoreply-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkeep%2Fzendesk-inkeep-autoreply-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkeep%2Fzendesk-inkeep-autoreply-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkeep%2Fzendesk-inkeep-autoreply-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkeep%2Fzendesk-inkeep-autoreply-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inkeep","download_url":"https://codeload.github.com/inkeep/zendesk-inkeep-autoreply-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkeep%2Fzendesk-inkeep-autoreply-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31313309,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-30T03:26:22.475Z","updated_at":"2026-04-02T18:45:44.714Z","avatar_url":"https://github.com/inkeep.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zendesk AI Auto Responder Template\n\nThis template repo contains a NextJS app as well as bash scripts that will help you configure your Zendesk workspace to use Inkeep to auto-respond to new tickets using your Inkeep project.\n\n\u003e [!IMPORTANT]  \n\u003e This is a only template repo. Given your integration requirements, you will want to make additional changes to this template.\n\n## Architecture Overview\n\nThe integration works by connecting three systems:\n\n```mermaid\ngraph LR\n    A[Zendesk Ticket Activity] --\u003e B[Zendesk Trigger]\n    B --\u003e C[Zendesk Webhook]\n    C --\u003e D[Vercel App]\n    D --\u003e E[Inkeep API]\n    E --\u003e D\n    D --\u003e F[Update Ticket]\n    F --\u003e A\n```\n\n**How it works:**\n1. **Zendesk** detects new ticket activity and fires a trigger\n2. **Zendesk webhook** sends ticket data to your **Vercel App**\n3. **Vercel app** calls the **Inkeep API** to generate an AI response\n4. **Inkeep API** returns the AI response to **Vercel**\n5. **Vercel App** posts the response back to **Zendesk** as a ticket comment\n\n## Complete Setup Guide\n\nFollow these steps in order to set up the Zendesk AI Auto Responder:\n\n### Step 1: Deploy Template to Vercel\n\n1. **Deploy to Vercel** using the button below:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Finkeep%2Fzendesk-inkeep-template\u0026env=ZENDESK_SUBDOMAIN,ZENDESK_API_TOKEN,ZENDESK_API_USER,AUTO_RESPONDER_INKEEP_API_KEY\u0026envDescription=API%20keys%20required%20for%20successful%20deployment\u0026project-name=zendesk-inkeep-autoresponder\u0026repository-name=zendesk-inkeep-autoresponder)\n\n**Important:** During Vercel deployment, you'll be prompted for environment variables. However, these are only used by the deployed app - you'll still need to configure them locally for the setup script.\n\n### Step 2: Clone Locally and Configure Environment\n\n1. Create an environment file by copying the sample:\n```bash\ncp .env.sample .env\n```\n\n2. Edit the `.env` file with your actual values:\n\n**Required variables:**\n- `ZENDESK_SUBDOMAIN`: Your Zendesk subdomain (e.g., if your Zendesk URL is mycompany.zendesk.com, enter 'mycompany')\n- `ZENDESK_API_TOKEN`: Generate at [Zendesk API token docs](https://support.zendesk.com/hc/en-us/articles/4408889192858-Generating-a-new-API-token)\n- `ZENDESK_API_USER`: Email address of your Zendesk user\n- `ZENDESK_WEBHOOK_SECRET`: A secret key for webhook security [docs](https://developer.zendesk.com/documentation/webhooks/verifying/)\n- `AI_PROCESSING_ENDPOINT`: Your Vercel deployment URL + `/api/webhook` (e.g., `https://your-app-name.vercel.app/api/webhook`)\n- `AUTO_RESPONDER_INKEEP_API_KEY`: Your Inkeep API key (you must have an account at https://portal.inkeep.com)\n\n**Optional variables:**\n- `AI_AGENT_USER_ID`: The User ID you'd like the AI bot to have if leaving internal comments\n- `ENABLE_PUBLIC_RESPONSES`: Set to `true` to make AI responses visible to customers (defaults to `false` where all responses are internal comments)\n\n### Step 3: Install Prerequisites\n\n**Install jq** (required for the setup script):\n- **macOS**: `brew install jq`\n- **Windows**: Download from [jq website](https://jqlang.github.io/jq/download/)\n\n### Step 4 : Run Setup Script\n\nRun the setup script to create the Zendesk webhook and trigger:\n```bash\nchmod +x ./webhook_setup/setup.sh\n./webhook_setup/setup.sh\n```\n\n## Troubleshooting\n\n### Setup Issues\n\n#### Webhook Not Created During Setup\n**Problem:** The setup script runs but no webhook appears in Zendesk.\n\n**Possible causes:**\n1. **Missing environment variables** - Ensure all required variables are set in your `.env` file\n2. **Invalid API credentials** - Verify your `ZENDESK_API_USER` and `ZENDESK_API_TOKEN` are correct\n3. **Wrong subdomain** - Double-check your `ZENDESK_SUBDOMAIN` value\n4. **Incorrect endpoint URL** - Ensure `AI_PROCESSING_ENDPOINT` is your Vercel URL + `/api/webhook`\n\n**Solution:** Check the setup script output for error messages and verify your `.env` configuration.\n\n### Webhook/Trigger Issues\nIf you experience problems with the webhook or trigger:\n\n1. Manually deactivate them in Zendesk:\n   - Visit `https://YOUR-SUBDOMAIN.zendesk.com/admin/objects-rules/rules/triggers`\n   - Replace YOUR-SUBDOMAIN with your Zendesk subdomain\n\n2. Or run the cleanup script to remove the trigger/webhook pair:\n```bash\nchmod +x ./webhook_setup/cleanup.sh\n./webhook_setup/cleanup.sh\n```\n\n## Debug Mode\n\nBy default, the AI Autoresponder runs in debug mode (internal notes only). In this mode, responses will only be visible to your support team as internal notes and not to the end-users.\n\nTo enable customer-facing responses:\n\n1. Set the environment variable: `ENABLE_PUBLIC_RESPONSES=true`\n2. Redeploy the application\n\nWhen `ENABLE_PUBLIC_RESPONSES` is not set or is set to any value other than `true`, the AI Auto Responder will only create internal notes (not visible to end-users) when responding to tickets.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finkeep%2Fzendesk-inkeep-autoreply-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finkeep%2Fzendesk-inkeep-autoreply-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finkeep%2Fzendesk-inkeep-autoreply-template/lists"}