🗣️Voice Agent Use Case: Calling & Logging HubSpot Leads
In this tutorial, we’ll walk through a full workflow for integrating HubSpot with Dapta to run a voice campaign. The goal: trigger outbound calls to a HubSpot contact list, log results, and feed them
🎯 Campaign Objective
Call newly added HubSpot contacts from a specific list and deliver a quick product intro using your voice agent. Log the call details and outcomes back to HubSpot for follow-up by your sales team.
🔧 Workflow Overview
Connect your HubSpot account
Fetch a list of contacts from HubSpot
Trigger calls using your AI voice agent
Capture call data (recording, transcript, status)
Log results and update contact records in HubSpot
Let’s start with Step 1: Connecting HubSpot credentials and configuring the “Get List” node 👉 🔑 Step 1: Connect Your HubSpot Account
To get started, you'll need to authorize your HubSpot account so Dapta can pull contact data and update records.
🧭 How to Connect HubSpot:
Click your profile avatar in the bottom-left corner of Dapta.
Select Credentials from the dropdown.
Click the ➕ button next to HubSpot.

In the modal:
Name your connection (e.g., “HubSpot Main”).
Paste your HubSpot Private App Token. 🔗 Learn more about Hubspot Private App Setup
Click Save.

Once connected, you’ll be able to use HubSpot in any flow via the “Get List,” “Search Record,” and “Update Record” nodes.
✅ Step 2: Create Your Flow and Add the “Get List” Node
🆕 Start a Flow From the Flow Studio:
Click New Flow > New Flow From Scratch



Note: You can also choose from pre-built templates here (e.g., “Update Contact and Log Call in HubSpot”)
🔌 Add the “Get List” Node Once inside your flow:
Search for “Get List” in the right sidebar
Drag it onto the canvas

Connect to Trigger Link the Trigger node (already present in every new flow) to the Get List node by dragging from the bottom of the Trigger to the top of Get List. ⚡ About the Trigger Node
Every new Dapta flow begins with a Trigger node. This is what starts the flow when a condition is met.
There are two main trigger types:
Webhook (HTTP Request) – Starts the flow when an external service sends a request to this URL. Useful for syncing data from CRMs like HubSpot or responding to user actions.
Schedule – Runs the flow automatically on a schedule (e.g., daily, hourly).
For this use case, we’re using a Webhook Trigger with a
GETmethod so the flow activates when a GET request is sent to the provided Webhook URL.🔗 Learn more about Trigger types

Configure the Get List Node
Credentials: Select your authorized HubSpot account.
List: Choose the list of contacts you want to retrieve. 🔗Learn More about HubSpot Lists
Output Properties (optional): Define which fields you want to pull (e.g.,
email,company,createdate, etc.).
This sets up your flow to pull a contact list from HubSpot each time it’s triggered.
🔁 Step 3: Add the “Loop List” Node (Dapta Action)
Now that we’ve pulled your contacts from HubSpot, we need to loop through them one by one.
Search & Add Node In the Actions panel, search for
Loop List. You’ll see it labeled as a Dapta Action. Drag it onto the canvas.
Connect It Link the
Get Listnode to theLoop Listnode to start iterating through your contact list.
3. Configure the Loop
In the List of Items to Process field, enter:
{{get_list.response.results}}This tells Dapta to loop over each contact in the list. Each item will be accessible with theitemvariable in the following steps.
📞 Step 4: Add the “Dapta Phone Call” Node
Now that we’re looping through each contact, it’s time to place the calls.
Search & Add Node In the Actions panel, search for
Dapta Phone Call.
Drag it into the canvas and connect it to the Loop List node.Configure the Call Click into the node to set your call parameters:
Choose your Voice Agent
You can map the variables like
{{item.firstname}},{{item.phone}}, etc.Adjust call speed and retry logic if needed 🔗 Learn more about Voice Agent Settings
This node will dial each contact in your HubSpot list using the selected voice agent, one at a time.
📤 Step 4: Configure Post‑Call Data Retrieval
🔗 Learn Extraction Information From Your Calls
1. Go to Your Agent Settings
Open your agent in Dapta, then navigate to the Call Analysis tab.
2. Select a Call Analysis Flow
Click “Select Call Analysis Flow” and choose a Dapta flow you’ve created.
3. Optional Add Post‑Call Fields
Under Post Call Data Retrieval, click “+ Add” to define the insights you want extracted.

Example fields:
detailed_call_summary→ “Give a detailed call summary regarding the details of the call.”reason_to_buy→ “What was the main reason the contact was interested?”
These instructions guide the AI on what to extract after the call ends.

4. Build the New Receiving Flow Create a new Dapta flow to handle incoming post-call data:
Start with a Webhook Trigger
Method:
POSTAccept parameters like:
event,call, anddata
Add your logic to update your CRM using values from:
call_analysis.call_summarycall_analysis.custom_analysis_data.detailed_call_summary, etc.

✅ Final Step: Connect the HubSpot Logging Node
To push the analyzed call data into your CRM, connect the final Log Phone Call node.
Required Fields:
Call Data:
{{trigger.body.call}}⚠️ Important: This must be set totrigger.body.call. Dapta handles some CRM update mechanics in the background, so this specific structure is required for logging to work properly.Call Name:
{{trigger.body.call.call_id}}HubSpot Contact ID or Phone Number:
{{trigger.body.call.to_number}}
🧪 Test and Debug Post-Call LoggingOpen the Flow
Go to your webhook-triggered flow that receives post-call data.
Run a Previous Execution
Go to the Executions tab in your Call Analysis Flow.
Click the 👁️ icon on a successful run.
In the Request Body panel, click “Copy to input.”
View Request Body
Expand the Request Body panel to inspect exactly what data was sent.
Trigger the Logging Flow
Hit “Run Flow”
Confirm CRM Logging
Check HubSpot Contacts to verify the call was logged correctly. ✅ Once the flow runs successfully, the call will be logged inside the contact’s activity timeline in HubSpot.
Last updated