Turn resolved Zendesk tickets into Notion knowledge articles

By General Input

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.

Integrations

  • Zendesk
  • Notion
  • Slack Bot

Type

Agentic Task

Categories

  • Customer Support
  • Operations

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them