Set up in 4 steps
Do these in order. Everything after this section is reference material you can come back to.
Connect Attio
Sign in with Attio. We create the WhatsApp fields on your People records for you. You do not have to add any fields by hand.
Connect WhatsApp
Almost everyone scans a QR code with the phone they already message customers from. The next section is 30 seconds of reading that saves you picking the wrong one.
Decide which chats sync
By default every chat syncs except the numbers you exclude. If you would rather sync only a short list of numbers, switch to include mode.
Check Attio
New messages start landing on People records within seconds. If you cannot see them, you almost certainly need to sort the People list.
Which WhatsApp do I connect?
This is the one thing worth getting right, and it confuses nearly everyone, because Meta uses the words “WhatsApp Business” for two completely different products. Ignore the names and answer one question: do you just want to keep messaging customers yourself from the WhatsApp app, or do you want Attio to send marketing messages automatically?
You send the messages
Scan a QR code
You keep messaging exactly as you do now, from the WhatsApp already on your phone. We read the conversations and copy them into Attio. This is what almost every sales and customer success team wants.
Works with normal WhatsApp and with the WhatsApp Business app from the app store.
Attio sends the messages
Connect through Meta
For marketing blasts, reminders and follow-ups that go out on their own, with nobody tapping send. You still use your own number and the WhatsApp Business app. The catch is that every message has to be a template Meta reviews and approves first, and Meta charges you per message at your country's rate.
Meta calls this the WhatsApp Business Platform or Cloud API. It is not the app you download.
Not sure? Take the QR code. It is the one nearly everybody needs, you can be running in two minutes, and it does not stop you setting up the Meta connection later when you actually need to send marketing.
| Scan a QR codeYour phone's WhatsApp | Connect through MetaOfficial Business API | |
|---|---|---|
| What you connect | The WhatsApp on your phone | Your own number, through the WhatsApp Business app |
| How you connect it | Scan a QR code, once | Sign in with Meta and pick the number |
| Who taps send | You or a teammate, from the app | Nobody. Attio sends it automatically |
| Your one-to-one chats sync to Attio | Yes | Yes |
| Group chats sync to Attio | Yes, the groups you pick | No. Meta does not expose them |
| Attio workflows can send messages on their own | No | Yes |
| Marketing or bulk messages to a list | Not supported. Use the official Business connection for campaigns | Yes, using Meta-approved templates |
| Meta has to approve your wording | No | Yes, every template |
| What it costs you | Nothing extra | Meta charges per message, at your country's rate |
| How long until you are running | A couple of minutes | Longer. Meta reviews your business and your templates |
Where your chats appear
Connected, but Attio looks empty? Read this before anything else. Your chats are almost certainly already there, just not at the top of the list.
Sort People by Last WhatsApp Message At
Chats sync into the People object. Attio sorts that list its own way until you tell it otherwise, so recent WhatsApp activity can sit hundreds of rows down.
Step 1
Open the People object in Attio.
Step 2
Add a sort on Last WhatsApp Message At.
Step 3
Set it to descending. Newest chats now sit at the top.

Open any of those people and you will find the conversation itself saved as Attio notes. The list is how you find the right contact; the record is where the history lives.

