Refresh Guru cards from solved Zendesk tickets

Each night, mine yesterday's solved Zendesk tickets for reusable answers, then update the matching Guru card or draft a new one for your SME to verify.

Agentic Task
GuruZendeskSlack BotCustomer SupportOperationsContent GenerationFeedback TriageDaily Digests
PromptCreate

Build an agent workflow that runs every night and turns yesterday's solved Zendesk tickets into Guru knowledge, updating the canonical card when one already exists instead of creating duplicates.

Trigger: a nightly cron, default 2am in the team's time zone. Make the schedule and the lookback window configurable.

Step 1. Use Zendesk Search Tickets to pull every ticket with status:solved updated in the last 24 hours. For each result, call Zendesk List Ticket Comments and grab the most recent public agent comment as the resolution.

Step 2. For each ticket, decide whether the answer is generally reusable. Skip anything that is clearly account-specific (specific customer data, billing adjustments, one-off bug workarounds, anything with PII). Keep concise how-to answers, product behavior explanations, and recurring 'why is this happening' questions. Lean toward skipping when in doubt and surface the count of skipped tickets at the end.

Step 3. For each reusable ticket, call Guru Search With Sources using a short topical query derived from the ticket subject plus the resolution. If the top result looks like a close match on the same topic (not just keyword overlap), treat it as the canonical card.

Step 4a. If a close match exists, call Guru Create Card Comment on that card. The comment should start with 'Suggested update from Zendesk ticket #<id>', quote the new answer cleanly, and @-mention the card's existing verifier so they get notified.

Step 4b. If no close match exists, call Guru Create Card in the designated 'Support drafts' collection. Use a clear draft title phrased as the user's question, rewrite the resolution as a tidy Q&A in the body (question as a heading, answer below), and assign the same verifier the team uses for that topic area. Make the collection slug and default verifier configurable.

Step 5. Once every ticket has been handled, send a single Slack Bot Send a Message to the #support-ops channel summarizing the run: total tickets reviewed, how many were reusable vs skipped, and a bulleted list of every card touched. For each card include its title, whether it was an update or a new draft, the source ticket number, and a deep link to the card in Guru so the SME can review everything in one place. If nothing was actionable, post a short 'no updates today' line so the team knows the job ran.

Guardrails: never duplicate a card the agent already touched in the same run, never re-suggest the same ticket more than once, and keep the Slack message under 25 line items by collapsing the long tail into a 'plus N more' link.

Additional information

What does this prompt do?
  • Pulls every Zendesk ticket your team solved in the last 24 hours and reads the public resolution.
  • Decides which answers are generally reusable and skips one-off or account-specific fixes.
  • Searches Guru for a card on the same topic. If one exists, posts a suggested update as a comment and tags the verifier. If not, drafts a clean question-and-answer card in your Support drafts collection.
  • Sends a single morning Slack summary to your support-ops channel listing every card that was touched, with deep links so your SME can review them in one place.
What do I need to use this?
  • A Zendesk account with permission to read tickets and ticket comments.
  • A Guru account with permission to create cards and post comments, plus a designated Support drafts collection.
  • A Slack workspace and a channel (like support-ops) where the morning summary should land.
How can I customize it?
  • Change when the nightly run kicks off and what time zone the 24-hour window uses.
  • Adjust the rule the agent uses to decide which tickets count as reusable knowledge, so account-specific or sensitive fixes never become cards.
  • Swap the destination collection, the default verifier, or the Slack channel that gets the morning recap.

Frequently asked questions

Will this create duplicate Guru cards for topics we already document?
No. Before creating anything, the agent searches Guru for an existing card on the same topic. If it finds a close match, it posts a comment suggesting the update instead of making a new card, so your verified knowledge stays canonical.
Does this publish answers to my team without review?
No. New cards are drafted into a designated Support drafts collection and assigned to a verifier. Updates to existing cards are posted as comments tagging the verifier. Nothing is published or marked verified until your subject matter expert says so.
How does the agent decide which tickets are worth turning into knowledge?
It reads the public resolution on each solved ticket and skips anything that looks account-specific, one-off, or sensitive. You can tighten or relax that judgement in plain English when you set the workflow up.
Can it post the morning summary somewhere other than Slack?
The starter version sends a single Slack message to your support-ops channel with deep links to every card it touched. You can change the channel, the format, or swap Slack for email when you build it.
What if a ticket spans multiple topics or has a long back-and-forth?
The agent uses the latest public resolution as the source of truth and rewrites it as a clean question and answer. If a single ticket suggests updates to more than one card, it can comment on each of them.

Stop answering the same support question twice.

Connect Zendesk, Guru, and Slack once, and Geni keeps your knowledge base in sync with what your team actually solves every night.