Update Dynamics 365 deals automatically after every Gong call
After every recorded sales call, an agent updates the right deal in Dynamics 365 and posts a Slack recap of exactly what changed.
When a new call is recorded in Gong, I want an agent to update the matching deal in Microsoft Dynamics 365 so my reps stop doing manual CRM data entry after every conversation. Use the Gong poll trigger for new calls so this runs once per recorded call.
Start by pulling the conversation with Gong Get Call Transcripts for the call that fired the trigger. Hold on to the call metadata as well, especially the participant list and their email addresses, the call title, and the call date, because the deal match depends on it.
Find the matching deal in Dynamics 365 using Query Records. Search across the opportunity and contact tables with an OData filter, matching first on the external participants' email addresses, then on their email domain, then on the account name taken from the call title or the participants' company. Prefer open opportunities linked to the account that owns the matched contact. Treat this as the highest risk step in the whole workflow and never guess: you must end up with exactly one opportunity you are confident this call was about.
Read the transcript and extract the next steps along with who owns each one, the decision criteria the buyer stated, every stakeholder named on the call and their role, any budget signal, any timing or go live signal, and any competitor mentioned by name. Only record things the transcript actually supports. Leave a field alone rather than inventing a value for it.
Write the findings back to the matched opportunity with Update Record, sending only the columns that changed. Refresh the next step, the estimated close date, and the description. Be conservative with the sales stage: only move it when the transcript clearly justifies the move, for example the buyer explicitly agreeing to a proposal, a contract review, or a signature step. If the transcript is ambiguous about stage, leave the stage exactly as it is and say so in the recap.
Log the call itself with Create Record, writing a task or annotation row linked to the matched opportunity. Give it a short summary of the conversation and the list of extracted commitments, so the call is visible on the record's timeline rather than only inside Gong.
Finish with Slack Send a Message to the deal channel. The recap should name the opportunity that was updated, list each field that changed with its before and after value, note what was logged, and call out what was deliberately left alone and why, for example that the sales stage was not moved because the transcript did not clearly justify it.
If you cannot find a single confident match, change nothing in Dynamics 365. Do not create records, do not update anything, and do not fall back to the closest guess. Instead post to Slack asking a human to link the call, including the call title and date, the external participants and their email addresses, and any near miss candidates you considered, so a person can resolve it quickly.
Example output
What does this prompt do?
- Picks up every new call recorded in Gong and reads the full conversation.
- Finds the one deal in Dynamics 365 that the call was about, matching on who was on the call, their email domain, and the company they work for.
- Fills in next steps, estimated close date, decision criteria, stakeholders, budget and timing signals, and any competitor that came up, then logs the call on the deal's timeline.
- Posts a Slack recap of what changed and what it deliberately left alone, and asks a human to step in whenever it cannot confidently identify the deal.
What do I need to use this?
- A Gong account with call recording turned on.
- A Microsoft Dynamics 365 Sales login that can read and update opportunities.
- A Slack workspace and a channel where deal updates should be posted.
- Deals tracked in Dynamics as opportunities with contacts attached, so calls can be matched to the right record.
How can I customize it?
- Choose which Slack channel gets the recap, whether that is one shared deal desk channel or a dedicated channel per deal.
- Decide how bold the agent is about moving a deal's sales stage. By default it only moves the stage when the conversation clearly justifies it, and otherwise leaves it untouched.
- Swap Gong for Fireflies.ai if that is where your calls get recorded. The workflow starts from a new transcript instead, and everything that happens in Dynamics and Slack stays the same.
FAQs
Will it ever update the wrong deal?
Does it move deals to the next sales stage on its own?
Does this work with Dynamics 365 Sales?
What if we use Fireflies instead of Gong?
Do reps still need to check the CRM after a call?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.
Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.
Every weekday morning, unfulfilled orders get an address check: harmless typos fixed automatically, risky addresses held with a note to the customer.
Stop rebuilding every sales call from memory.
Let an agent update the right Dynamics 365 deal after each conversation and tell your team exactly what changed.