Turn Typeform leads into HubSpot contacts with a Postmark follow-up

By General Input

Every new form response becomes a HubSpot contact or note, plus a personalized Postmark email that references their actual answers.

Integrations

  • Typeform
  • HubSpot
  • Postmark

Type

Agentic Task

Categories

  • Sales
  • Marketing

Build me an agent workflow that runs every time someone submits one of our Typeform lead forms (lead magnet, demo request, waitlist). The trigger is an incoming Typeform webhook on the form_response event for the form(s) I'll select.

For each submission, the agent should do the following:

1. Parse the Typeform response. Pull out the email, first name (or full name), the form name/slug they completed, and the highest-signal answers (team size, role, pain point, budget, "interested in demo?" flag, or anything similar that appeared on the form). Normalize the email (lowercase, trim). If the email field is empty, malformed, or clearly fake, stop the workflow with no side effects.

2. Look up the contact in HubSpot by email using Get Contact with idProperty=email so it does a proper upsert lookup.

3. If no contact exists, call HubSpot Create Contact with email, first name, last name, and any other captured properties (company, phone, etc.).

4. If the contact already exists, do not overwrite their existing properties. Instead, call HubSpot Create Note associated with that contact. The note body should summarize which form they filled in, when, and the highest-signal answers in a short bulleted list.

5. Compose a short personalized follow-up email. Tone: transactional, warm, concise (3 to 5 short sentences). Reference one or two specific answers (their stated team size, their pain point, the form they filled). Do not include any raw HTML. Make sure every value we interpolate into the Postmark template is plain text and HTML-escaped before it goes into the model.

6. Send the email via Postmark Send Email with Template using the template alias lead_followup. Pass these template model variables: first_name, form_name, answer_summary (the bulleted list), and personalized_intro (the AI-written sentence that references their specific answers). From: a verified Postmark sender we control. To: the lead's normalized email.

7. If the response indicates a high-intent lead (any of: explicitly requested a demo, team size greater than 50, or budget greater than the threshold I'll configure), also call HubSpot Create Task. Assign it to the AE on duty (I'll specify which HubSpot owner), put the lead's email in the subject, summarize the form and the high-intent signals in the body, and set the due date to 24 hours from now.

Make it idempotent on repeated webhook deliveries: before doing any writes, check whether we've already created a note or task tied to this exact Typeform response token, and if so, skip. Log every run with the response token, the matched/created HubSpot contact id, and which steps actually executed so I can audit a single submission end to end.

Related prompts

Explore more prompts
Turn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe revealsWhich companies your LinkedIn ads reach, matched to your CRMLead response desk with a running clock on every new leadApprove Lusha enrichment field by field before HubSpot saves it