---
title: "Demo requests to Intercom contacts"
description: "Turn every demo request submission into an Intercom contact, with company, job title and a source attribute filled in the moment someone submits."
url: "https://www.formformform.com/automations/intercom-demo-request-contacts"
type: static
generatedAt: "2026-08-23T18:56:58.727Z"
---
![Intercom logo](/logos/integrations/intercom.svg)

# 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](https://www.formformform.com/templates/demo-request-form) as the starting point. These are its real fields — swap in your own and the mapping works the same way.

Form field

Intercom

Work Email

Intercom contact email — the field Intercom matches on

First Name

First half of the Intercom contact name

Last Name

Second half of the Intercom contact name

Company

Company name on the Intercom contact

Job Title

Custom 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

-   [Create a contact for every new order](https://www.formformform.com/automations/intercom-new-order-contact-record)
    
    Each order form submission creates or updates the buyer's Intercom contact and records what they ordered.
    
-   [Log customer feedback as a note on the contact](https://www.formformform.com/automations/intercom-log-feedback-as-note)
    
    Feedback lands as a note on the customer's Intercom record, so the next agent to open the conversation has the context.
    
-   [Open an Intercom conversation from a support form](https://www.formformform.com/automations/intercom-support-ticket-conversation)
    
    Form-based support tickets arrive in the Intercom inbox as real conversations agents can reply to and assign.
    
-   [Record webinar signups on the contact record](https://www.formformform.com/automations/intercom-event-signup-attribute)
    
    Webinar registrations build an Intercom audience with a registered\_event attribute you can send reminders against.
    
-   [Tag contacts by what they asked for](https://www.formformform.com/automations/intercom-tag-contacts-by-interest)
    
    The option someone picks on the interest form becomes an Intercom tag, so segments and outbound series stay accurate.
    
-   [Capture feature requests as labelled tickets](https://www.formformform.com/automations/freshdesk-feature-requests-as-tickets)
    
    Product ideas from your feedback form land in Freshdesk as Feature Request tickets the team can group and revisit.
    

-   [All Intercom integration details →](https://www.formformform.com/integrations/intercom)
-   [Start from the Demo Request Form →](https://www.formformform.com/templates/demo-request-form)
-   [Browse every automation →](https://www.formformform.com/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](https://app.formformform.com/register?utm_source=landing&utm_medium=bottom&utm_campaign=automations&utm_content=intercom-demo-request-contacts)
