Turn resolved Zendesk tickets into Notion knowledge articles

Every night, find yesterday's solved Zendesk tickets, draft a knowledge base article for each one in Notion, and post a review link in Slack.

Agentic Task
ZendeskNotionSlack BotCustomer SupportOperationsContent GenerationAI Reports

Build an agent workflow that turns every Zendesk ticket my team solved yesterday into a draft knowledge base article in Notion, with a Slack review digest at the end.

Trigger: cron, every weekday at 7pm in the workspace's timezone.

Each run, the agent should:

1. Use Zendesk Search Tickets to find tickets with status:solved that were solved in the last 24 hours. Allow me to optionally filter by tag, group_id, brand_id, or ticket form so I can scope to a specific product or team. Skip tickets whose subject or tags match an exclude list I configure (e.g. 'spam', 'duplicate', 'test').

2. For each candidate ticket, call Zendesk Show Ticket plus List Ticket Comments to get the requester subject, the description, every public reply, and the internal notes. Use the internal notes too. They often contain the real diagnosis.

3. Decide whether the ticket actually has a reusable answer. Skip it if there is no clear resolution, the conversation ended without a fix, the issue was one customer's account-specific data, or the entire thread is shorter than a few exchanges. Briefly log why anything is skipped so I can audit later.

4. Before drafting, check the Notion knowledge base database (a Notion database ID I configure) for an existing article covering the same topic. Use Notion's data source query plus a quick relevance check on titles and tags. If a clearly matching article already exists, append a short note to that page using Append Block Children that links back to the new ticket and summarizes any new detail, then move on. Do not create a duplicate page.

5. If no matching article exists, use Notion Create a Page to add a new page to the knowledge base database with these properties: Title (a clear, search-friendly question or task), Status set to 'Draft - needs review', Source set to the Zendesk ticket URL, Product or Category (inferred from tags or ticket form), and Created From Ticket (the ticket ID). For the body, use a consistent template: a one-sentence summary, who this applies to, the symptoms the customer reported, the root cause, the step-by-step fix in numbered steps, and any follow-up or known limitations. Keep it written for a customer-facing help center, not internal jargon.

6. After each ticket, add a private internal note back on the Zendesk ticket via Update Ticket with a link to the new (or updated) Notion draft so the original agent can see it was turned into an article.

7. At the end of the run, post a single Slack Bot message to the support review channel I configure. Use a bulleted list, one line per draft, formatted as: article title, link to the Notion draft, link to the source Zendesk ticket, and 'new' or 'updated existing'. If zero articles were drafted, post a short 'no new drafts today' line instead so the channel knows the job ran.

Inputs I should be able to set when configuring: the Zendesk filter (tags, group, brand, ticket form), the Notion knowledge base database ID, the article template fields, the Slack review channel, and the run time. Default the lookback to the last 24 hours and the trigger to weekdays at 7pm.

Treat this as a draft factory, not a publisher. Articles should always land as drafts for human review. Do not edit or publish anything in Notion outside the knowledge base database, and do not change the public reply on any Zendesk ticket.

Additional information

What does this prompt do?
  • Finds Zendesk tickets your team solved in the last 24 hours and pulls the full conversation, including internal notes.
  • Drafts a clear, reusable knowledge base article for each solved ticket with a title, the customer problem, the root cause, and the step-by-step fix.
  • Creates a new draft page in your Notion knowledge base, tagged for review and linked back to the source Zendesk ticket.
  • Posts a tidy Slack summary listing every draft article so your support lead can review and publish in one sitting.
What do I need to use this?
  • A Zendesk account with permission to read tickets and comments.
  • A Notion workspace with a knowledge base database the connection has been shared with.
  • A Slack workspace and the channel you want the nightly review summary to land in.
How can I customize it?
  • Change the run time, the lookback window, or skip weekends so it only runs on workdays.
  • Filter which tickets become articles by tag, group, brand, or ticket form so noisy one-off requests are excluded.
  • Adjust the article template, the destination Notion database, the review tag, and the Slack channel that gets the digest.

Frequently asked questions

Will this publish articles automatically?
No. Every article lands in Notion as a draft tagged for review. Your team decides what to clean up, edit, and publish to your real help center.
What if a ticket was solved without a clear fix?
The agent skips tickets that do not contain a reusable resolution, like single-line replies, duplicates, or conversations that ended without an answer.
Can I send the drafts somewhere other than Notion?
Yes. The destination is a customization. You can swap Notion for any other documentation tool we support, or have the agent post the drafts straight into a Slack canvas.
Do my customers see anything?
No. This runs entirely behind the scenes. Customers see nothing new unless your team publishes a finished article from Notion to your help center.
How does it avoid creating duplicate articles for similar tickets?
Before drafting, the agent checks your Notion knowledge base for an existing article on the same topic. If it finds one, it appends a note with the new ticket link instead of creating a duplicate page.

Stop losing your team's hard-won answers.

Connect Zendesk, Notion, and Slack once, and every solved ticket quietly becomes a draft article your team can review tomorrow.