Intercom logo

Turn demo requests into Intercom contacts

Every demo request becomes an Intercom contact with company, role and a source attribute, ready for follow-up.

When this happens

New submission on your "Request a demo" form

Do this

Create or Update Contact in Intercom with the prospect's name, email, company, and a custom "source" attribute

One-directional. A submission triggers the action — nothing is written back into your form.

A demo request is worth answering the same day, and that is hard if the details sit in a spreadsheet nobody has open. This recipe writes each prospect into Intercom as a contact the moment the form is submitted, with their company and job title already filled in.

Sales teams running outbound from Intercom reach for it first. The custom source attribute tells you the contact came from the demo form rather than from a chat widget, so segments and outbound series can treat the two differently.

Setting it up

  1. 1

    Publish your "Request a demo" form and send one real submission through it so Zapier has a sample to build against.

  2. 2

    In Zapier, set formformform's "New Submission" as the trigger and pick the demo request form from the form list.

  3. 3

    Add Intercom's "Create or Update Contact" action, so a second request from the same prospect updates the existing record instead of making a duplicate.

  4. 4

    Map Work Email to Intercom's email field. Intercom matches on email, so this is the field that decides whether a contact is created or updated.

  5. 5

    Join First Name and Last Name into Intercom's name field, and send Company and Job Title to the matching contact attributes.

  6. 6

    In Intercom, create a custom contact attribute called source if you do not have one, then set it to a fixed value such as demo-form inside the Zap.

  7. 7

    Send "What problem are you trying to solve?" into a custom text attribute so the answer is visible the moment an agent opens the contact.

  8. 8

    Run the Zap with your test submission, check the contact in Intercom, then switch it on.

What maps where

Using the Demo Request Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.

Form fieldIntercom
Work EmailIntercom contact email — the field Intercom matches on
First NameFirst half of the Intercom contact name
Last NameSecond half of the Intercom contact name
CompanyCompany name on the Intercom contact
Job TitleCustom contact attribute job_title
What problem are you trying to solve?Custom contact attribute stated_problem

Variations worth knowing

Only create contacts above a company size

Add a Zapier filter after the trigger so the Intercom step runs only when Company Size clears your threshold. Smaller requests still sit in your responses list in formformform, but they do not fill the Intercom contact list.

Split the source by referral channel

Instead of a fixed value, map "How did you hear about us?" into the source attribute. Contacts then carry the channel they named, which makes a segment per channel possible without any extra tagging.

If something isn't arriving

A second contact appears for someone who already exists

Intercom matches on email. A prospect who used a personal address once and a work address the next time ends up with two records. Map Work Email consistently, make it required on the form, and merge the duplicates in Intercom.

Company and job title arrive blank on the contact

Custom attributes have to exist in Intercom before a Zap can write to them. Create them in your Intercom settings, refresh the fields in the Zapier action step so it reloads the attribute list, then map them again.

Frequently asked questions

Does this update the form when the contact already exists in Intercom?

No. The connection runs one way: a submission triggers an action in Intercom and nothing comes back. The form never sees the contact record, so it cannot pre-fill answers or skip questions based on what Intercom already knows about the person.

How quickly does the contact appear after someone submits?

The "New Submission" trigger fires as soon as the form is submitted, and Zapier runs the Intercom step next. Delivery time after that depends on your Zapier plan rather than on the form. Check the Zap history in Zapier if a contact seems slow to arrive.

Can I keep an obviously fake demo request out of Intercom?

Add a Zapier filter step between the trigger and the Intercom action. Filter on the email domain, or on a required answer being present. Submissions that fail the filter stay in your formformform responses list and never reach Intercom.

Related automations

Build the form first

The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.

Start free