V
VICIdial
Open Source Dialer (Self-Hosted)
Freshsales
CRM · AI Scoring · Seq.
Freshsales + VICIdial Integration
Connect VICIdial to Freshsales — 2 trigger events, 2 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
Freshsales Actions
A01
Create Contact
Creates a new contact
action
A08
Create Activity
Logs an activity on a contact/deal
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
Freshsales Triggers
T06
pollingDeal Stage Changed
Deal pipeline stage updated
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
Freshsales Actions
A01
Create Contact
Creates a new contact
A08
Create Activity
Logs an activity on a contact/deal
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
Freshsales API
POST
/api/contacts
Create contact
POST
/api/deals
Create deal
When an agent sets a call disposition in VICIdial, the automation maps it to the correct Freshsales 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 Freshsales 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