Log new Zendesk tickets as notes on HubSpot contacts
Every time a Zendesk ticket opens, drop a tidy note on the matching HubSpot contact so revenue teams see the full support history without leaving the CRM.
Build a code workflow that mirrors every new Zendesk ticket as a note on the matching HubSpot contact, so revenue teams see customer support history directly in the CRM without leaving HubSpot.
Trigger: Zendesk poll trigger using the new_ticket event type. Fire once per newly created ticket.
Step 1: Call Zendesk Show Ticket with the ticket id from the trigger payload to load the full ticket including subject, description, priority, status, requester id, and ticket url. If the trigger payload already contains all of these fields, this step can be skipped.
Step 2: Read the requester's email and name from the Zendesk ticket's requester information. If the email is missing, end the run gracefully and log a skip reason. If the trigger payload does not include the requester email and name, call Zendesk Show User with the requester id to fetch them.
Step 3: Call HubSpot Get Contact with the requester's email and idProperty set to email to look up the contact. If the contact exists, capture its id.
Step 4: If Get Contact returned no match (404 or not found), call HubSpot Create Contact with the requester's email plus first name and last name parsed from the requester name. Capture the new contact id.
Step 5: Call HubSpot Create Note with an HTML body containing the ticket subject, priority, status, requester name and email, a short excerpt of the opening message (first 500 characters of the description, HTML escaped), and a clickable link back to the Zendesk ticket url. Set hs_timestamp to the ticket's created_at timestamp. Associate the note with the contact id from steps 3 or 4.
Notes for the build: this is fully deterministic, no LLM calls. The note body should be plain HTML formatted with a short header and clearly labeled fields so it reads cleanly in the HubSpot contact timeline. Touches Zendesk and HubSpot only.
Additional information
What does this prompt do?
- Watches Zendesk for any new ticket and reads the requester's email, subject, priority, status, and opening message.
- Finds the matching HubSpot contact by email, or creates a new contact if one does not already exist.
- Posts a clean, formatted note on that contact with the ticket details and a one-click link back to the original Zendesk ticket.
- Runs in the background so account managers, AEs, and CSMs see support context next to every other CRM interaction.
What do I need to use this?
- A Zendesk account with permission to read tickets and users.
- A HubSpot account where you can read and create contacts and add notes.
How can I customize it?
- Choose what shows up in the note body, like priority, tags, ticket type, or a longer excerpt of the customer's first message.
- Decide whether to skip tickets from internal email domains so the CRM only logs real customer conversations.
- Have the workflow also associate the note with the contact's company so account-level views show the same support trail.
Frequently asked questions
Do I need the official Zendesk for HubSpot integration for this to work?
What happens if the Zendesk requester is not in HubSpot yet?
Will it duplicate notes if the same customer opens many tickets?
Can I include a link back to the original Zendesk ticket?
Does this work for Zendesk tickets created through email, web form, and chat?
Give your CRM a full picture of every customer.
Connect Zendesk and HubSpot once, and Geni quietly logs every new ticket on the right contact for you.