Create a contact for every new order
Each order form submission creates or updates the buyer's Intercom contact and records what they ordered.
New submission on your "Place an order" form
Create or Update Contact in Intercom with the buyer's email and a custom "last_order" attribute, ready for an onboarding message
One-directional. A submission triggers the action — nothing is written back into your form.
A shop that runs on an order form and a chat widget does not need a separate CRM to know who its customers are. This recipe makes Intercom the customer record: the buyer's contact is created on submission, with what they ordered stored on it.
It suits small studios and stores taking orders directly. The moment an order arrives the buyer exists in Intercom, so an onboarding message can go out from the same place your team already answers questions.
Setting it up
- 1
Create a custom contact attribute in Intercom called last_order, as a text attribute, before you build the Zap.
- 2
Publish the product order form and put one test order through it so the Zap has sample data with a real item name.
- 3
In Zapier, use formformform's "New Submission" trigger and pick the order form.
- 4
Add Intercom's "Create or Update Contact" action and map Email Address, so a returning buyer updates the same contact rather than starting a new one.
- 5
Combine Item Name or Product, Quantity and "Color, Variant, or Size" into one line and write that line into last_order.
- 6
Map Full Name and Phone Number onto the standard contact fields so an agent can reach the buyer without opening the submission.
- 7
Leave Shipping Address out of Intercom unless your team genuinely needs it there — the address stays in your formformform responses either way.
- 8
Test with the sample order, check that last_order reads sensibly on the contact, then turn the Zap on and build your onboarding message against it.
What maps where
Using the Product Order Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Intercom |
|---|---|
| Email Address | Intercom contact email — decides create versus update |
| Full Name | Name on the Intercom contact |
| Phone Number | Phone attribute on the Intercom contact |
| Item Name or Product | Custom contact attribute last_order |
| Quantity | Appended to the last_order attribute |
| Color, Variant, or Size | Appended to the last_order attribute |
Variations worth knowing
Add a second custom attribute for Delivery Method. An agent answering a chat about where an order has got to can see whether the buyer chose collection or delivery, without opening the submission to check.
Branch on Special Instructions. When that field is not empty, run an extra Intercom action that opens a conversation so somebody checks the request before the order is packed. Empty ones just update the contact and go no further.
If something isn't arriving
last_order is a single text attribute, so each new order overwrites it — which is what makes it useful for an onboarding message. If you need the history, add an "Add Note to Contact" step per order and let the notes build up on the contact.
Intercom will happily create a contact from an email address alone. Make Full Name required on the order form so the record is usable, and look through the Zap history in Zapier for runs where the name came through empty.
Frequently asked questions
Does Intercom get told when the order ships?
Not from this Zap. The connection carries the submission into Intercom once, in one direction only. Shipping updates come from wherever you manage fulfilment, and would need their own automation from that tool if you want them on the contact.
Can I use this if I already have a CRM?
Yes, and plenty of people run both. The Intercom contact is what your chat and outbound messages need; the CRM keeps the commercial record. Add a second action to the same Zap if you want the order to reach both places.
What stops a test order from reaching a real customer?
Nothing in the Zap, so use an address you control while testing and switch the Zap off before you experiment with the form. Check any onboarding message in Intercom against a test contact before you set it live too.
Related automations
- Log customer feedback as a note on the contact
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
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
Webinar registrations build an Intercom audience with a registered_event attribute you can send reminders against.
- Tag contacts by what they asked for
The option someone picks on the interest form becomes an Intercom tag, so segments and outbound series stay accurate.
- Turn demo requests into Intercom contacts
Every demo request becomes an Intercom contact with company, role and a source attribute, ready for follow-up.
- Capture feature requests as labelled tickets
Product ideas from your feedback form land in Freshdesk as Feature Request tickets the team can group and revisit.
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