Sync everyone who contacts Dixa support into HubSpot

Every hour, we add everyone who contacted support in Dixa to HubSpot and stamp their record with recent support activity, so sales and success stay in the loop.

Deterministic Code
DixaHubSpotSalesOperationsData Sync
PromptCreate

Every hour, keep my HubSpot CRM current with everyone who contacted our support team in Dixa. Run this as deterministic code on a cron trigger at the top of every hour.

First, use Dixa's "Search conversations with filters" operation to find every conversation that was closed or updated within the lookback window. Default the lookback window to the last 1 hour, but let me change it (for example to 2 hours or 24 hours) so I can widen the net or backfill.

For each conversation returned, call Dixa's "Get conversation" operation to read the requester's name and email address. Collect the requester across all matching conversations and deduplicate by email so each person is upserted only once per run. Skip any requester that has no email address, since email is the match key.

Then upsert those people into HubSpot using the "Batch Upsert Contacts" operation, matched on the email property so existing contacts are updated and brand-new contacts are created. Map the requester's name into HubSpot's firstname and lastname and set email. Send contacts in batches of up to 100 per call, chunking into multiple calls when more than 100 people were found.

On every upserted contact, stamp a last-contacted-support date property with the time of their most recent support conversation, and where the conversation exposes it, stamp the support channel (for example email, chat, or phone). Let me choose exactly which HubSpot contact properties receive these values, including the internal property names for the last-contacted-support date and the support channel, so the mapping matches the properties already set up in my HubSpot account.

This is a straightforward field-mapping data sync, so keep it deterministic with no summarization or judgement. If a run finds no closed or updated conversations, do nothing. Respect Dixa and HubSpot rate limits and page through all results.

Additional information

What does this prompt do?
  • Finds everyone who reached out to your support team in Dixa within the last hour.
  • Creates or updates their contact in HubSpot, matched by email so you never get duplicates.
  • Stamps each contact with the date they last contacted support and, when available, the channel they used.
  • Gives sales and success teams instant visibility into recent support activity right on the contact record.
What do I need to use this?
  • A Dixa account with admin access to connect it.
  • A HubSpot account where contacts can be created and updated.
  • Optional HubSpot contact properties for the last support date and support channel, if you want those stamped.
How can I customize it?
  • Choose how far back each run looks for support conversations (default is the last hour).
  • Pick which HubSpot properties get written, including the last-contacted-support date and support channel.
  • Adjust how often the sync runs.

Frequently asked questions

Will this create duplicate contacts in HubSpot?
No. We match people by email, so existing contacts are updated in place and only genuinely new people are added.
Do I need custom fields in HubSpot?
Only if you want to record the last support date or the support channel. You can point those at existing properties or create new ones, and you choose which properties get written.
How often does it run?
Every hour by default. You can change both the schedule and how far back each run looks.
What happens if someone contacted support but has no email on file?
We skip anyone without an email address, since email is how we match records to avoid duplicates.
Will this work on HubSpot Free?
Yes, as long as your plan lets you create and update contacts.

Stop letting support conversations disappear from your CRM.

Give sales and success automatic visibility into who just talked to support, updated every hour.