Skip to content

The moment it happens

Log call summaries in HubSpot with a follow-up task

After a call, the contact gets a short summary as a note and a follow-up task is waiting for you.

Runs
The moment it happens
Apps
HubSpot
AI
Yes, uses the built-in AI allowance
Access
crm.objects.contacts.read, crm.objects.contacts.write

Send this to your assistant

Create a ClickRuntime automation: give me a link I can send call transcripts to. Summarise each call, save the summary as a note on the HubSpot contact with that email, and create a follow-up task due in 2 days.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Sales reps finish a forty-minute discovery call or a long email thread with a prospect and then face the worst part of the job: writing it up in HubSpot. Most skip it or leave a one-line note. A month later the account executive who inherits the deal has no record of the budget concern, the competitor mentioned, or the promise to send pricing by Friday, and the contact record reads as if nothing happened.

When a call or email is logged, the matching contact is found by email address, and the built-in AI writes a short summary, a sentiment reading and a recommended next step. A note carrying that summary and a follow-up task are created and associated with the contact, so the next action is in the rep's task queue.

It helps most on teams where deals are handed between reps, or where managers review pipeline without listening to calls.

What you get out of it

  • Every conversation leaves a usable record

    A summary on the contact means nobody has to guess what was agreed. Whoever opens the record next, a teammate, a manager or the same rep three weeks later, sees the context in seconds.

  • Follow-ups stop being forgotten

    A task is created with the next step already written, so the promise to send pricing by Friday becomes a visible item in the rep's queue instead of a thought that fades by the time the next call begins.

  • Reps spend time selling, not typing

    Writing a good call summary takes ten minutes that most reps skip. The draft arrives within moments, and the rep only needs to correct it, which makes complete records realistic.

  • Managers see pipeline reality

    Sentiment and next step notes let a sales manager scan accounts and spot at-risk deals without sitting in on calls, which makes coaching and forecasting more grounded. That is a reliable way to keep a long-running relationship consistent across several people.

  • Handovers lose less information

    When an account moves to a new owner, the history is already attached to the contact. Customers are spared repeating themselves, which they notice and appreciate. That kind of continuity is what separates a smooth account transition from one where a customer feels forgotten.

How it works

What happens, step by step

  1. When you send a call transcript or email to ClickRuntime, the automation finds the matching contact in HubSpot by email.

  2. AI reads the conversation and writes a short summary, the overall sentiment and the next step.

  3. The summary is saved as a note on the contact.

  4. A follow-up task for the next step, such as "send security docs", is created on the contact with a due date.

Before it runs live

  • Connect HubSpot
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Log call summaries in HubSpot with a follow-up taskjust nowSucceeded
HubSpot · Note + task• Northwind wants SSO before rollout • Budget approved for Q1 Sentiment: positive · Next step: send security docs (task due Thu)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
ai_call_or_email_summary_logged_to_the_contact_with_a_follow_up_task.pyexample
from datetime import datetime, timedelta, timezone
from clickruntime import on_event, credentials, http, ai

API = "https://api.hubapi.com/crm/v3/objects"

def link(contact_id, type_id):
    return [{"to": {"id": contact_id}, "types": [{"associationCategory": "HUBSPOT_DEFINED", "associationTypeId": type_id}]}]

@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["email"]}]}]}).json()["results"]
    if not found:
        return {"logged": False, "reason": "no contact"}
    cid, now = found[0]["id"], datetime.now(timezone.utc)
    summary = ai.generate(call["transcript"][:12000], max_output_tokens=300,
                          system="Summarise this sales call in 4 bullets, then a line 'Sentiment:' and a line 'Next step:'.").text
    http.post(f"{API}/notes", headers=headers, json={"properties": {
        "hs_note_body": summary, "hs_timestamp": now.isoformat()}, "associations": link(cid, 202)}).raise_for_status()
    http.post(f"{API}/tasks", headers=headers, json={"properties": {
        "hs_task_subject": f"Follow up with {call['email']}", "hs_task_body": summary,
        "hs_timestamp": (now + timedelta(days=2)).isoformat(), "hs_task_status": "NOT_STARTED"},
        "associations": link(cid, 204)}).raise_for_status()
    return {"logged": True, "contact": cid}

FAQ

Common questions

Does it need an OpenAI or Anthropic key?
No. The summary is written by ClickRuntime's built-in AI, so there is nothing extra to sign up for or pay separately. Only your HubSpot connection is needed, and its token is stored as a secret.
What if the email address does not match a contact?
The contact is looked up by email address. If none is found, nothing is attached, and you can ask for a version that creates the contact first or reports unmatched emails so no conversation goes unrecorded.
Is the summary always right?
It is a draft written from the text it receives, so it can miss nuance or misread sarcasm. Reps should skim it, and the note and task can be edited in HubSpot like any others, so a quick correction is easy.
What permissions does it need?
crm.objects.contacts.read, crm.objects.contacts.write. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Log call summaries in HubSpot with a follow-up task” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.