The TimelinesAI WhatsApp add-on connects your WhatsApp numbers to ServiceM8. It works in two directions:
- **Inbound:** every WhatsApp message (sent or received on any connected WhatsApp number) is automatically logged in ServiceM8 as a note - on the client's open job when one exists, otherwise on the client card.
- **Outbound:** a **Send WhatsApp** action on client cards and job cards lets you send a WhatsApp message straight from ServiceM8.
Requirements:
- A TimelinesAI account with at least one connected WhatsApp number ([how to connect WhatsApp](https://timelines.ai)).
- A ServiceM8 account with permission to install add-ons.
Installation:
In ServiceM8, go to **Settings → ServiceM8 Add-ons** and activate **TimelinesAI WhatsApp**.
Open the add-on from the ServiceM8 menu (**TimelinesAI WhatsApp**) — the settings page opens.
Click **Connect ServiceM8** and approve the requested permissions.
That's it — the integration is active. New WhatsApp messages will start syncing to ServiceM8.
How inbound sync works:
When a WhatsApp message is sent or received in TimelinesAI:
The integration looks up the ServiceM8 **client (Company)** whose contact phone number matches the WhatsApp chat number. Phone numbers are matched in international format, tolerant of formatting differences.
If no client exists yet, the integration **creates a new client and contact** automatically, using the WhatsApp name and phone number.
The message is logged as a **note**:
- on the client's **most recent open job** (status *Quote* or *Work Order*) if one exists — so quotes and active work orders keep the full conversation history;
- otherwise on the **client card** itself.
Each note shows the direction (incoming/outgoing), the WhatsApp number it went through, the sender name, and the message text.
How to send a WhatsApp message from ServiceM8:
Open any **client card** or **job card**.
Click the **Send WhatsApp** action.
A compose window opens showing the recipient (resolved from the client's contact phone number). Pick the WhatsApp number to send from (if you have several connected), type your message, and hit **Send**.
The message is delivered via WhatsApp through TimelinesAI, and is logged back into ServiceM8 as a note like any other message.
On a job card, the recipient is the client attached to that job.
Disconnecting:
Open **TimelinesAI WhatsApp** from the ServiceM8 menu and click **Disconnect**. Message sync stops immediately. Reconnecting at any time resumes the sync (reconnect is also the fix if job notes stop appearing after an add-on permissions update).
FAQ
Which messages are synced?
All incoming and outgoing WhatsApp messages on every WhatsApp number connected to your TimelinesAI workspace, whenever the chat's phone number matches (or creates) a ServiceM8 client.
Does it create duplicate clients?
No, the integration searches existing clients/contacts by phone number first and only creates a new client when no match is found.
Why did a message land on the client card instead of the job?
The client had no open job (*Quote* / *Work Order*) at the time the message arrived. Completed and unsuccessful jobs are not used.
Is message history imported?
No, syncing starts from the moment you connect.
Need help? - Contact [email protected].
