Post-call automations
Update the CRM or notify another system after every call.
Automations run after every completed call. They can push the call into your client’s CRM — log it, update the lead, create a deal — or send the call to a webhook. Your clients see their leads appear in the tools they already use, without anyone copying notes by hand.
Plan: Requires a plan that includes integrations — by default Agency and Agency Pro.
- A destination: a HubSpot, GoHighLevel or Webhook connection, made inside the client’s workspace. See CRMs and calendars.
- An agency owner, agency admin or client admin account.
- For business outcomes (booked, qualified, interested), post-call analysis fields on the agent. See Build an agent.
How automations work#
Every automation is triggered when a call completes and its post-call analysis is ready. The automation checks its conditions against that call. If they all match, it runs its actions against the chosen destination.
- CRM destinations (HubSpot, GoHighLevel) always find or create the caller as a contact first, then run the actions you choose.
- Webhook destinations POST a signed call event to your URL. See Webhooks.
Automations live on Automations in the sidebar, with tabs for All, Active, Paused and Failing, a destination filter, and the “Run history” and “New automation” buttons.
Create an automation#
- Switch into the clientCreate automations inside the client’s workspace so they use that client’s connection and run only on that client’s calls.
- Click New automationGo to Automations and click “New automation”. If you see “Connect a destination first”, click “Go to Integrations” and connect one.
- Choose the destinationUnder “Destination”, pick the connection. Each one is listed with the last four characters of its credential, so you can tell them apart.
- Pick a templateUnder “Templates”, pick a starting point, then click “Continue”:
- “POST every call to a webhook” — for Webhook destinations.
- “Sync call outcomes to HubSpot” (or GoHighLevel) — finds or creates the contact and logs the call.
- “Push leads into a HubSpot pipeline” (or GoHighLevel) — finds or creates the contact and creates a deal or opportunity.
- “Start from scratch”.
- Name it and choose the agentsEnter an “Automation name”, such as “Log qualified sales calls”. Under “Applies to”, choose “All agents in this client” or a single agent.
- Set conditions and actionsAdd conditions (below) to limit which calls run, then choose the actions and any field mapping.
- CreateLeave “Status” on Active to start running on the next completed call, or Paused to save it for later. Click “Create”.
Conditions#
All conditions you set must match. Leave the optional fields empty to run on every completed call.
| Condition | What it matches |
|---|---|
| “Direction” | Any call, Inbound only, or Outbound only. |
| “Call outcome” | Choose “Successful”, “Unsuccessful”, or both. Leave both off to run on any outcome. This comes from the post-call analysis’ success check. |
| “Analysis field” | A post-call analysis field and the value it must “Equals”. For a yes/no field, enter true or false. Numbers are compared as numbers. |
“Call outcome” is only whether the call succeeded. Business results like “booked” or “interested” aren’t outcomes. Automations saved with values like that are flagged in the editor, because they never match.
For business outcomes, add a post-call analysis field to the agent — for example a yes/no field appointment_booked — and use an “Analysis field” condition with “Equals” true. See Build an agent.
CRM actions#
Under “Actions in HubSpot” (or GoHighLevel), the matching contact is always found and created or updated first. Then choose any of these:
| Action | What it does | HubSpot | GoHighLevel |
|---|---|---|---|
| “Log the call” | Attaches the transcript, summary and recording to the contact. | Yes | Yes |
| “Update lead status” | Sets a field to a value. HubSpot defaults to hs_lead_status. | Yes | Yes |
| “Add tags” | Adds comma-separated tags to the contact. | No | Yes |
| “Create an opportunity / deal” | Creates a deal (HubSpot) or opportunity (GoHighLevel) in the pipeline and stage you pick, with an optional name and value. | Yes | Yes |
| “Trigger a workflow” | Enrols the contact in a workflow by its Workflow ID. | No | Yes |
Actions that already succeeded for a call aren’t repeated on a retry or replay, so a failed later step doesn’t create duplicate notes or deals.
Field mapping#
Phone, email and name map automatically. You only need to add mapping rows to override them or to send extra post-call analysis fields to CRM properties.
- Phone is the other party’s number on the call: the caller for inbound calls, the person dialed for outbound calls.
- Email and name come only from post-call analysis fields named exactly
emailandname. If the agent doesn’t have those fields, the contact is saved with a phone number only. - Custom rows map any analysis field to a CRM property, such as a
service_requestedfield to a matching HubSpot property.
name and email analysis fields to every agent that feeds a CRM, and tell the agent in its prompt to ask for them.Which calls an automation runs on#
An automation created inside a client’s workspace runs on that client’s calls only, and must use that client’s connection.
Test, edit and restore#
Click an automation to open its detail page. It has three tabs: “Rule”, “Field mapping” and “Versions”.
Delivery health
The “Delivery health” funnel shows how many calls were Completed, Matched the conditions, Attempted and Delivered, for the “Last 24h”, “Last 7d” or “Last 30d”. A big drop from Completed to Matched usually means a condition is too strict. A drop from Attempted to Delivered means the destination is failing. “Recent runs” lists the latest runs.
Dry run
Click “Dry run against a recent call” to check whether the rule would match and what it would do, without writing anything to the CRM. Save or discard your edits before testing.
Setup
The Setup panel shows the destination, credential, client and version. If the connection is failing, use “Fix it in Integrations”.
Versions and restore
Every save creates a new, permanent version. On the “Versions” tab, click “Restore” on an old version to copy it into a new version. Nothing is overwritten. Restore is disabled while you have unsaved edits.
If someone else changed the automation while you were editing, you see “This automation changed elsewhere.” Discard your draft or reload before saving.
Run history, retries and replay#
“Run history” on the Automations page lists every action attempt across every automation in the workspace, with the automation, action, result and time. Turn on “Failed only” to see problems.
Automatic retries
Each run gets up to 4 attempts. The first happens immediately. If it fails, we try again after 1 minute, 5 minutes and 15 minutes. After the fourth failure the run is marked failed and an alert is raised. Rate limits and temporary server errors from the destination are also retried briefly within each attempt.
Replay failed runs
Once you’ve fixed the cause — for example rotated a revoked token — click “Replay” on a single run, or “Replay N failed” to replay every failed run at once. Actions that already succeeded are skipped.
If you’ve edited the automation since those calls failed, you see “Some calls ran an older rule”: the replay uses the current rule and may perform different actions. Click “Replay with the current rule” to go ahead.
Troubleshooting#
| Problem | What to check |
|---|---|
| The automation never runs | Check it’s Active and that “Call outcome” has no flagged values that can never match. Look at the Delivery health funnel: if Matched is zero, loosen the conditions or use a dry run. |
| Runs fail with an authentication error | The CRM token was revoked or lost permissions. Rotate it on Integrations, then replay the failed runs. |
| Contacts are created without a name or email | Add post-call analysis fields named exactly name and email, or map your own fields on the Field mapping tab. |
| “Selected connection belongs to a different client” | Use the connection from the automation’s own client workspace. |
| “Unsupported automation action” | HubSpot doesn’t support Add tags or Trigger a workflow. Remove the action, or use a GoHighLevel connection. |
| No New automation button | Your plan or the client’s Use integrations access doesn’t include integrations, or you’re signed in as a client member. |
| Another client’s calls show up in a CRM | The automation was created in agency-wide context. Recreate it inside the right client and delete the agency-wide one. |