V
VICIdial
Open Source Dialer (Self-Hosted)
HubSpot logo
HubSpot
CRM · Deals · Workflows

HubSpot + VICIdial Integration

Connect VICIdial to HubSpot — 2 trigger events, 9 CRM actions, full field mapping and real-time sync. Custom-built, production-grade. Live in 5–10 business days.

2 Triggers
9 Actions
HTTP Basic Auth + API user config
API / Webhook
30-day support
VICIdial is open-source and self-hosted with no Zapier integration. Use n8n or Make.com as middleware to receive VICIdial AGI POST data and relay to CRM APIs.
Automation Builder — Real Triggers & Actions
Click any event to select
VICIdial Triggers
AGI
Call End (AGI script)
Custom AGI script fires on call end
api
WH
Webhook POST on disposition
POST to external URL when disposition set
api
HubSpot Actions
A01
Create Contact
Creates a Contact in HubSpot
action
A02
Update Contact
Updates an existing contact
action
A03
Create or Update Contact
Upsert: creates or updates matching contact
action
A07
Create Deal
Creates a new deal
action
A08
Update Deal
Updates existing deal
action
A09
Create or Update Deal
Upsert deal
action
A10
Add Contact to List
Adds contact to a specific static list
action
A12
Create Engagement
Creates engagement (note, call, email) for contact
action
A13
Create Task
Creates a calendar task (paid plans)
action
Field Mapping
Dialer CRM
contact_phone
Contact.Phone / Lead.Phone
contact_name
Contact.Name / Lead.Name
contact_email
Contact.Email / Lead.Email
call_direction
Activity.Type (Inbound/Outbound)
call_duration
Activity.Duration
disposition
Contact.Lead_Status / Deal.Stage
notes
Activity.Notes / Call.Description
recording_url
Activity.Recording / Custom Field
agent_name
Activity.Owner / Task.Assigned_To
timestamp
Activity.Date / Call.Date
voicemail_url
Activity.Voicemail / Custom Field
campaign_name
Lead.Source / Contact.Campaign
ai_summary
Activity.Notes / Custom Field
VICIdial Triggers
AGI
api
Call End (AGI script)
Custom AGI script fires on call end
WH
api
Webhook POST on disposition
POST to external URL when disposition set
HubSpot Triggers
T03
polling
New Contact
New contact available
T04
polling
Contact Recently Updated
Contact created or updated
T05
instant
New Contact in List
Contact added to a specific static list
T06
instant
Contact Property Change
Specified property updated on a contact
T07
polling
New Deal
New deal created
T09
instant
Deal Stage Change
Deal enters a specified pipeline stage
T19
polling
New Engagement
New engagement (call, email, note) created
T21
instant
New Form Submission
Form submitted in HubSpot
VICIdial Actions
A01
action=add_lead
Add lead to campaign list via HTTP GET
A02
action=update_lead
Update lead data
A03
action=search_lead
Search for lead by phone/email
A05
action=set_disposition
Set call disposition after call
HubSpot Actions
A01
Create Contact
Creates a Contact in HubSpot
A02
Update Contact
Updates an existing contact
A03
Create or Update Contact
Upsert: creates or updates matching contact
A07
Create Deal
Creates a new deal
A08
Update Deal
Updates existing deal
A09
Create or Update Deal
Upsert deal
A10
Add Contact to List
Adds contact to a specific static list
A12
Create Engagement
Creates engagement (note, call, email) for contact
A13
Create Task
Creates a calendar task (paid plans)
VICIdial API
GET
?action=add_lead&lead_id=...
Add lead to campaign
GET
?action=update_lead&lead_id=...
Update lead data
GET
?action=search_lead&phone=...
Search lead by phone
GET
?action=agent_status
Get/set agent status
HubSpot API
POST
/crm/v3/objects/contacts
Create contact
PATCH
/crm/v3/objects/contacts/{id}
Update contact
POST
/crm/v3/objects/deals
Create deal
PATCH
/crm/v3/objects/deals/{id}
Update deal stage
POST
/crm/v3/objects/engagements
Log call/note/email
GET
/crm/v3/objects/contacts/search
Search contacts

When an agent sets a call disposition in VICIdial, the automation maps it to the correct HubSpot action:

Disposition CRM Stage / Action Stage
Interested Move deal stage → Qualified SQL / Qualified
Booked / Meeting Set Create calendar event + stage update Meeting Scheduled
Not Interested Update contact status → Disqualified Disqualified
No Answer Re-queue + follow-up task or SMS Attempted (retry)
Voicemail Left Set contact status → Attempted Attempted
Callback Requested Create CRM task → Schedule Callback Callback Scheduled
Wrong Number Flag phone field as invalid Invalid
DNC Requested Set opt-out flag + suppress contact Opted Out
Busy Re-queue with delay timer Re-queue

All fields passed on every VICIdial call event — mapped to HubSpot fields. Highlighted fields are critical for automation:

lead_id
vendor_lead_code
list_id
status
phone_number
first_name
last_name
email
call_notes
agent_user
campaign_id
call_length
recording_filename