Log Dropbox support calls to Zendesk with Azure Speech

Every hour on weekdays, transcribe new call recordings in your Dropbox support folder and file a clean summary, sentiment, and next steps on the right Zendesk ticket.

Agentic Task
DropboxAzure AI SpeechZendeskCustomer SupportOperationsFeedback TriageDocument ProcessingNotifications & Alerts
PromptCreate

Build me an agent workflow that turns new support call recordings in Dropbox into logged internal notes on the right Zendesk ticket, so my support team never has to re-listen to a call to remember what was said.

Trigger: run on a cron schedule, every hour on the hour, Monday through Friday, from 8am to 6pm in the org's default time zone.

On each run, do this:

1. List the contents of a designated Dropbox folder (default path: /support-calls, but expose the path as a configurable input). Use the Dropbox List Folder operation and only consider audio files (.mp3, .wav, .m4a, .ogg, .flac). Skip subfolders unless the input says otherwise.

2. Dedupe. Keep a small persistent record (in workflow memory or a scratch note) of Dropbox file IDs and content hashes that have already been processed successfully, and skip any file whose ID or hash is already in that list. This is important because the folder will keep growing and we do not want to log the same call twice.

3. For each new audio file, use the Dropbox Download File operation to fetch the audio bytes, then send it to Azure AI Speech's Fast Transcribe Audio operation with speaker diarization enabled so the transcript separates the customer from the support agent. If a file is longer than the fast-transcribe limit (about 2 hours) or larger than 200 MB, note that in the ticket and skip transcription for that file.

4. Read the transcript and infer: the caller's name, email, and/or phone number if mentioned; the primary issue or reason for the call; the overall sentiment (positive / neutral / negative / frustrated); any commitments the agent made (callbacks, refunds, follow-up emails, ETAs); and 3 to 6 timestamped highlights that capture the key moments of the conversation.

5. Use the Zendesk Search Tickets operation to look for an existing open (or pending / on-hold) ticket that matches the caller. Try in order: matching email, then matching phone, then matching requester name. Prefer the most recently updated match. If more than one matches with similar confidence, pick the most recent and mention the ambiguity in the note.

6a. If a matching ticket is found, use the Zendesk Update Ticket operation to add an INTERNAL NOTE (not a public reply, so the customer never receives an email). The note body should be Markdown-formatted and include: a one-line summary of the call, the detected sentiment, the timestamped highlights, the agent's commitments, and 2 to 4 suggested next steps for whoever picks up the ticket. Include the Dropbox file name at the bottom for traceability.

6b. If no matching ticket is found, use the Zendesk Create Ticket operation to open a new ticket. Set the requester to the caller (creating a Zendesk user by email/phone if needed), set a concise subject like 'Support call: <topic> (<date>)', set priority based on sentiment and urgency (frustrated + commitment overdue = high; neutral informational = low), tag it with 'call-transcript' and 'auto-logged', and put the same structured summary as the first internal note so it does not get emailed out.

7. Once a file has been logged successfully, add its Dropbox file ID and content hash to the processed list so it is not picked up again on the next run. If any step fails for a specific file, do not mark it as processed. Move on to the next file so one bad recording does not stall the batch.

Guardrails: never post a public reply on a Zendesk ticket, only internal notes. Never mark tickets as solved or closed. Do not attempt to attach the raw audio to the ticket. Cap the run at a reasonable number of files per invocation (for example, 20) so a large backlog gets drained over multiple runs rather than blowing up in one.

What does this prompt do?

  • Watches a shared Dropbox folder for new support call recordings during business hours and skips anything it has already logged.
  • Transcribes each call with speaker diarization so you can see what the customer said and what your agent promised.
  • Finds the matching customer in Zendesk and adds an internal note with a short summary, sentiment, timestamped highlights, and suggested next steps.
  • Opens a fresh Zendesk ticket for callers who do not match any existing open ticket, so nothing falls through the cracks.

What do I need to use this?

  • A Dropbox account with a folder where your call recordings land.
  • An Azure AI Speech account for transcribing the recordings.
  • A Zendesk account where the internal notes and new tickets will be filed.

How can I customize it?

  • Change the schedule (for example, every 30 minutes, or only during specific hours in your time zone).
  • Point at a different Dropbox folder, or narrow to specific file types like .mp3 or .wav.
  • Tweak the note format, sentiment scale, or the tags and priority applied to newly opened tickets.

FAQs

Will the customer see the summary added to their ticket?
No. The summary is filed as an internal note that only your support team can see, so you never accidentally email a raw AI summary to a customer.
What if the same recording gets picked up on a later run?
The workflow keeps track of which files it has already processed and skips them, so the same call never gets logged twice on the same ticket.
How does it know which ticket to update?
It looks at the caller's name, email, or phone number mentioned in the transcript and searches your open Zendesk tickets for a match. If nothing matches, it opens a new ticket instead of guessing.
How long can the recordings be?
Azure AI Speech's fast transcription supports files up to about two hours each, which covers almost every real support call.
Can I use this with recordings from Aircall, RingCentral, or Twilio?
Yes. As long as those tools drop the audio file into the Dropbox folder you point the workflow at, it will pick them up on the next run.

Related templates

Turn Statuspage incidents into support briefs and ticket notes

The moment an outage goes live, your support channel gets a plain-language brief and a ready-to-send reply, and matching tickets get an internal note.

Statuspage
Slack Bot
Zendesk
Agentic Task
Triage 1 and 2-star Trustpilot reviews into Zendesk and Slack

When a low-rated review lands on Trustpilot, we open a support ticket, alert your team in Slack, and draft a reply for someone to approve.

Trustpilot
Zendesk
Slack
Agentic Task
Send yesterday's support tickets into your product analytics

Every evening, yesterday's Zendesk tickets land in Segment as clean, categorized events, so you can see which product areas actually generate support.

Twilio Segment
Zendesk
Slack Bot
Agentic Task
Turn unanswered social messages into Zendesk tickets

Every two hours, we check your social inboxes for messages nobody has replied to, open tickets for the real problems, and send the rest to your team in Slack.

Sprout Social
Zendesk
Slack
Agentic Task
Spot delivery problems and email customers before they ask

When a package is delayed, damaged, or undeliverable, your customer gets a clear explanation and support gets a ticket, before anyone has to complain.

Shippo
Shopify
Gmail
+1
Agentic Task
Read Zendesk photo attachments before your reps open them

Every 15 minutes we look at new support tickets that arrived with photos, describe the damage or the error on screen, and leave a private note for your rep.

Zendesk
Replicate
Slack
Agentic Task

Stop making your support team re-listen to yesterday's calls.

Connect Dropbox, Azure AI Speech, and Zendesk once, and Geni turns every new recording into a ready-to-action ticket note.