🗣️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

  1. Connect your HubSpot account

  2. Fetch a list of contacts from HubSpot

  3. Trigger calls using your AI voice agent

  4. Capture call data (recording, transcript, status)

  5. 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:

  1. Click your profile avatar in the bottom-left corner of Dapta.

  2. Select Credentials from the dropdown.

  3. Click the button next to HubSpot.

  4. In the modal:

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

  1. 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 GET method so the flow activates when a GET request is sent to the provided Webhook URL.

    🔗 Learn more about Trigger types

  2. 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.

  1. 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.

  2. Connect It Link the Get List node to the Loop List node 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 the item variable 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:

    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: POST

    • Accept parameters like: event, call, and data

  • Add your logic to update your CRM using values from:

    • call_analysis.call_summary

    • call_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 to trigger.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 Logging

    1. Open the Flow

      • Go to your webhook-triggered flow that receives post-call data.

    2. 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.

    3. Trigger the Logging Flow

      • Hit “Run Flow”

    4. 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