The moment it happens
Get call summaries in HubSpot and on WhatsApp
After every sales call, a short summary with next steps is saved on the HubSpot contact and sent to the rep on WhatsApp.
- Runs
- The moment it happens
- Apps
- HubSpot, WhatsApp Business
- AI
- Yes, uses the built-in AI allowance
- Access
- crm.objects.contacts.read/write, notes write; whatsapp_business_messaging
Send this to your assistant
Create a ClickRuntime automation: when my call recorder sends a transcript, summarise it with next steps, add it as a note on the HubSpot contact, and WhatsApp the summary to the rep who took the call.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A field sales team spends most of the day on the phone or in the car. After each call the rep is meant to write up what was said in HubSpot, but between back-to-back calls it rarely happens, and when it does it's three words long. A week later nobody remembers that the customer asked for a revised quote or mentioned a competitor.
Your call recorder already produces a transcript. This automation turns it into a short summary with next steps, files it on the right HubSpot contact, and sends it to the rep on WhatsApp so they can check it between calls without opening a laptop.
What you get out of it
Every call is written up
The note is created whether or not the rep has time, so the contact's history in HubSpot is complete for anyone who picks up the account.
Next steps are clear
The summary ends with up to three actions, so promises made on the call, like sending pricing or booking a demo, don't get lost.
Reps see it on their phone
The summary arrives on WhatsApp moments after the call ends, ready to check or forward while it's still fresh.
Managers can coach from real calls
Short summaries on every contact make it easy to see how calls are going without listening to recordings.
How it works
What happens, step by step
Your call tool sends the transcript to the automation's link as soon as the call ends.
AI reads the transcript and writes a three-point summary with the next steps.
The summary is saved as a note on the matching contact in HubSpot.
The rep who took the call gets the same summary on WhatsApp.
Before it runs live
- Connect HubSpot
- Connect WhatsApp Business
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other HubSpot and WhatsApp Business steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from clickruntime import on_event, credentials, http, ai
API = "https://api.hubapi.com/crm/v3/objects"
PHONE_NUMBER_ID = "123456789012345"
WA = f"https://graph.facebook.com/v21.0/{PHONE_NUMBER_ID}/messages"
REPS = {"sam.carter@northwind.example": "447700900123"} # rep email -> WhatsApp number
@on_event
def handle(event):
call = event.json or {}
headers = {"Authorization": f"Bearer {credentials.connection('hubspot', 'work')}"}
found = http.post(f"{API}/contacts/search", headers=headers, json={"filterGroups": [{"filters": [
{"propertyName": "email", "operator": "EQ", "value": call["contact_email"]}]}]}).json()["results"]
summary = ai.generate(call["transcript"][:12000], max_output_tokens=300,
system="Summarise this sales call in 3 short bullets, then 'Next steps:' with up to 3 actions.").text
if found:
http.post(f"{API}/notes", headers=headers, json={
"properties": {"hs_note_body": summary, "hs_timestamp": datetime.now(timezone.utc).isoformat()},
"associations": [{"to": {"id": found[0]["id"]}, "types": [
{"associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 202}]}]}).raise_for_status()
rep = REPS.get(call.get("rep_email"))
if rep:
flat = " ".join(summary.split())[:900] # template values can't contain line breaks
http.post(WA, headers={"Authorization": f"Bearer {credentials.secret('WHATSAPP_TOKEN')}"}, json={
"messaging_product": "whatsapp", "to": rep, "type": "template", "template": {
"name": "call_summary", "language": {"code": "en"}, "components": [{"type": "body", "parameters": [
{"type": "text", "text": call["contact_email"]}, {"type": "text", "text": flat}]}]}}).raise_for_status()
return {"noted": bool(found), "sent_to_rep": bool(rep)}FAQ
Common questions
Which call tools does it work with?
What if the contact isn't in HubSpot?
Why does the WhatsApp message use a template?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Qualify WhatsApp enquiries into HubSpot
People who message your WhatsApp number are asked the right questions, saved in HubSpot with a score, and hot leads are posted to #sales.
See how it worksLog invoice photos from WhatsApp on HubSpot deals
When a customer sends a photo of an invoice or receipt on WhatsApp, its number, amount and date are recorded on their HubSpot deal and they get a confirmation.
See how it worksWelcome hot leads on WhatsApp the moment they sign up
New leads from your form are scored and saved in HubSpot, and the hot ones get a WhatsApp welcome straight away with a heads-up in #sales.
See how it worksKeep exploring
Set up “Get call summaries in HubSpot and on WhatsApp” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.