Short answers to how Syncdo works, grouped by what you are trying to do. Search, or open a question.
Install it, connect your number, and get it working.
A computer with Google Chrome, and a WhatsApp number that is signed into WhatsApp Web on it. That is all.
Syncdo is a Chrome extension that adds a panel inside WhatsApp Web at web.whatsapp.com. It does not sign you into WhatsApp and it does not replace it. It will not appear in the WhatsApp desktop app, in the phone app, or on any other website.
It works with regular WhatsApp and WhatsApp Business alike. You do not need the WhatsApp Business API, and you do not need a separate business number.
The whole thing takes about five minutes, and you only do it once. The panel appears just after your chat list does, every time you open WhatsApp Web from then on.
If Syncdo cannot read your number from WhatsApp Web, a number field appears with a country selector beside it. Pick your country, then type your number. You can type it without the dialling code, or start with + and type it in full.
The country you pick is what tells Syncdo how to read the digits. If you get the code wrong and have to try again, your country stays selected.
This usually happens because WhatsApp Web had not finished loading, or because this tab is not the one you are signed into.
Four messages are worth recognising.
That code didn't work — check it and retry.
The code was wrong, or a newer one has been sent. Use the most recent email, or choose Resend code.
That number doesn't look right — please re-enter.
Syncdo could not read those digits as a phone number for the country you picked. Check the country first; that is usually the part that is wrong.
We couldn't auto-detect your WhatsApp number — please type it.
WhatsApp Web had not finished loading, or this tab is not the one you are signed into. The number field and country selector appear so you can type it and carry on.
This number is already connected to another Syncdo account. Disconnect it there first, then connect here.
A number can be connected to one Syncdo account at a time. Sign in to the other account and disconnect it there. Syncdo will not move a number between accounts on its own, because that would take a working line away from whoever is using it.
Yes, though most people never need to. On the email step choose Have an API key? Enter it manually and paste it. Keys start with sk_ and live in the dashboard under Settings, then WhatsApp Numbers. The emailed code is quicker.
Four things are worth doing in your first week, and each takes a few minutes.
The dashboard is at app.syncdo.co. It is where you see all your contacts in a table, filter and export them, import a spreadsheet, manage your team, and change settings. Sign in with the same email address you connected the extension with; you get a code by email, not a password.
The panel inside WhatsApp Web is for working one chat at a time. The dashboard is for working the whole list.
What you get on each plan, what the limits are, and how to upgrade.
Three: Free, Essentials and Intelligence.
Free is the CRM itself, with limits on how many contacts and templates you can hold. Essentials removes those limits and turns on the sending tools: reminders, bulk send, cadences and sequences, deals and business groups. Intelligence is everything in Essentials plus the AI features: draft replies, conversation summaries and intent, and the Knowledge Base.
You cannot buy AI on its own. AI is what the Intelligence plan is. Prices and the monthly, quarterly and annual options are on the pricing page.
The free plan does not expire and needs no card. It holds up to 100 leads and 3 saved templates, with lead stages, custom fields, filters, the full lead record, and the panel inside WhatsApp Web. You get the CRM itself on every plan.
Two things are worth knowing before you rely on it. Messages you send through Syncdo on the free plan have a short line added to the end:
_Sent via Syncdo_
That stops on any paid plan. And reminders, bulk send, cadences, sequences, deals and business groups are not available on the free plan. You can still see those screens, and they tell you which plan they need when you try to use them.
Two limits change between plans. On the free plan you can hold 100 contacts and save 3 templates. Both paid plans remove those limits, so on Essentials and Intelligence contacts and templates are unlimited.
Limits apply to your whole workspace, not to each person. The contact limit counts every lead in the workspace, whoever added it.
Hitting a limit never deletes anything.
You can connect one WhatsApp number for every user on your plan. A workspace with three users can connect three numbers. This is not set by which plan you are on, so moving from Essentials to Intelligence does not change it. Adding a user does.
Every workspace can connect at least one number, including on the free plan, so you can always use the line you signed up with.
When you reach your limit, Syncdo tells you the number you have reached:
All 5 of your WhatsApp numbers are connected. Disconnect one you no longer use, or reply to your welcome email to add more.
You can also have more people in your workspace than you have users. That is normal. Someone can join now and be given a user later. If you have agreed a custom arrangement with us, your limit is whatever was agreed.
On every plan, including free: leads, stages, custom fields and filters, and templates with merge fields (up to 3 templates on free).
Essentials and Intelligence add: reminders and follow-ups with your own reminder types; bulk send, including scheduled sends; cadences and sequences; deals, deal stages and the deal pipeline; business groups; and messages sent without the Syncdo line.
Intelligence alone adds: AI draft replies, AI summaries and intent, and the Knowledge Base.
Essentials does not include AI. This is the thing people are most often surprised by, so it is worth saying plainly.
Three things, all on the conversation you are looking at, and all when you ask.
Summaries are generated when you ask for one. Syncdo does not write them in the background, so a conversation you have never asked about will not have one.
You can change plans later from the same page. Changes apply immediately.
When you subscribe to a paid plan you get a 15-day trial first. It takes a card up front, and you can cancel within the 15 days.
One thing to know, because it explains most "why did this stop working?" questions: while your trial is running you get the Intelligence features, whichever plan you chose. If you subscribed to Essentials you will have AI during the trial, and it switches off when the trial ends. Nothing has broken; the trial was more generous than the plan.
If you just want to try Syncdo, the free plan needs no card and does not expire.
All major credit and debit cards, plus UPI for businesses in India.
If you believe you were charged in error, email support@syncdo.co and we will review it in good faith. You can cancel at any time and keep access until the end of the period you have paid for. Any statutory rights that apply to you under local law are unaffected.
Getting your contacts in, importing a list, and keeping them organised.
There are four ways in, and one rule behind all of them: the phone number is the identity.
Syncdo does not add leads on its own. A chat becomes a lead when you add it. Nothing runs in the background importing your contacts, and group chats are never picked up.
Adding a number you already have updates the record you already have. It does not create a second one and it does not replace the first.
There is one case where Syncdo refuses instead. If the number already belongs to someone else in your workspace, you will see:
That phone number is already a lead in this workspace, assigned to someone else. Ask them to reassign it to you.
Syncdo will not move a colleague's lead to you on its own, and it does not show you anything about that lead. Someone with permission to reassign leads can hand it over.
Rows that repeat the same number inside your file are collapsed before anything is sent. Importing does not send anything to anyone; it only creates lead records. On the free plan the import stops at your contact limit and tells you how many were over it.
A batch is which arrival a contact came from. Every CSV import is a batch, named when you import it. Every inbound webhook is a batch too, named after the webhook, and it keeps growing as enquiries come in. A contact you added by hand has no batch.
You can filter your contacts by batch, see every batch under Imports on the Contacts page, and remove a batch that should not have been imported.
A batch is different from a contact's source. Source is what kind of contact they are — a referral, a cold list — and you set it yourself. Batch is which file or webhook they arrived in.
Give it the same batch name and the contacts are added to that batch rather than a new one; the batch's count grows. Give it a different name and you get a second batch.
Either way, a contact whose number is already in your list is not duplicated. Their details are updated, and they keep the batch they originally arrived under. The result tells you how many were new and how many were already in your list, so the batch count does not look wrong to you.
Only an owner or admin with permission to bulk-delete leads can do this. Deleting a batch removes the leads, not just the label.
Three things organise your leads once they are in. All three work on every plan, including free.
Deal stages are a separate thing and easy to confuse with lead stages. Lead stages track the person. Deal stages track a specific piece of business with them. Deals need Essentials or above.
The field appears on every lead straight away, in the panel and in the dashboard, and you can filter by it, edit it in bulk, and map a spreadsheet column to it when you import. You can hide a field with the switch beside it, and reorder the list with the arrows. Deleting a field removes its values from every contact, so Syncdo asks first.
Each field has a key as well as a name; the key is what you type into a template to merge that field in. It is shown beside the field in the list.
Open the contact and choose the pencil beside their number, then type the right one and confirm it.
This works for a contact that has no history yet — a number typed off a business card, or an import with the wrong mobile. If the contact already has messages, deals or notes against it, Syncdo tells you what is blocking the change instead of doing it, because those records are tied to the number. In that case add the correct number as a new contact.
Saved filters appear in the filter bar and in the Syncdo panel inside WhatsApp Web; it is one list, so a filter you save in one place is there in the other. Bulk send and cadences use the same filters to choose who to message.
To find contacts with no batch, pick Batch and choose (No batch), or use the "is empty" option.
No. Syncdo only stores conversations with contacts you have added as leads. Your personal chats, group chats, and any contact you have not added are never read or stored.
For the contacts you have added, storing the conversation is what lets you search your message history, filter leads by what they asked about, and keep a record of every customer conversation in one place. We never use your messages to train AI models, and we never sell or share your data. You can delete any lead, along with its conversation history, at any time.
Saved replies, merge fields, files, reminders, and sending to more than one person.
Templates are created in the Syncdo panel inside WhatsApp Web, so the extension needs to be installed and connected first.
Your library starts empty; Syncdo does not ship sample templates. The dashboard can show your templates, send them and delete them, but you write and edit them in the panel. The free plan holds 3 templates; paid plans remove the limit.
These are all of them. There is one renderer behind the preview and the send, so what you are shown is what goes out.
For {{custom:key}} you need the field's key, not its name. Both are shown under Settings, then Lead Fields. A field named "GST Number" might have the key gst_number, and that is what goes in the template.
A merge field with no value comes out as nothing at all. If a customer has no company saved, you get a gap in the sentence rather than the words {{company}}, so write sentences that still read correctly when a field is empty. The two appointment fields only work on a message scheduled around an appointment; anywhere else Syncdo will not send a message with a missing time in it.
Templates are grouped into categories, shown as a row of chips above the list. The gear opens Manage categories, where you create one by typing its name, and can rename, reorder and remove them.
Removing a category moves its templates rather than losing them; you choose where they go. Renaming a category to a name that already exists merges the two, and you cannot undo it, so Syncdo tells you the target name and how many templates will move before anything happens.
There is also a search box, and it looks at both the template name and the message text. If you want the message with your bank details, type part of the account detail rather than guessing the category.
Yes. Any template can carry files, like a catalogue PDF, product photos or a price list. You can attach up to 10 attachments per template, and each file can be up to 10MB.
Sent from the panel, a template with files arrives as one WhatsApp message: the files, with the template text as the caption on the first one.
Four places, and they do not all handle files.
On the free plan, messages sent through Syncdo have a short line added at the end. It stops on any paid plan.
The dashboard on your phone has no connection to your WhatsApp session, so it hands the message to WhatsApp through a link. A link can carry text; it cannot carry a file.
So a template with a file attached appears in the list on your phone dimmed and not selectable, with the reason on it:
Unavailable — sends a file, which a link cannot carry
It is shown rather than hidden so you know it is still there. Send it from the panel in WhatsApp Web, or from a bulk send or a cadence, and the files go with it.
For a text template, the flow is: pick the template, Syncdo fills in the merge fields for that contact and shows you the finished message, you confirm, and WhatsApp opens with it ready to send. You always see the real message before WhatsApp opens. Nothing sends straight from a tap.
Reminders need Essentials or above.
When it is due, the reminder shows on the contact and in your follow-ups list. You close it as done, no-show or cancelled, so you have a record of what happened rather than just a tick.
You set up your own reminder types under Settings, then Reminder Types.
Bulk send needs Essentials or above, and runs from the panel inside WhatsApp Web.
Syncdo sends one message at a time, from your own number, with a random pause of 30 to 90 seconds between each, and fills in the merge fields for each person so no two messages are identical. A batch is at most 40 people, and each number sends at most 150 messages through Syncdo in a day. You can stop a batch partway, and retry the ones that failed.
WhatsApp Web has to stay open while it runs; the sending happens in your browser.
Adding people, roles, and connecting more than one number.
Every paid plan is priced per user, and each user can connect one WhatsApp number. If you have bought more users than you have assigned, choose Assign licence beside a person to give them one. Buying more users is done under Settings, then Billing. You can have more people in your workspace than you have paid users; someone can join now and be given a user later.
There are four: owner, admin, manager and rep.
An owner can do everything, including billing and removing people. An admin can manage the team and settings but not remove people. A manager runs a team's leads. A rep works their own leads. What each role can see and change is set out under Settings, then Permissions, and you can adjust it there.
A rep only ever sees leads assigned to them. That is why some filters and controls — like Assigned To — do not appear for a rep at all.
Each WhatsApp number belongs to one user, so a second number means a second user.
The second number is then a line in your workspace, with its own leads, and both of you see the shared contact list according to your roles. A number can only be connected to one Syncdo workspace at a time.
Your line is now the new number. Your leads, templates and settings are unchanged. If the new number is connected to another Syncdo workspace, disconnect it there first.
Fixes for the problems people hit most often.
Six things cause this. The first two account for most of it.
Reinstalling the extension is rarely the fix, and it is the first thing most people try. It clears your local settings and leaves the real cause in place.
If Syncdo cannot reach its server, the small tab at the edge of the window turns red and a banner appears:
⚠ Can't reach server at …
That is a connection problem between your browser and Syncdo. Your account is fine and nothing is lost. Check your network first, then the server address in the extension popup.
Four reasons. The first one is normal.
Because the third one depends on what your browser has loaded, a chat that will not sync for you may sync perfectly for a colleague. It is per person and per session, so a lead never gets permanently stuck.
None of this recovers a conversation Syncdo never saw. Syncdo reads your chats through your own WhatsApp Web session, so a chat that was never open in a browser with Syncdo running has nothing stored to recover.
Most of the time sync is working and saying so quietly. Three things explain nearly every report.
Syncdo will not start a big backfill on its own. When more than 25 chats are waiting it stops and asks you first, because a first backfill takes minutes and visibly works through every chat. You will see:
… chats need syncing — use "Sync history"
Nothing has failed. The Sync history button is in the Syncdo panel. Click it and the sync runs.
Automatic sync runs once each time the page loads. It starts a few seconds after WhatsApp Web opens, so WhatsApp can finish loading first, and it does not run again in the same session. Reloading the page gives you a fresh one.
"Nothing to sync" is usually true. Syncdo only queues chats that have had activity since the last time it went through them. A lead nobody has messaged is already done. When a new message arrives that chat goes back in the queue straight away.
When a run finishes, Syncdo accounts for the difference between your total leads and the number it worked through: how many were already up to date, how many were not open in WhatsApp, how many were blocked, and how many have no WhatsApp conversation at all. If one of those numbers looks wrong, quote it when you email us. Sync reads your browser, so WhatsApp Web has to stay open while it runs, and closing the tab stops it.
Click the Syncdo icon in your Chrome toolbar. The popup shows your workspace name, your name, and the number you are connected with, and it will be in one of four states.
The mismatch warning reads:
⚠ Different WhatsApp account — This browser is logged into …, but Syncdo is connected to …. Nothing from this account is being saved.
This is the usual cause of "my chats are not being saved" when everything else looks fine. It happens when you sign WhatsApp Web into a second number, or use a browser profile connected to a different Syncdo account. Syncdo does not switch itself to the new number, because that would move your leads onto a line you might have opened by accident. Sign WhatsApp Web back into the right number, or use Reconnect in WhatsApp Web to connect this one on purpose.
If your workspace name is wrong rather than your number, you are signed into a different Syncdo account. Reconnect from the panel using the email address that owns the workspace you expect.
Syncdo works inside WhatsApp Web in your browser, the same way you would use WhatsApp in any browser tab. There are no bots and no unofficial channels. Everything you send goes out through your own WhatsApp Web session, one message at a time, and you send each one.
When you send to many people, Syncdo paces it for you: a random pause of 30 to 90 seconds between messages, each one filled in with that person's own details so no two are identical, a longer pause after every couple of dozen, and at most 150 messages per number per day through Syncdo. When a day's count reaches 120 it warns you; at 150 it pauses the batch until tomorrow. Those numbers are there to keep your usage looking like a person, because that is what it is.
Two things Syncdo cannot do for you. Do not use a brand-new number for outreach; new numbers get flagged fast on WhatsApp regardless of the tool, so use an established number with real conversation history. And message people who know you: your own contacts, who expect to hear from you.
One person answers these, so the quickest thing you can do is answer the questions we would ask:
Email support@syncdo.co. We read every message personally.
Sending enquiries into Syncdo from a form, a portal or an automation tool.
In Syncdo, go to Settings, then Inbound Webhooks, and create one. You need to be an owner or an admin. Give it a name you will recognise later — "Website contact form", "IndiaMART" — and Syncdo shows you the URL.
The URL is shown once, and only once. Syncdo stores it hashed and cannot show it again. If you did not copy it, rotate the secret in the same screen to get a new one; the old URL keeps working for 7 days after a rotation, so you have time to swap it over.
Treat the URL like a password. There is no API key and no header to set — anyone who has the URL can create leads in that workspace. Keep it server-side, never in front-end code a visitor can read.
Every lead that arrives through a webhook carries the webhook's name as its batch, so you can filter for them.
A JSON POST to the URL. Only phone is required; everything else is optional.
Values longer than the limit are trimmed, not rejected. Anything outside this list is not stored; it is listed back to you as ignored_fields in the response, up to 25 names, so you can see what did not land while you are wiring the form up.
If your form collects numbers in national format and you send neither a + nor a country, Syncdo falls back to the workspace's default country, which may not be right for that customer.
A second lead is never created. Syncdo finds the existing one and updates it, and the response comes back with created: false.
Form tools and portals retry. A timeout on your side does not mean the request did not arrive, so the same submission often gets sent twice. Sending your own reference in id lets Syncdo tell a redelivery from a new enquiry.
Send an id if your tool has one. A retry is then free of side effects for as long as any tool would keep retrying.
A new lead returns 200 with ok: true, the phone as Syncdo stored it, and created: true. A redelivery returns 200 with duplicate: true. Every failure returns ok: false and an error string.
On any error the lead was not created, so a retry cannot produce a duplicate. If you send an id, that holds even for a request that timed out after Syncdo had accepted it.
If a URL is exposed — pasted in a shared document, committed to a repository — rotate it under Settings, then Inbound Webhooks. You get a new URL, shown once, and the old one keeps working for 7 days so nothing breaks while you update it.
Switching a webhook off refuses new submissions but keeps everything else: its people, their shares, and its place in the rotation. It can be switched back on.
We read every email personally.
✓ Free plan ✓ No credit card to start ✓ Setup in 5 minutes