V
VICIdial
Open Source Dialer (Self-Hosted)
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.
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
apiCall End (AGI script)
Custom AGI script fires on call end
WH
apiWebhook POST on disposition
POST to external URL when disposition set
HubSpot Triggers
T03
pollingNew Contact
New contact available
T04
pollingContact Recently Updated
Contact created or updated
T05
instantNew Contact in List
Contact added to a specific static list
T06
instantContact Property Change
Specified property updated on a contact
T07
pollingNew Deal
New deal created
T09
instantDeal Stage Change
Deal enters a specified pipeline stage
T19
pollingNew Engagement
New engagement (call, email, note) created
T21
instantNew 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