Skip to main content

Automated call summary transfer from Chorus AI to HubSpot CRM

Workflow preview

Workflow preview
100%
Automated call summary transfer from Chorus AI to HubSpot CRM preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Who’s it for: SALES teams and AGENCIES that want to automatically send call summaries to their CRM. This flow is best suited for agencies and businesses that use ZoomInfo Chorus AI to capture and a...

Best for

  • CRM automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.httprequest, n8n-nodes-base.stickynote, n8n-nodes-base.code, n8n-nodes-base.filter, n8n-nodes-base.if, n8n-nodes-base.splitinbatches, n8n-nodes-base.noop, n8n-nodes-base.scheduletrigger

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Rivers Colyer.

Original n8n.io source

1.1 Workflow description

Title
Automated call summary transfer from Chorus AI to HubSpot CRM
Workflow name
Automated call summary transfer from Chorus AI to HubSpot CRM

Who’s it for:

SALES teams and AGENCIES that want to automatically send call summaries to their CRM.

This flow is best suited for agencies and businesses that use ZoomInfo Chorus AI to capture and analyze calls, and HubSpot as their main CRM system for managing client data.

How it works / What it does:

The flow runs every hour and checks Chorus for new call summaries. If new summaries are found, they are added as notes to the corresponding HubSpot company record.

  • If the company does not exist in HubSpot, the summary will be skipped.
  • If the engagement already exists as a note in HubSpot, it will also be skipped.

In short: every hour, Chorus → HubSpot notes sync (only when unique & matched).

Workflow Overview

Here’s how the logic works, step by step:

  1. Triggers
    • Run every hour (scheduled)
    • or When clicking Execute workflow (manual testing).
  2. Fetch from Chorus.AI
    • Get Chorus Engagement per last day: requests new engagements from the last 24h.
    • Pagination is handled automatically (up to 15 requests).
    • Merge paginated engagements: combines all pages into a single list.
    • Filter items with empty meeting_summary: removes calls without summaries.
  3. Loop through engagements
    • Loop Over Engagements: processes each engagement one by one.
  4. Find matching HubSpot company
    • Search Company In HubSpot By Name: looks for an exact match with account_name.
    • If company exists: continues only if a match is found. Otherwise → Skip, if company not found.
  5. Check for existing notes
    • Search notes: searches HubSpot for a note containing the engagement_id.
    • If note not exist: continues only if no duplicate is found. Otherwise → Skip, if note already exists.
  6. Create a new HubSpot note
    • Create Note Payload: builds a formatted note body with:
      • Call date/time
      • Summary text
      • Link to call recording
      • Engagement ID
    • Create Note: inserts the note into HubSpot, associated with the matched company.
  7. Loop continues
    • After processing, the flow moves back to Loop Over Engagements until all are handled.

Requirements

  • Chorus AI account or an existing API Token.
  • HubSpot account with the ability to create applications OR an existing App Token.

How to set up:

  1. Generate a Chorus.AI API Token:

    Go to Settings → Personal Settings → API Access → Generate API Token. Save this token in a secure place.

  2. In your N8N instance, create new credentials with any name you prefer (e.g., Chorus.AI - API Token).

    • Type: Header Auth
    • Header Name: Authorization
    • Header Value: your generated Chorus API Token
    • Save the credentials.
  3. Create a HubSpot Application with the following access scopes:

    • crm.objects.contacts.write

    • crm.objects.companies.read

      Save the Access Token and Client Secret securely. The Access Token will be used in this flow.

  4. In your N8N instance, create new credentials with any name you prefer (e.g., HubSpot App Token).

    • Type: HubSpot App Token
    • App Token: paste the token from step 3
    • Save the credentials.
  5. Install this flow in your N8N instance (cloud or self-hosted).

  6. After installation, some nodes—Get Chorus Engagement per last day, Search Company In HubSpot By Name, Search notes, Create Note—will show errors. This is expected, as they need to be linked to your new credentials.

  7. Open the node Get Chorus Engagement per last day and update the credentials:

    • Authentication: Generic Credential Type
    • Generic Auth Type: Header Auth
    • Header Auth: select the Chorus credentials you created in step 2.
  8. Open the node Search Company In HubSpot By Name and update the credentials:

    • Authentication: Predefined Credential Type
    • Credential Type: HubSpot App Token
    • HubSpot App Token: select the credentials from step 4.
  9. Repeat step 8 for the node Search notes.

  10. Repeat step 8 for the node Create Note.

  11. Save your updated flow by clicking Save in the top-right corner.

  12. Run the workflow by clicking Execute Workflow to test if all credentials work correctly.

  13. Once confirmed, activate your flow by toggling the switch in the top-right corner.

That’s it! 🎉 Your flow will now run every hour, syncing new Chorus call summaries to HubSpot—only when the company names match and the engagement isn’t already logged.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Get Chorus Engagement per last day

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 2 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Merge paginated engagements

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 4 - Filter items with empty meeting_summary

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 5 - Search Company In HubSpot By Name

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 6 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - If company exists

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 8 - Search notes

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 9 - Loop Over Engagements

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 10 - If note not exist

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 11 - Skip, if company not found

Type / Role
n8n-nodes-base.noOp - noOp
Config choices
Version 1

Block 12 - Skip, if note already exists

Type / Role
n8n-nodes-base.noOp - noOp
Config choices
Version 1

Block 13 - Create Note Payload

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 14 - Create Note

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 15 - Continue

Type / Role
n8n-nodes-base.noOp - noOp
Config choices
Version 1

Block 16 - Run every hour

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 17 - When clicking ‘Execute workflow’

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 18 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Automated call summary transfer from Chorus AI to HubSpot CRM
Complexity advanced
Nodes 18
Categories CRM
Author Rivers Colyer
Published 17 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8680/8680.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automated call summary transfer from Chorus AI to HubSpot CRM do?

Who’s it for: SALES teams and AGENCIES that want to automatically send call summaries to their CRM. This flow is best suited for agencies and businesses that use ZoomInfo Chorus AI to capture and a...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your CRM use case.