Pull: imports the same CRM batch into every campaign (up to 40 campaigns).
Push: combines contacts across campaigns; duplicates the same phone once (most recently updated wins).
1. Bulk sync (manual)
Run on demand using the options below.
2. Event push (automatic)
Push inbound/outbound SMS and AI call events (started, answered, completed, voicemail, transfer) to your CRM. One contact per trigger. Field mapping runs in addition to tags.
Source → column or custom id. Custom ids = HighLevel custom fields; Zapier also gets mappedCustomFieldIdValues.
Requires Conversations/messaging scope on your HighLevel token.
Zapier Catch Hook payloads include eventDisplayLine on each automatic event push for your Zap steps.
CRM tags (not the real SMS thread). [message] = SMS text inside your tag line.
Tag lines: defaults & empty box
Unset templates behave like [message] only. Empty saved box = no extra message tag that direction.
Inbound → CRM tags
Quick layouts
Insert tokens
Sample result in the CRM (fake SMS + fake contact)
Outbound → CRM tags
Quick layouts
Insert tokens
Sample result in the CRM (fake SMS + fake contact)
3. Event pull (webhook)
For “when something happens in HubSpot/Zapier, add rows to EZPZ Calling”: generate a secret, then POST JSON to the URL below (same secret in the body). One campaign per request.
Use path …/api/integrations/hooks/event-pull (hyphen event-pull), not underscore.
Endpoint — click the field to select, or use Copy.
New secret — copy it now; it is not shown again unless you generate another.
Example body — editable; replace values, then copy for Zapier or your CRM.