Trigger: Contact Created
Automate welcome actions and tagging every time a new contact is created.
What it is
Fires whenever a new contact is created in Omnifox — manually, via API, bulk import, an inbound message, or the webchat widget.
When to use it
- Automatic welcome sequences for new leads.
- Tag contacts and then check the real source from the contact record.
- Sync the new contact to an external CRM via outbound webhook.
Requirements
- At least one channel or form that generates contacts.
- Workflows enabled.
Available variables
$contact.id,first_name,last_name,display_name,email,phone,company,job_title,city,country,tags$contact.source— ⚠️ today it can only beuser,system,api, orcustomer_reply; it never takes the valuesmanual,import,whatsapp_incoming, orwebchat_signup/contact_mergeeven though the filter offers them as options. In practice, a contact created from an inbound WhatsApp message typically arrives assystem(notwhatsapp_incoming). The real, detailed source of the contact (WhatsApp, import, API, etc.) is stored on the contact record, but it doesn't flow through this variable.$contact.source_channel_id— the channel that created it$contact.created_at
Configuration (filters)
- Source: the picker shows manual, API, bulk import, WhatsApp inbound message, webchat widget, contact merge — but since
$contact.sourcecan only ever beuser/system/api/customer_reply, picking any of those other options means the filter will never match and the workflow won't fire. - Source channel type.
How to set it up
- Open Workflows → create a new workflow.
- Open the "Contacts" category in the trigger palette.
- Drag "Contact created" onto the canvas.
- If you use the Source filter, only pick
user,system,api, orcustomer_reply(the other values in the picker don't match anything today). - Connect actions: add a tag, send a welcome message, create a task.
- Save and activate the workflow.
Example
Someone messages your WhatsApp for the first time. The contact is created automatically (in practice $contact.source arrives as system, not whatsapp_incoming), and the workflow tags it "New lead" and replies with a welcome template using $contact.first_name, without filtering by Source.
Tips
Don't use the Source filter to distinguish "WhatsApp" from "bulk import" — that's not how it works today. If you need to separate those cases, filter on another available signal (e.g. source channel) or wait until this variable is fixed.
Troubleshooting
- If the workflow never fires with a Source filter other than
user/system/api/customer_reply: that's a known issue, those values are never produced today. - If the workflow doesn't run on bulk import, try removing the Source filter — the "import" value never gets generated.
Related articles
-
Build your first workflow
Omnifox workflows automate your operation: a trigger starts the automation and action nodes do the work. Build a welcome message in minutes.
-
Workflow triggers catalog
Learn which events can start a workflow automatically in Omnifox.
-
Action nodes available in workflows
Discover the actions a workflow can run automatically.
-
Conditions and branching (if/then) in a workflow
Make your flows take decisions and follow different paths based on each contact data.
-
Ready-to-use workflow templates
Start your automations in minutes from prebuilt flows you can customize.