Migrating from Zendesk
Scitor handles the core functions of a helpdesk β inbound email, reply, triage, knowledge base, CSAT β but everything lives in GitHub instead of a dedicated SaaS tool. This guide maps Zendesk concepts to their Scitor equivalents and walks through the cutover.
The same steps apply if youβre migrating from Help Scout, Intercom, Freshdesk, or a similar tool β the concepts are the same.
Conceptual mapping
| Zendesk | Scitor equivalent |
|---|---|
| Ticket | GitHub Issue (or Discussion) |
| Agent | GitHub collaborator with Write access |
| Group / Team | GitHub Team |
| Macros | Saved replies (.github/scitor/replies/*.md) |
| Views | GitHub Issues filters and saved label queries |
| Tags | GitHub labels |
| Help Center / Knowledge base | Knowledge base (Markdown docs, auto-deployed) |
| Web widget | Embeddable form (/create-form) |
| Triggers / Automations | GitHub Actions using Scitor labels |
| CSAT | CSAT feature (Pro) |
| Reports / Analytics | /generate-report and monthly digest |
| SLA policies | SLA tracking (Pro) |
| Suspended tickets / spam | Issues labelled spam:high by spam detection |
What you need to migrate
You donβt need to import historical tickets β Zendesk stays accessible as a read-only archive. Most teams keep Zendesk alive for a few months, then let the subscription lapse.
What actually needs migrating:
- Active open tickets β anything currently in progress
- Macros / canned responses β saved replies
- Knowledge base articles β Markdown docs
- Team access β GitHub collaborators
Step 1: Install Scitor and test in parallel
Install Scitor on your support repository and set up email forwarding. Donβt switch your production email yet β run both systems in parallel and test with a personal email address first.
Once an email to your support address arrives as a GitHub Issue and you can reply with /send, youβre ready for the next steps.
Step 2: Convert macros to saved replies
Zendesk macros become files in .github/scitor/replies/. Create one .md file per macro you want to keep:
---
name: closing-resolved
description: Closing a resolved ticket
---
Hi {{customer_name}},
Glad we could help. I'll close this ticket now β if anything else comes up, just reply to this email.
{{agent_name}}
Available variables:
| Variable | Value |
|---|---|
{{customer_name}} |
Customerβs first name (from sender metadata) |
{{agent_name}} |
Your GitHub display name |
{{issue_number}} |
GitHub issue number |
Use /reply closing-resolved on any issue to insert the template. See Saved replies for the full reference.
Step 3: Migrate your knowledge base
Zendesk Help Center articles map directly to Markdown files. The structure:
- Category β a subdirectory under
docs/(e.g.docs/billing/) - Article β a
.mdfile with frontmatter
A Zendesk article:
Title: How to reset your password
Section: Account
Body: Click βForgot passwordβ on the login page to receive a reset emailβ¦
Becomes docs/account/reset-password.md:
---
title: How to reset your password
description: Recover access to your account via the password reset flow.
---
# How to reset your password
Click **Forgot password** on the login page to receive a reset email...
Push the docs folder to your repository and enable the knowledge base in scitor.yaml:
docs:
path: docs
title: "Your Product Help"
Scitor builds and deploys the site automatically on the next push.
Tip
Your Markdown docs also power the AI chatbot knowledge base. Migrating your Help Center articles is the single highest-value step β it immediately gives the chatbot something to answer questions from.
Step 4: Add your team
Add your support agents as GitHub collaborators on the support repository. See Team Management for the required permission levels β agents who reply need Write, queue managers can use Triage.
In Zendesk: Admin β People β Agents
In Scitor: GitHub repository β Settings β Collaborators and teams
Step 5: Cut over email
When youβre ready:
- Change the forwarding rule on your support email address from Zendeskβs inbound address to your Scitor inbound address
- New emails now arrive as GitHub Issues
- Existing open tickets in Zendesk remain there until resolved
Thatβs the cutover. Customers see no change β theyβre still emailing support@yourco.com.
Tip
Do the cutover at the start of a low-volume day (Monday morning, not Friday afternoon). Monitor for 30 minutes to confirm emails are arriving as Issues before walking away.
Step 6: Handle open tickets
For active Zendesk tickets still in progress, two options:
Option A (recommended): Close them out in Zendesk. Stop new tickets arriving in Zendesk, finish the open ones there, and let Zendesk become read-only. Most teams finish existing tickets within a week.
Option B: Forward priority tickets manually. For critical tickets mid-resolution, paste the context into a new GitHub Issue and continue. Only practical for a small number of high-priority cases.
What Scitor doesnβt cover
Before migrating, confirm these arenβt blockers for your team:
- Voice / phone β Scitor is email and web forms only
- Live agent chat β The AI chatbot handles common questions automatically, but thereβs no real-time agent chat
- Ticket merging β Not supported; link related tickets using GitHubβs
#issue-numberreference syntax - Multi-brand from one installation β One Scitor installation per repository; multiple brands need multiple repositories
Migration timeline
A typical migration takes 1β2 weeks end-to-end:
| Timeframe | Work |
|---|---|
| Day 1β3 | Install Scitor, test email routing, create a few saved replies |
| Day 3β7 | Migrate knowledge base docs, set up team access, configure scitor.yaml |
| Cutover day | Switch email forward, monitor for 30 min |
| Week 2 | Wind down open Zendesk tickets; Zendesk becomes read-only archive |
| Week 4β8 | Cancel Zendesk subscription once historical access is no longer needed |
Was this article helpful?