How CRM sync works
Zidi writes to your CRM at three separate moments: when you launch a campaign, when a campaign recipient watches, and when someone watches a tracked share link. This page explains what each one writes and when.
Available on: Pro
At a glance
| Moment | What is written | Creates contacts? |
|---|---|---|
| Campaign launch | Contact plus a note with the personal link | Yes |
| Campaign engagement | At most an opened note and a completed note | No (Copper exception) |
| Tracked share views | One note per view, updated at 50, 80 and 100% | ActiveCampaign and Copper only |
Every write goes one way, from Zidi into the CRM. Zidi reads your CRM only to find records and to check the fields and activity types it writes to. It finds people by email, Salesforce Accounts by company name, and, for Copper audience import, People by tag or contact type.
Before anything syncs
- You connect a CRM on the Integrations page. Connecting needs the Pro plan.
- Each connection belongs to one Zidi user. Campaigns use the campaign owner's connections. Tracked-share notes use the connections of the person who sent the tracked link, or of the video owner when a signed-in viewer watches without one.
- If you connect several CRMs, Zidi writes to all of them.
- Zidi matches people by email address. Only people Zidi can name reach your CRM: campaign recipients, people on a tracked link, and viewers signed in to Zidi. Anonymous viewers are counted in Zidi analytics only.
- Your own views of your own video are never sent.
1. Campaign launch
When you click Launch on a campaign, Zidi pushes every recipient to every connected CRM. It runs in the background, 50 recipients at a time.
On the campaign page, the CRM button shows progress:
- Re-sync to CRM on a launched campaign that has not been pushed yet, for example one launched before you connected a CRM.
- Syncing... x/y while it runs.
- Synced to CRM when it finishes. Click it again to push again.
- Sync Failed - Retry if the push could not run. Click it to try again.
Synced to CRM means the push ran. Check Recent Sync Activity for recipients that failed. On every push, recipients already pushed successfully to that CRM are skipped. This also applies after you disconnect and connect again, even to a different account in the same CRM.
The button appears on launched campaigns when you are on Pro and have a CRM connected. See Personalized campaigns for how to build and launch one.
What each CRM receives at launch
Zidi looks for the recipient by email. If it finds nobody, it creates a record. Values come from your recipient list.
| CRM | Record and fields | Launch entry |
|---|---|---|
| HubSpot | Contact: names, company, Zidi Personalized URL | Note |
| Salesforce | Contact: names; company as Department or Account | Completed Task |
| Zoho CRM | Contact: names (company is sent too) | Note |
| Freshsales | Contact: names and company | Note |
| Monday.com | Item on your board: name and email | Item update |
| Close | New lead with a contact; existing leads unchanged | Note |
| ActiveCampaign | Contact: names and phone | Note and tag "Zidi Campaign" |
| Copper | New Person: name and email | Activity |
Where the table lists names or company, Zidi also writes them to a contact that already exists (HubSpot, Salesforce, Zoho CRM, Freshsales, ActiveCampaign). It overwrites the CRM value when your list has one. Monday.com, Close and Copper do not change names or company on existing records.
In most CRMs the launch entry reads like this (Monday.com uses a shorter version with only the campaign name and link):
Zidi Campaign: Q3 Outreach
Personalized video link for Ana Silva:
https://app.zidi.ai/c/…
Company: AcmeDetails for each CRM, such as how Close names new leads, are on that CRM's page.
2. Campaign engagement
When a recipient opens their personal campaign link, Zidi updates your CRM. It writes at most two notes per recipient in each CRM. If the video has a password, this starts once the recipient enters it.
When it runs
While a recipient watches, their page reports activity every 30 seconds. Zidi waits until that activity has been quiet for about 60 seconds, then writes. In practice the CRM updates about a minute after the viewer pauses, finishes or leaves the page.
Zidi reads the recipient's totals at that moment: whether they opened the page, the highest percentage watched, and whether they clicked the call to action.
Campaign tracking ends 90 days after launch. After that, nothing more is synced for that campaign.
The two notes
| Note | Written when, at sync time |
|---|---|
| Opened | Page opened, nothing played, no CTA click |
| Completed | 95% or more watched, or CTA clicked |
The opened note says "Opened the personalized video page". A recipient who starts the video before the sync runs never gets an opened note.
The completed note lists what the recipient reached. For example:
Zidi Video Engagement — Q3 Outreach
Milestones: Opened → 25% → 50% → 80% → Completed → CTA Clicked
Watch Percent: 100%
CTA Clicked: Yes
Last Viewed: …There is no separate note at 50% or 80%. Those milestones only appear inside the completed note. A recipient who stops between 1% and 94% without clicking the call to action gets no note.
Example
- At 10:00 Ana opens her link and reads the page without pressing play. She leaves at 10:01.
- At about 10:02 Zidi syncs. She opened but watched nothing, so the opened note is written.
- At 15:00 she returns, watches to 60% and leaves. The next sync writes nothing new.
- Next day she watches to the end. About a minute after she stops, the completed note is written.
Where it lands in each CRM
| CRM | Opened / completed entry |
|---|---|
| HubSpot | Note, plus four properties on every sync |
| Salesforce | Task "Zidi: Video Page Opened" / "Zidi: Video Engagement" |
| Zoho CRM | Note with those titles plus the campaign name |
| Freshsales | Note |
| Monday.com | Item update |
| Close | Note |
| ActiveCampaign | Note, plus tag "Watched Video" / "High Engagement" |
| Copper | Activity |
In Salesforce, a Task with the same subject on the same day is updated instead of duplicated. In ActiveCampaign, "Watched Video" is added with the opened note and "High Engagement" with the completed note.
No new contacts
Engagement sync never creates a record. If nobody in the CRM has the recipient's email, nothing is written. The launch push normally creates the record first. The one exception is Copper with activities & automations turned on.
3. Tracked share views
This covers normal video links, not campaigns. It applies when Zidi knows the viewer's email:
- the viewer opened a tracked link you made in the Share with tracking tab, or
- the viewer was signed in to Zidi.
Zidi writes when the viewer passes 50%, 80% and 100% of the video. Nothing is written when they only open the page, and call-to-action clicks are not sent on this path.
Each view gets one note. Zidi creates it at the first milestone and edits it at the later ones. A full watch leaves one note that ends at 100%. The note reads:
Watched "Product tour" — 82% viewed (3m 5s)A visit more than 24 hours after the viewer's first visit counts as a new view, so it gets a new note.
| CRM | Tracked-share entry |
|---|---|
| Salesforce | Task "Video Watched: title (82%)", High priority at 80% |
| ActiveCampaign | Note, plus tag "High Engagement" at 80%, else "Watched Video" |
| Copper, automations on | One activity per milestone |
| All others | The note above |
With Copper automations on, a progress report that passes several milestones at once logs an activity for the lowest milestone only.
Only ActiveCampaign and Copper create a record for a viewer they do not know. HubSpot, Salesforce, Zoho CRM, Freshsales, Monday.com and Close skip viewers who are not already in the CRM.
See Tracked links for how to create one.
When the plan is checked
Pro is checked at connect time and again at different points on each path:
| Path | Plan check |
|---|---|
| Connect | Pro required |
| Campaign launch and Re-sync | Pro required, checked again when it runs |
| Tracked share notes | Pro checked before each note |
| Campaign engagement | Pro checked before each update |
If you leave Pro, your connections stay. Launch pushes stop and the CRM button on campaigns is hidden. Tracked-share notes and campaign engagement updates are skipped, and they are not sent later. If you click the CRM button on a page you opened before the change, you see "CRM push requires a Pro plan".
When you are on Pro again, syncing resumes without reconnecting. The next time a campaign recipient opens or watches their link, Zidi updates your CRM with where they are now.
HubSpot properties catch up. With Copper activities & automations on, each milestone they reached is added. Other notes follow the rules above: a completed note if they finished the video or clicked your button.
Differences between CRMs
HubSpot: five real contact properties
HubSpot is the only CRM where Zidi keeps fields up to date by default. Zidi creates these contact properties the first time it pushes, and fills them:
| Property (label) | Written |
|---|---|
| Zidi Personalized URL | At launch push |
| Zidi Video Opened | Every engagement sync |
| Zidi Watch Percent | Every engagement sync |
| Zidi CTA Clicked | Every engagement sync |
| Zidi Last Viewed At | Every engagement sync |
These update even mid-watch, so you can build HubSpot workflows on them. See HubSpot.
Copper: activities & automations
With Activities & automations turned on, Copper works differently from every other CRM:
- Each milestone becomes its own activity: opened, 50%, 80%, completed and CTA clicked.
- Zidi tags the Person and keeps six Zidi fields up to date.
- Engagement sync creates the Person if Copper does not have one.
This is the only place 50% and 80% appear as separate campaign entries. See Copper.
Salesforce and Zoho CRM: empty Zidi fields
Zidi creates five custom fields whose names start with Zidi_ on Salesforce and Zoho CRM contacts. Zidi does not write values into them. All engagement arrives as Tasks (Salesforce) or Notes (Zoho CRM). Do not build reports, flows or workflow rules on these fields.
Freshsales, Monday.com, Close and ActiveCampaign
These CRMs get no Zidi fields. Engagement arrives as notes, item updates or tags only.
The Integrations page lists five items under "Data synced to your CRM": Personalized URL, Video Opened, Watch Percent, CTA Clicked and Last Viewed At. They are stored as fields you can filter on only in HubSpot, and in Copper with activities & automations on. In the other CRMs the same facts appear inside note text.
What Zidi never syncs
- Salesforce or Zoho CRM Leads. Zidi uses Contacts only.
- Deals, opportunities or pipelines, in any CRM.
- Transcripts or summaries.
- Anonymous viewers.
- Anything from your CRM back into Zidi analytics.
- Your own field mapping. Zidi has no field-mapping settings.
Check what synced
On the Integrations page, the Recent Sync Activity table lists the last 20 CRM writes with their status. See Recent Sync Activity for what each column means.
An engagement sync that finds no matching record is listed as success, even though nothing was written. If a recipient is missing from your CRM, check that their email matches. Zidi does not retry that note later, even after you fix the email in the CRM.
Connection health
For HubSpot, Salesforce, Zoho CRM and Close, Zidi renews its access automatically. You do not need to reconnect on a schedule. Copper and the API-key CRMs do not expire.
If one of those four CRMs withdraws Zidi's access, the card quietly returns to Available and syncing stops. Zidi does not email you. Connect again from the card to resume.
Related