Core Features

Contacts

Import, organize, and segment your contact list — the foundation of every campaign and chatbot interaction.

Contact Fields

Every contact has built-in fields plus up to 10 custom fields you define for your organization:
FieldTypeNotes
Phone NumberRequiredE.164 format (+12125551234). Primary unique identifier.
NameTextDisplay name shown in conversations and campaign logs.
EmailEmailOptional — useful for cross-channel identification.
TagsArrayComma-separated labels for segmentation and filtering.
Opted InBooleanfalse means this contact is excluded from all campaigns.
Last SeenDateTimeAuto-updated on every incoming message.
cf1 – cf10TextCustom fields you define in Contacts → Custom Fields.

Custom Fields (cf1–cf10)

Custom fields let you store business-specific data on contacts — invoice numbers, company names, plan tiers, order IDs, or anything else your templates or chatbots need.
1

Define your fields

Click Custom Fields in the Contacts toolbar. Enter a display label for each field slot you want to activate (e.g. cf1 → "Company Name", cf2 → "Invoice Number"). Leave unused slots blank. Save — the labels take effect immediately across the add/edit forms and the export.
2

Set values on contacts

Open any contact's edit dialog — defined custom field inputs appear below the standard fields. Values are saved per-contact.
3

Use in campaigns

When mapping template variables, the From Contact dropdown includes all your defined custom fields. Selecting "Company Name" stores the token {{contact.cf1}} and resolves to each recipient's value at send time.
4

Use in chatbots

Custom field values are automatically injected into chatbot session variables. Use {{cf1}} in any chatbot message, question, or condition to reference the contact's custom field value.

Tip

Also pre-populated in chatbot sessions: {{contact_name}}, {{contact_phone}}, and {{contact_email}} — no "Ask Question" node needed for these.

Adding Contacts

1

Manual add

Click Add Contact in the Contacts toolbar. Enter phone (required), name, email, tags, and any defined custom field values. Best for individual contacts or testing.
2

CSV import

Click Import CSV. Your CSV must have a phone column. Include custom fields using either the raw key (cf1, cf2, …) or the label you defined (case-insensitive).
phone,name,email,tags,Company Name,Invoice Number
+12125551234,John Smith,john@acme.com,"vip,enterprise",Acme Corp,INV-001
+447911123456,Emma Jones,emma@co.uk,"trial",Widget Ltd,INV-002
If a contact with that phone number already exists, their custom fields are updated — the contact is not duplicated. Standard fields (name, email, tags) are only set on new contacts during import.
3

Auto-created from incoming messages

When someone messages your WhatsApp number for the first time, MotherBot automatically creates a contact with their phone number and WhatsApp display name. Enrich it with custom fields later.
4

API

Use POST /api/whatsapp/contacts to create contacts programmatically, passing customFields: { cf1: "Acme", cf2: "INV-001" }.

Exporting Contacts

Click Export to download the visible contacts as a CSV. The export includes all standard fields plus one column per defined custom field (using your label as the column header). Use this file as a template for future imports.
name,phone,email,tags,opted_in,source,Company Name,Invoice Number
John Smith,+12125551234,john@acme.com,"vip,enterprise",true,import,Acme Corp,INV-001

Tags

Tags are free-form labels for quick categorization and audience targeting:
  • Add tags manually in the contact's edit dialog, or via the chatbot 'Add Tag' action.
  • Bulk-tag: select multiple contacts → Apply tag in the action bar.
  • Filter the contact list by one or more tags.
  • Use tags to define campaign audiences — only contacts with the selected tag(s) receive the campaign.
  • Remove tags via chatbot, API, or manually.

Opt-out Management

MotherBot automatically handles opt-outs to keep you compliant with Meta's policies:
  • If a contact sends STOP (or a configured opt-out keyword), their Opted In flag is set to false.
  • Opted-out contacts are excluded from all future campaigns automatically.
  • You can still receive and respond to messages from opted-out contacts — only outbound campaign sending is blocked.
  • Contacts can opt back in by messaging your number — the flag resets automatically.
  • Never manually set Opted In = true for a contact who sent STOP — this violates WhatsApp policy.

Warning

Including opted-out contacts in campaigns can get your Meta account flagged. MotherBot's audience filters always exclude them automatically.