Sending this to a teammate? Link them straight here with #find-your-chats.
Every setting explained
These all live on your WhatsApp Business page in the app. The names below match the ones on screen, so you can read here and click there.
Which chats sync
Number Filter Mode
Decides which phone numbers are allowed to reach Attio.
Exclude mode (the default) syncs everything except the numbers on your list, so use it to keep family, friends and internal team chats out of the CRM. Include mode flips it: nothing syncs unless the number is on your list. You can add numbers one at a time or upload a CSV, and give each one a short reason so your team knows why it is there.
Auto-include Attio people
Keeps your include list in step with your CRM.
Only available in include mode. When it is on, any number that already exists as a person in Attio starts syncing on its own, so you are not copying numbers across by hand. Numbers added this way are labelled, so you can tell them apart from the ones you added yourself.
Group Sync
Logs the group chats you choose. Off until you turn it on.
Each group you tick gets its own person record in Attio, named after the group, and every message is logged there with the sender's name attached. Group sync only works on a QR-linked WhatsApp. The official Business API does not give apps access to group messages.
What gets written into Attio
Default Sharing
Decides whether message text is written into Attio.
Full access writes the conversation notes plus the WhatsApp fields. Metadata only writes the fields (dates, counts, direction, agent and chat link) and no message text at all. Pick metadata only when your team needs to see that a conversation happened without exposing what was said.
Note Destination
Chooses which Attio object receives conversation notes.
Notes go to People by default. Point them at another object, such as deals, and the note is written to every linked record, and falls back to the matched person if nothing is linked. The WhatsApp fields always stay on the matched person either way.
Phone match fields
Tells us where to look for a phone number in Attio.
We match an incoming WhatsApp number against Attio's standard phone field. If your workspace keeps numbers in a custom field as well (a second mobile, a WhatsApp-only field) add it here so fewer messages end up creating duplicate people.
Timezone
Sets the clock used in synced notes.
Every timestamp we write into a note is shown in the timezone you pick, so a note that says 9:14 AM means 9:14 AM to your team.
Access and teammates
Team Access
Lets your teammates sync into the same Attio workspace.
The owner holds the Attio connection and the sync settings. Each member connects their own WhatsApp, and everything lands in the same workspace. Invites are codes with a usage limit and an expiry between 1 and 30 days, and you can revoke one at any time.
Magic access link
Your password-free way back into the app.
Every account gets a private link that signs you in on any device or browser. Reveal it, copy it, then hide it again. Treat it exactly like a password. Anyone holding the link is holding your account.
Sending messages from Attio
Everything above is about messages coming in. You can also go the other way: have an Attio workflow send a WhatsApp message when a deal moves, a booking is confirmed or an invoice falls due.
Outbound sending runs on the official WhatsApp Business API, so it needs message templates that Meta has approved, not the QR-linked connection. Your workflow calls WhatSync with a template name and the values to fill in, and we hand it to Meta.
The full guide walks through creating a template, finding your connection ID and service key, and the exact API request, with copy-paste examples.
Read the sending guideConnect your AI agent
Your WhatsApp history is useful to more than the CRM. WhatSync runs an MCP server, so you can point Claude, Codex, Cursor or any other MCP client at your messages and ask questions about them in plain language. This is a Max plan feature.
What MCP actually is
MCP is a standard way for an AI assistant to reach a tool it does not own. You add our server address to your assistant once, sign in, and from then on the assistant can look at your WhatsApp conversations when you ask it to. Nothing is copied anywhere new, and no data leaves until you ask a question.
It is read access. The agent can find and summarise messages. It cannot send WhatsApp messages on your behalf.
What people use it for
Ask what was actually said
Search your conversations in plain language.
Instead of scrolling WhatsApp, ask your agent things like what did we promise this customer about delivery, or find every chat where someone asked about the price. It reads the messages you have access to and answers from them.
Read across the whole team
Admins can pull every connected inbox at once.
An admin can list the teammates who have connected WhatsApp and read their conversations, so you can ask questions that span the whole team. What went quiet this week, which customers are still waiting on a reply, what are people being asked most often.
Write the follow-up for you
Let the agent draft from the real history.
Because the agent can read the thread, the draft it writes already knows what was agreed. You still send the message yourself from WhatsApp or from Attio; the MCP connection reads your messages, it does not send them.
Who can read what
The agent gets exactly the access the person connecting it already has. A member sees their own messages and nothing else. An admin sees the whole team. Connecting an AI agent never widens what somebody is allowed to read.
| What the agent can do | Member | Admin |
|---|---|---|
| Read your own conversations | Yes | Yes |
| Search across your own chats | Yes | Yes |
| Read a teammate's conversations | No | Yes |
| List everyone who has connected WhatsApp | No | Yes |
| Read the shared team inbox | No | Yes |
| Find attachment captions and document names | Yes | Yes |
| Search inside documents or images | No | No |
| Transcribe and search voice notes | No | No |
| Chats you excluded with the number filter | No | No |
| Send a WhatsApp message | No | No |
Your existing settings still apply. Numbers you excluded with the number filter stay out of reach, and so do the groups you never ticked for group sync. If a chat does not sync to Attio, an agent cannot read it either.
Connecting it
Add this server address to your MCP client. Claude, Claude Code, Codex and Cursor all take a plain URL. You sign in with your WhatSync account the first time, and the connection remembers you after that.
Server URL
https://mcp.whatsync.app/mcpEvery client words it slightly differently, so we wrote the exact clicks out separately for the two most people use.
Attio fields reference
We create these 14 fields on your People records automatically the first time you connect, so you never add them by hand. Attio's interface shows the display name; API calls, filters and reports use the slug.
| Field name in Attio | API slug | Type | What you would use it for |
|---|---|---|---|
| Last WhatsApp Message At | whatsapp_last_message_at | Timestamp | Sort your People list by this to see the newest chats first |
| Last Contact By Client | whatsapp_last_inbound_date | Date | The day the contact last messaged you |
| Last Contacted Client | whatsapp_last_outbound_date | Date | The day you last messaged the contact |
| WhatsApp Conversation Started | whatsapp_first_contact_date | Date | The first WhatsApp exchange we know about |
| Last Inbound WhatsApp Message | whatsapp_last_inbound_message | Text | The most recent message received from the contact |
| Last Outbound WhatsApp Message | whatsapp_last_outbound_message | Text | The most recent message you sent to the contact |
| Total WhatsApp Messages | whatsapp_total_messages | Number | Running count of messages in and out, useful for spotting quiet accounts |
| WhatsApp Conversation | whatsapp_conversation_link | Text | A wa.me link that opens the chat straight from Attio |
| WhatsApp Phone Number (Raw) | whatsapp_phone_number | Text | The raw WhatsApp number, kept as a fallback matching key |
| WhatsApp Message Text | whatsapp_message_text | Text | The latest tracked message, formatted for reading at a glance |
| WhatsApp Message Date | whatsapp_message_date | Date | Date of that latest tracked message, for filters and reports |
| WhatsApp Message Direction | whatsapp_message_direction | Select | Whether that latest message was inbound or outbound |
| WhatsApp Agent Number | whatsapp_agent_number | Text | Which of your numbers handled the conversation |
| WhatsApp Agent Name | whatsapp_agent_name | Text | Which teammate handled the conversation |
Video walkthroughs
Prefer to watch someone do it? The short one covers connecting and syncing. The long one is the full tutorial, start to finish.
Quick walkthrough: connect and sync
Full tutorial on YouTube
Fixing common problems
Six things people write in about, and what actually causes them.
WhatsApp says connected, but Attio looks empty
Nine times out of ten the data is there and the list is sorted the wrong way. Open People in Attio and sort by Last WhatsApp Message At, descending.
One contact never shows up
Check your number filter mode. In exclude mode the number may be on the excluded list; in include mode it only syncs if it is on the include list. Numbers must be stored with the country code.
Fields update, but the notes have no message text
Default Sharing is set to metadata only. That is the setting deliberately holding message content back. Switch it to full access if you want the conversation written out.
Notes land on the wrong record, or a duplicate person appears
We could not match the number to an existing person, so a new one was created. Add the Attio field where you keep that number to your phone match fields, and check the note destination.
Group messages are not syncing
Group Sync is off by default, and even when it is on only the groups you tick will sync. It is also unavailable on the official WhatsApp Business API. You need a QR-linked WhatsApp.
A template send from a workflow fails
Almost always an unapproved template, a template name or language code that does not match Meta exactly, a missing media header, or parameters in the wrong order.
Still stuck? Message us on WhatsApp or email hello@appstronauts.shop. Tell us the number you were expecting to see and we can check it.
Questions people ask
The ones that come up before anyone signs up.
Ready to connect?
Connect Attio, scan a QR code, and watch the first message land.