Skip to content
syncdo

Help

Short answers to how Syncdo works, grouped by what you are trying to do. Search, or open a question.

Getting started

Install it, connect your number, and get it working.

What do I need before I start?

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.

How do I install Syncdo?
  1. Open the Syncdo listing on the Chrome Web Store and choose Add to Chrome. It installs in one click.
  2. Go to web.whatsapp.com and sign in the way you normally do. Give the page a few seconds to load your chats.
  3. A strip appears across the top of WhatsApp Web with a link to activate. Click it to open the sign-in card. The strip stays until your account is connected, so you cannot lose it.
  4. Type your email. Syncdo sends you a six-digit code, and works out from the address whether you are new or coming back.
  5. If you are new, give your business name, a line about what it does, and the country most of your customers are in. The list has every country and is searchable — type the name or the dialling code, like “france” or “+33”. You can change it later in Settings, then Workspace.
  6. Type the code from your email and choose Verify & connect. Syncdo picks up the WhatsApp number this browser is signed into and links it to your workspace.

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.

It could not detect my number. What do I do?

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.

What do the sign-in error messages mean?

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.

Can I connect with an API key instead of the emailed code?

Yes, though most people never need to. On the email step choose Have an API key? Enter it manually and paste the key for the WhatsApp number open in that tab. Keys start with sk_ and live in the dashboard under Settings, then WhatsApp Numbers. The key is not checked against the number when you paste it, so make sure it is the key for the number open in that tab: with another number's key, the panel says This WhatsApp number isn’t registered in Syncdo for this browser. The emailed code is quicker.

I'm connected. What should I do first?

Four things are worth doing in your first week, and each takes a few minutes.

  • Save three or four templates for the replies you send most often. You create them in the panel, which you now have.
  • Set your lead stages in Settings so they match how you actually sell.
  • If you are moving from a spreadsheet, import your contacts from a CSV in the dashboard and give the import a name.
  • Add a few of your open conversations as leads, so the panel has something to show you when you open a chat.
What is the dashboard, and how do I sign in?

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.

Plans, limits and billing

What you get on each plan, what the limits are, and how to upgrade.

What plans are there?

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.

What does the free plan include?

The free plan does not expire and needs no card. It holds up to 100 leads and 3 saved templates, with the default lead stages and default fields, filters, the full lead record, and the panel inside WhatsApp Web. You get the CRM itself on every plan. Free uses the default stages and default fields; custom stages and custom fields need Essentials or Intelligence. A workspace that set up its own before keeps them and can keep using them.

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.

How many contacts and templates can I have?

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.

What happens when I hit a limit?

Hitting a limit never deletes anything.

  • The contact limit stops you adding new leads. Your existing leads, their messages, notes and history are untouched. You can add more once you upgrade or remove some.
  • The template limit only applies when you create a template. Nothing is hidden or deleted, so if you are already over it every template still works.
  • A feature your plan does not include tells you which plan it needs rather than showing a generic error.
  • If Syncdo cannot read your plan at that moment, it says so and asks you to try again. It will not tell you to upgrade because of a temporary glitch.
How many WhatsApp numbers can I connect?

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 in use. Archive one you no longer use (archived numbers don’t count), 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.

Which features does each plan turn on?

On every plan, including free: leads, the default stages and default fields, filters, and templates with merge fields (up to 3 templates on free).

Essentials and Intelligence add: custom stages and custom fields (a workspace that set up its own before keeps them and can keep using them); 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.

What does the AI actually do on Intelligence?

Three things, all on chats with your leads.

  • AI draft replies: a full reply written from the conversation when you ask for one, which you read and edit before you send it. The AI never sends a reply itself.
  • Conversation summaries and intent: a short summary of the chat, and what the customer seems to want. Syncdo updates them by itself as new messages with a lead come in through WhatsApp Web, and you can ask for a fresh one at any time.
  • Knowledge Base: facts about your business — rates, rules, policies — that the AI uses so drafts match how you actually sell. You teach it from the Teach AI tab in WhatsApp Web, or add facts in the dashboard.
How do I upgrade?
  1. Open the dashboard and go to Settings, then Billing.
  2. Choose Essentials or Intelligence, and pick how you want to be billed: monthly, quarterly or annual. Annual is the cheapest per month. Billing may also offer a launch price on the annual cycle, for our first 100 customers.
  3. Choose how many users you need, from 1 to 100, in one payment. Billing shows the total before you pay: the number of users times the price per user. GST is added at payment. Each user can connect one WhatsApp number.
  4. Pay by card, or by UPI if you are in India. The workspace upgrades the moment payment goes through; there is nobody to wait for.

To add users later, buy more from the same page; each purchase is billed on its own. If your workspace is on the launch price, users you add later also get the founding price, and it renews at that price every year. To move between Essentials and Intelligence, cancel your subscription on that page, then buy the other plan. For more than 100 users, email hello@syncdo.co.

Is there a free trial?

No. Paid plans start when you pay; there is no trial period.

If you want to try Syncdo first, use the free plan. It needs no card and does not expire, and you can upgrade from Settings, then Billing, whenever you are ready.

What payment methods do you accept?

All major credit and debit cards, plus UPI for businesses in India.

Is there a refund policy?

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.

Leads and contacts

Getting your contacts in, importing a list, and keeping them organised.

How do I add a lead?

There are four ways in, and one rule behind all of them: the phone number is the identity.

  • From a chat you have open. Open a conversation in WhatsApp Web and the Syncdo panel shows you that contact. If they are not a lead yet, add them from the panel. Syncdo attaches their number, the name WhatsApp has for them, and the conversation. This is the one you will use most.
  • From your unsaved chats. The panel has a button for recent chats that are not yet in your CRM. Everyone who has messaged you recently and is not a lead appears in one list, so you can work through a backlog without hunting through your chat list.
  • From the dashboard. Use Add Lead for someone who did not come through WhatsApp, like a caller or a business card. A phone number is required; everything else can wait. Pick the number's country (it starts on your workspace's country) and Syncdo shows the full number it will save before you save it.
  • By importing a spreadsheet. See the entry on importing a CSV.

Opening a chat does not make it a lead: a WhatsApp chat becomes a lead only when you add it, nothing imports your WhatsApp contacts, and group chats are never picked up. Leads arrive without someone adding them only from a source your workspace connected — a website form or inbound webhook, a Google Sheet or the API.

What happens if I add a number that is already a lead?

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.

  • Messages, notes, tags, assignment and the original created date all stay.
  • Custom fields merge. New values are added and anything you did not touch stays as it was.
  • The stage is not reset unless you deliberately picked one.

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.

How do I import contacts from a spreadsheet and name the batch?
  1. In the dashboard, open Contacts and choose Import CSV.
  2. Choose your file. Syncdo tells you how many rows and columns it found.
  3. Match your columns to Syncdo fields. It guesses from your headers, so a column called Mobile, WhatsApp or Contact Number is offered as Phone. Correct anything it got wrong, and ignore any column you do not want. Phone is the only column you must map. You can also map name, lead stage, deal stage, company, city, state, email, and any custom fields you have set up.
  4. Choose Preview. If a dropdown or tag column contains a value you have not set up as an option, Syncdo lists each one and asks whether to add it as a new option or skip it. Skipped values are not imported. If the new options cannot be saved, those values are left out too, never imported as plain text.
  5. Give the import a batch name. Syncdo suggests the file name, and you can change it. The batch is where these contacts came from — "Real estate agents", "Trade fair March" — and you can filter by it afterwards.
  6. Choose who gets the new leads: you, the workspace owner, one person, or a share of teammates. A share is split evenly and shows each person's percentage; choose Custom % to set them yourself. Only active teammates get leads.
  7. Optional: open Advanced: updating existing leads to choose, for each field, what happens if the number is already a lead. Replace if empty fills the field only when it is blank, Overwrite replaces it. Replace if empty is the default.
  8. Choose Import.

A lead stage in your file must be one of your lead stages, in any capitals: "warm" becomes Warm. A row whose stage is not one of yours is not imported, and if the number is already a lead, that lead stays exactly as it was. The result names each such row, for example: row 12: "Warm2" is not one of your stages. Fix those cells and import the file again. A new lead with the stage New starts in your first stage when you have no stage called New.

A dropdown value in your file is stored in the option's own spelling: "referral" becomes Referral. A value that is not one of the field's options is left out of that row, the rest of the row is imported, and the result names it, for example: row 12: Source "Bogus" is not one of your options — left out. If your Source field is a dropdown, a row with no source gets your option called CSV import when you have one; without one it is left without a source, and the result says why.

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 number without a country code is read with your workspace's default country. A number with one works with or without the +: +33 6 12 34 56 78, 33 6 12 34 56 78 and 0033 6 12 34 56 78 are the same number. If a number cannot be read, that row is not imported, and the result says how many and why. If your list is a Google Sheet, Google Sheets treats a leading + as the start of a formula: type an apostrophe first ('+33 6 12 34 56 78), or set the phone column to Plain text (Format, then Number, then Plain text) before you type the numbers.

What is a batch?

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.

What happens if I import the same file again?

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 the way you chose for each field — Replace if empty fills only blank fields, Overwrite replaces them — and they keep the batch and the assigned person they originally had. 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.

How do I bring leads in from a Google Sheet?

New rows in a Google Sheet become leads in Syncdo on their own: rows from Facebook Lead Ads' Google Sheets connection, a Google Form, or anything else that adds rows to a sheet. Google Sheets is on the Essentials and Intelligence plans, and the owner or an admin sets it up.

  1. In the dashboard, open Settings, then Google Sheets.
  2. Click Connect Google and allow access. You do this once for the whole workspace.
  3. Click Add a sheet and choose the spreadsheet in Google's picker.
  4. Choose the tab the leads arrive in. The first row of that tab must be the column names.
  5. Match the columns. Phone is required; Name, Email, Company, City, State, Enquiry and your own lead fields are optional.
  6. Choose which rows become leads: Start from new rows, or Import earlier rows too.
  7. Choose the lead source and who gets new leads, then save.

If your Source field is a dropdown, new leads get the lead source only when it is one of its options, in any capitals; otherwise your option called Google Sheet, if you have one. With neither, the source is left out, the lead is still imported, and the row is listed under the sheet with the reason.

From then on Syncdo checks the sheet every two minutes and adds new rows at the bottom as leads.

What can Syncdo see in my Google Drive?

Only the files you pick. When you connect, Google asks for permission to see and edit only the specific Google Drive files you use with this app. Syncdo cannot open any other file in your Drive, and it never writes to your sheet.

Disconnect Google removes Syncdo's access at Google. Your sheets stay listed but nothing is imported until you connect again, and the leads already imported stay.

Which rows does Syncdo read from my sheet, and what if a number is already a lead?
  • Add new leads at the bottom of the sheet. Each row is read once.
  • Editing a row that was already read changes nothing in Syncdo.
  • A number that is already a lead updates that lead instead of creating a second one. You choose, field by field, whether a value replaces what is there or only fills an empty field.
  • A row with no phone number, or a number Syncdo cannot read, is listed under the sheet with its row number and the reason. Add the country code to the number and add the row again at the bottom.
  • Google Sheets treats a leading + as a formula. Type an apostrophe first ('+91 98765 43210), or set the phone column's format to plain text.
  • Up to 50 rows are read per check. A long backlog is read a minute at a time until it is done.
How do I pause, change or remove a Google Sheet?

Each sheet in Settings, Google Sheets has its own buttons.

  • Check now reads new rows straight away instead of waiting for the next check.
  • Pause stops reading the sheet; Resume starts again from where it stopped.
  • Edit changes the lead source, the column matches, who gets new leads and what happens when a number is already a lead. Changes apply to rows added from now on.
  • Remove stops reading the sheet and forgets its settings. The leads it brought in stay.

To use a different tab, remove the sheet and add it again. Its leads stay.

I imported the wrong list. How do I remove it?
  1. In the dashboard, open Contacts and choose Imports, beside Import CSV.
  2. Find the batch and choose Delete.
  3. Read the confirmation. It tells you how many leads will be deleted, and warns you that each lead's deals, reminders, scheduled messages, sequence membership and activity history go with it. This cannot be undone.
  4. If any of those leads have been worked — messaged, given a deal or a note, or moved past New — the confirmation says how many, and you have to tick a box to include them. Syncdo will not delete worked leads unless you say so.
  5. Type the batch name to confirm, then choose Delete.

Only an owner or admin with permission to bulk-delete leads can do this. Deleting a batch removes the leads, not just the label.

How do stages, custom fields and assignment work?

Three things organise your leads once they are in. Free uses the default stages and default fields; custom stages and custom fields need Essentials or Intelligence. A workspace that set up its own before keeps them and can keep using them.

  • Lead stages are your pipeline, in your own words. Edit the list in Settings, then Lead Stages, so it matches how you sell. Renaming a stage keeps every lead on it, so nothing is left behind.
  • Custom fields are the things your business needs that a generic CRM does not have. Set them up once and they appear on every lead, in the panel and the dashboard, and you can map them when you import a CSV.
  • Assignment decides who a lead belongs to, who sees it and who is responsible for it.

To hand a lead to a teammate, open the contact in the dashboard and pick their name from the menu next to its stage. Only people allowed to reassign leads see that menu. The lead moves to that person and its history stays with it: messages, notes and activity are unchanged, and an open deal moves with the lead.

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.

How do I add a lead field?
  1. In the dashboard, go to Settings, then Lead Fields.
  2. Type a name for the field and pick its type: text, phone, email, number, date, dropdown, checkbox, tag or link.
  3. For a dropdown or a tag field, add the options people can pick from. You can paste several at once, one per line.
  4. Add helper text if the field needs explaining, then choose Add Field.

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.

A field cannot take the name of one Syncdo already has, such as Assigned To, Name, Phone, Lead Stage, Created or Reply, or the name of another field: Lead Fields says so and asks for a different name. A field made before this check with such a name is listed at the top of Lead Fields. Filters show it as “(custom field)” next to the built-in one, and renaming it keeps its values.

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.

A dropdown only ever holds one of its options. Whatever writes to it — an edit, a CSV import, a webhook, a Google Sheet, the API, a rule or Syncdo AI — a value that matches an option apart from capitals and spaces is stored in the option's spelling, and any other value is not stored: an edit is refused with the reason, and where nobody is there to ask (an import, a webhook, a sheet) that value is left out with the reason and the lead itself is still saved. Values already on leads from before stay until you change them.

How do I correct a contact's phone number?

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.

How do I filter my contacts, and save a filter?
  1. In the dashboard, open Contacts and open the filter bar.
  2. Add a condition: pick a field, then how to match it, then the value. Stage, deal stage, batch and your dropdown fields give you a picker; text fields let you type; dates let you pick a day, "in the last N days" or a range between two dates, both days included.
  3. Add more conditions if you need them, and choose whether a contact must match all of them or any of them.
  4. To keep it, choose Save filter and give it a name.

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.

To find leads by when they were added, use Created: in the last 7 or 30 days, or between two dates. The Columns menu on Contacts can show a Created column too, and clicking a column's heading sorts the list by it; click again to reverse. Where the new filters are not switched on yet, the Syncdo panel inside WhatsApp Web cannot check a range between two dates, so a saved filter that uses one finds nobody there. For a filter you use in that panel or in its bulk send, use "in the last N days".

Where the new filters are switched on (they are being released gradually), Contacts has a filter bar instead: quick filters with counts across the top (My leads, Needs reply, Follow-up due today, Hot, Quoted no reply 3 days, New this week), **+ Filter** to search for a condition by name, and each condition shown as a sentence you tap to change. Saved filters are under **Saved** in the same bar, and the filter stays in the page's address, so going back to Contacts shows the same list. Pipeline has the same bar; All deals has one with Open, Won, Lost and Mine and the deal's own conditions (stage, value, who it is assigned to, dates); and Reminders has one with Overdue, Today, Done and Mine and the reminder's own conditions (type, owner, dates).

Does Syncdo read my personal chats?

No. Syncdo only stores conversations with your leads. Your personal chats, group chats, and any contact who is not a lead are never read or stored.

For your leads, 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.

Can I use Syncdo from Claude or ChatGPT?

Where it has been switched on — it is being released gradually, one workspace at a time — and on the paid plans. Syncdo is an MCP server, so Claude, ChatGPT and other apps that support MCP connectors can read your leads and answer questions such as "Who should I follow up with today?", "What is happening with this lead?" or "How many deals did we win this month?".

In the app, add a custom connector with this URL:

https://api.syncdo.co/mcp

The app then opens a Syncdo page. Sign in as usual, check the workspace it names, and choose Allow. If your workspace does not have it yet, that page says so and offers only Cancel. Each person connects their own login.

  • It can read leads, their recent history, reminders and the pipeline, exactly as you see them in Syncdo. If reps see only the leads assigned to them, a rep's app sees only those too.
  • It cannot send WhatsApp messages or change, add or delete anything.

To stop it, go to Settings, then My account, then Connected apps, and choose Disconnect; it stops at once. The workspace owner also sees every member's connected apps under Settings, then API & webhooks, and can disconnect any of them.

Templates, reminders and sending

Saved replies, merge fields, files, reminders, and sending to more than one person.

How do I create a template?

Templates are created in the Syncdo panel inside WhatsApp Web, so the extension needs to be installed and connected first.

  1. Open the Templates tab in the panel.
  2. Create a new template. Give it a name, which is what you will search for later, and put it in a category.
  3. Write the message. Anywhere you want a customer's own details filled in, type a merge field such as {{name}} or {{company}}. Anywhere you want a blank to fill in yourself each time — a price, a date, a quantity — type ___ and Syncdo leaves it alone.
  4. Attach any files you want to send with it, such as a catalogue PDF or product photos. Then save.

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.

Which merge fields can I use?

These are all of them. There is one renderer behind the preview and the send, so what you are shown is what goes out.

  • {{name}} — the lead's name
  • {{phone}} — their phone number
  • {{company}} — their company
  • {{city}} — their city
  • {{state}} — their state
  • {{email}} — their email
  • {{stage}} — their current lead stage
  • {{business_name}} — your business name, the same for everyone
  • {{your_name}} — your own name, the same for everyone
  • {{agent_name}} — the name of the person the lead is assigned to. Each lead gets its own person, in a bulk send and in a rule's message too
  • {{agent_phone}} — that person's contact number, the one saved for them under Settings, then Users & Roles
  • {{custom:key}} — one of your own custom fields, by its key
  • {{appointment_date}} and {{appointment_time}} — the date and time of the appointment, on a message scheduled around it or sent by a flow that starts from a reminder

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, or sent by a flow that starts from a reminder (booked, moved, due, done or cancelled). They show the reminder's time as it is when the message goes, so a moved appointment shows its new time. Anywhere else Syncdo will not send a message with a missing time in it, and the flow builder warns you.

{{agent_name}} and {{agent_phone}} come with the next Chrome extension update. Until it reaches your Chrome they work only in messages sent from the dashboard on your phone; in WhatsApp Web — the panel, bulk send, cadences, sequences and rules — they come out empty, so leave them out of those messages for now. Until then the flow builder and the cadence, sequence and reminder-type editors do not offer them as buttons, and a flow message that already has one shows a warning.

Once the update is in, the two assigned-person fields work the same way: Syncdo will not send a message with a gap where the name or number should be. If the lead is not assigned to anyone, if the person it was assigned to has left the workspace, or if that person has no contact number saved, that lead is not sent the message, and the reason is shown where the send is — the panel, the bulk send's results, or the lead's timeline for a rule's message. The template preview in the panel, the bulk send's compose step and the flow builder's preview warn you before anything is sent. The fix is to assign the lead, or add the number under Settings, then Users & Roles; it applies to messages already waiting to send.

How do I organise templates into categories?

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.

Can I attach files to a template?

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.

Where can I send a template from?

Four places, and they do not all handle files.

  • The panel in WhatsApp Web: files and text as one message. Every plan.
  • Bulk send: files too. Essentials and up.
  • Cadences and sequences: files too. Essentials and up.
  • The dashboard on your phone: text only. Every plan.

On the free plan, messages sent through Syncdo have a short line added at the end. It stops on any paid plan.

How does sending from my phone work?

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.

How do I set a reminder?

Reminders need Essentials or above.

  1. Open the contact — in the dashboard, or in the panel inside WhatsApp Web — and choose Reminder.
  2. Pick the type: a follow-up, a to-do, a meeting, or one of your own. Some types have a length, such as a meeting, and Syncdo suggests a default you can change.
  3. Pick when, add a note if it helps, and save. If the time clashes with another reminder that has a length, Syncdo tells you and asks whether to save it anyway.

When it is due, the reminder shows on the contact and in your Reminders 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.

What do Automations do, and which plans have them?

Automations do the next steps for you when something happens to a lead. A flow starts from one event — a new lead arrives, a stage changes, a lead is reassigned, a call is missed, a reminder is due, a lead goes quiet — and then moves the lead, assigns it, sets a reminder, notifies a teammate, updates a field, adds a note or sends a WhatsApp message, with waits and yes/no branches if you like.

Automations are on the paid plans: monthly, quarterly, annual and lifetime. Only owners and admins see them, under Automations in the main menu.

  1. Open Automations and pick a starting flow, such as Welcome new leads or Notify the agent when a lead is assigned to them, or choose New flow.
  2. Change the trigger and the steps to suit your business. Try it on a lead shows what would happen, and changes and sends nothing.
  3. Choose Publish. Nothing runs until you do.

Nothing is sent without a flow you published. Every change a flow makes shows in the lead's activity as by rule, with the flow's name, and each flow's Executions tab lists every run and why anything was skipped.

On the free plan Automations are not available. A workspace that moves to the free plan keeps its flows: Syncdo pauses them and deletes nothing, and messages they had waiting are not sent. After you upgrade, choose Resume all to start them again from that moment.

What stops an automation sending too much, and how do I pause one or all of them?

Messages from a flow go out from WhatsApp Web, paced like a bulk send, from the line of the person the lead is assigned to, and only while WhatsApp Web is open there. You set the limits under Working hours and limits on the Automations page.

  • A daily limit for the whole workspace: 50 flow messages a day unless you change it (0 to 1,000). A message past it is not sent, and the lead's activity says so.
  • Working hours: Monday to Saturday, 9:00 to 18:00 unless you change them. A flow with only in working hours ticked waits for them.
  • Stop if the customer replies: a flow with it ticked cancels what it was still waiting to do for a lead who replies. New flows start with this and working hours ticked.
  • A loop guard: a change made by one flow can set off another only a few steps in a row before it stops.
  • Blanks: a template or message with a blank for a person to fill in, such as ___ or [time], is never sent by a flow. The step fails and the lead's activity says which blank is left.

To stop one flow, turn off its switch in the Automations list. What it was still waiting to do, and its messages not yet sent, are cancelled; the flow and its history stay. To stop everything, choose Pause all. Nothing runs until you choose Resume all, and Resume all does not catch up: steps that fell due while paused are cancelled.

How do I send a template to many people at once?

Bulk send needs Essentials or above, and runs from the panel inside WhatsApp Web.

  1. Open Bulk Send in the panel and choose the audience: a saved filter, or a filter you build on the spot. You can leave out anyone you have messaged recently, or anyone who already had this template.
  2. Pick the template. You can edit the message for this send and see a preview.
  3. Choose when, check the summary and send.

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. Each number sends at most 150 messages through Syncdo in a day, and that is also the most one send can take: if you tick more than 150, the first 150 go and the rest wait for a later send. A send that would go past what is left of today's 150 does not start. Messages go in bursts of 25 to 35, with a pause of 25 to 35 minutes between bursts. 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.

Your team and WhatsApp numbers

Adding people, roles, and connecting more than one number.

How do I add a user?
  1. In the dashboard, go to Settings, then Users & Roles, and choose Invite Member.
  2. Enter their email, their name, and the role you want them to have. If they will connect their own WhatsApp number, you can enter it here too, so Syncdo checks they connect the right one.
  3. Syncdo gives you an invite link. Send it to them however you like; it is not emailed automatically.
  4. They open the link, sign in with their email, and they are in.

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.

Where do I add the contact number customers see for a teammate?

In the dashboard, go to Settings, then Users & Roles, and choose add contact number under the person's email. Pick the country from the list (search it by name or by its code; it starts on your workspace's country) and type the number. Before you save, Syncdo shows the full number it will save, like +65 6303 0556, and tells you if the number is the wrong length for that country. A number already saved opens with its country picked, ready to edit. Each person can also add or change their own under Settings, then Workspace.

This is the number {{agent_phone}} puts in a message, for the leads assigned to that person — an office line, a desk phone or a mobile. It is not the WhatsApp number they connect Syncdo from, and it is not a work phone signed in to the Syncdo app.

You can change it or remove it at any time, and the change applies from then on, including to messages already waiting to send. Without one, a message that uses {{agent_phone}} is not sent to that person's leads, and Syncdo says why. When someone is removed from the workspace, their number is no longer used: their leads read as not assigned until you assign them to someone else.

Owners can set anyone's number, admins anyone's below admin, and everyone their own. A rep or a manager cannot change someone else's.

What do the roles mean?

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 the setting every workspace starts with. That is why some filters and controls — like Assigned To — do not appear for a rep at all. An owner or admin can change it under Settings, then Users & Roles: turn off "Reps see only leads assigned to them" and every member sees every lead. Changing it never moves a lead to someone else; to give a rep their leads, select them in Contacts and use Assign.

How do I connect a second WhatsApp number?

Each WhatsApp number belongs to one user, so a second number means a second user.

  1. Under Settings, then Billing, add a user to your plan if you do not have a spare one.
  2. Under Settings, then Users & Roles, invite the person who will use the second number, and assign them a licence.
  3. They install the Syncdo extension in their own Chrome, sign into WhatsApp Web with the second number, and connect it with their email code.

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.

If you use two numbers yourself, open the second number in its own Chrome profile and connect it there: today one browser holds one Syncdo connection, and a second number in the same browser is not saved (see I am seeing the wrong workspace or number). With the next Chrome extension update each number keeps its own connection in one browser: open the second number in a separate Chrome profile — the simplest way, since WhatsApp Web allows one number per profile — or in an incognito window with the extension allowed there. If the second number is already your own line (in this workspace or another workspace you belong to), Syncdo switches to it by itself and says Now saving to, then the workspace and the number. Otherwise the Syncdo bar on the second number says This number isn't connected to Syncdo; choose Connect this number. Opening a second WhatsApp never changes the first one's connection, and only an owner or admin can add a number as a new line.

How do I change the WhatsApp number Syncdo is connected to?

Signing in never moves a line to another number — that would move your leads onto a number you might have opened by accident. Changing number is two deliberate steps:

  1. Add the new number. An owner or admin adds it in the dashboard under Settings, then WhatsApp Numbers; anyone else asks one. Then sign WhatsApp Web into the new number, remove Syncdo from Chrome, add it again from the Chrome Web Store, and sign in with your email code while the new number is open. (With the next Chrome extension update this gets shorter: the Syncdo bar says This number isn't connected to Syncdo, you choose Connect this number, and an owner or admin can choose Add this number there.)
  2. Retire the old number. In the dashboard, under Settings, then WhatsApp Numbers, archive or delete the old number when you no longer use it.

The leads you captured on the old number stay in your workspace, attributed to it. Templates and settings are unchanged. If the new number is connected to another Syncdo workspace, disconnect it there first.

The Syncdo bar says This number isn't connected to Syncdo

The WhatsApp number open in this tab has no Syncdo connection, while another number in this browser does. Each number keeps its own connection, so nothing from this one is saved — no leads, no messages — until it is connected. The other number keeps working as it is.

If the number is your own line — in this workspace or another workspace you belong to — you normally never see this message: Syncdo switches to it by itself and says Now saving to, then the workspace and the number. The message appears when the number is someone else's line, a number that is not a line yet, or a number you signed out of in this browser.

Choose Connect this number and sign in with your email code. You can also choose Connect in the Syncdo popup, which opens the same sign-in in the WhatsApp tab.

  • If the number is already a line in your workspace, it connects straight away.
  • If it is not, Syncdo names your workspace and asks before adding it as a new line. Choose Add this number, or Cancel to add nothing. Adding a number uses one of your plan's WhatsApp numbers.
  • Only an owner or admin can add a number. Anyone else is told to ask one, who can add it in the dashboard under Settings, then WhatsApp Numbers — then connect again.

If you opened this number by accident, sign WhatsApp Web back into your usual number and the message goes away.

The Syncdo bar says this browser's key was replaced or no longer works

Each connected number signs its requests with a key. A WhatsApp number works in one browser at a time. When someone makes a new key for that number in the dashboard (Settings, then WhatsApp Numbers), or the number is connected in another browser or computer (including Use it here there), the old key stops working. Syncdo says so in the bar at the top of WhatsApp Web instead of quietly saving nothing, and this browser does not take the number back on its own.

Choose Connect again and sign in with your email code. The number is already a line in your workspace, so nothing is added — it just gets a fresh key. Your leads are unchanged.

If the bar says the number is switched off, or that your access was removed, an owner or admin has to restore it in the dashboard first.

The Syncdo bar says This line is active in another browser

The number open in WhatsApp Web is your own line, but another browser or computer is using it right now. A WhatsApp number works in one Syncdo browser at a time, so Syncdo does not take it over by itself — nothing from this tab is saved until you choose. The same message, with the same button, shows at the top of the contact panel.

Choose Use it here to move the number to this browser. Syncdo switches straight away and says Now saving to, then the workspace and the number. The other browser stops saving from that number and its Syncdo bar says its key was replaced, with Connect again; it does not take the number back on its own.

If the number has not been used anywhere for 30 minutes, Syncdo moves it to this browser without asking. If you did not mean to use it here, sign WhatsApp Web back into your usual number.

How do I sign Syncdo out of a WhatsApp number in this browser?

Click the Syncdo icon in your Chrome toolbar. Under Connected in this browser, each number has its own Sign out. Choose it and confirm: Syncdo stops saving from that number in this browser. Every other number keeps its connection. With more than one number connected, Sign out of all numbers clears them all.

No reinstall is needed, and nothing changes in your workspace — the number stays a line there with its leads. Syncdo does not reconnect a number you signed out of by itself: to use it again, open it in WhatsApp Web and choose Connect this number.

How do I remove a WhatsApp number?

In the dashboard, go to Settings, then WhatsApp Numbers. What you can do depends on whether the number has been used.

  • Delete — for a number that was never used (added by mistake, never connected). It is removed completely, and you can add it again later.
  • Archive — for a number with history. Its key stops working at once, it is hidden from the list and it no longer counts toward your plan. Its messages, leads and sends stay, under the same person's name.

To see archived numbers, tick Show archived. Restore brings one back with a new key — copy it, because it is shown only once — and it counts toward your plan again. Adding an archived number again restores it the same way.

The workspace owner can also Delete permanently an archived number, by typing the number to confirm. Calls, messages and leads stay as the business's records; only the number's own record goes. This cannot be undone.

What happens when I remove someone from my team?

Only the workspace owner can remove someone: Settings, then Users & Roles, then the bin next to their name.

  • You choose who takes over their leads. Every lead assigned to them moves, with their open deals and open reminders, to the person you pick. Closed deals and done reminders stay theirs.
  • Their history keeps their name. Past messages, calls and notes still show who did them, in timelines and in Reports.
  • They lose access at once and their user goes back to your pool for someone else. Their work phone is switched off.
  • If one of their WhatsApp numbers is still active, archive it first under Settings, then WhatsApp Numbers. Syncdo tells you which number.

To bring them back, choose Invite again next to their name. When they accept, they return as the same person, with their history.

How do I delete my account, or my whole workspace?

In the dashboard or the Android app, open Settings, then My account.

Delete my account removes you: your access to the workspace, your sign-in, your work phone, your notification subscriptions and your blocked numbers. It happens at once. The leads you worked on, and the notes and calls you logged, stay with the business, because they are its records; an owner can hand your leads to someone else. If you belong to another workspace, your sign-in stays for that one.

If you are the workspace's only owner, you cannot delete your account on its own. Delete the workspace, or make someone else an owner first in Users & Roles.

Delete this workspace is for owners. You type the workspace's name to confirm, and the workspace is deleted 30 days later, with everything in it. Until then it keeps working, every page shows the date, and any owner can cancel. A paid subscription is cancelled before the deletion.

If you cannot sign in, email support@syncdo.co from your account's address and ask for the deletion. The page syncdo.co/delete-account explains what is deleted and what is kept.

How do I call a lead from my computer, and get reminders pushed to my phone?

With a work phone, on paid plans. It needs the Syncdo Android app on an Android phone; on iPhone, use the web app at app.syncdo.co.

  1. Install the Syncdo app from Google Play on your work phone and sign in as yourself. That makes it your work phone; there is no separate setup step. One work phone per person: signing in on a second phone asks before it takes over.
  2. On a lead in the dashboard (or in the panel inside WhatsApp Web), press Call. The phone counts down and dials from your work SIM, and your computer says what happened: dialling, cancelled, or not reachable. WhatsApp on phone opens that chat on the phone.
  3. Reminders are pushed to the work phone shortly before they are due, even when the app is closed.

Settings, then Phones lists the work phones with a health line in plain words, and Remove. Signing out of the app stops the phone being a work phone.

On the free plan, Phones says work phones aren't on your plan, and Call says why instead of ringing. Calls with your leads are still logged from the app on every plan. If a paid plan lapses, the phone keeps logging calls and works as a work phone again by itself when the plan is back.

How do I call through a list of leads on my phone?

Use the Rapid Dialer in the Syncdo Android app.

  1. Open Contacts, or a saved filter, and open the first lead.
  2. Tap Call. On paid plans the call goes out from your work SIM; on Free your phone's dialler opens with the number ready.
  3. When the call ends, pick the outcome on the after-call card, add a note or a follow-up if you need one.
  4. Tap the arrow to the next lead. The bar shows where you are, for example 3 of 15.

Every call with a lead is logged on it with its duration and outcome.

Where do I see call duration, outcomes and talk time?

On the lead and in Reports.

  • Each call with a lead shows on its timeline with the direction, duration and outcome, for example Outgoing call · 4 min · Interested.
  • Reports, then Calls, shows attempted, connected and talk time for the team and for each person. Talk time adds up connected calls.
  • The Leaderboard ranks the team by calls made or talk time.

Calls come from the Syncdo Android app, so the call figures fill in once someone on the team uses it.

When something is wrong

Fixes for the problems people hit most often.

The panel will not appear

Six things cause this. The first two account for most of it.

  1. You are not on web.whatsapp.com. Syncdo is a browser extension and only runs on that page. It cannot reach the WhatsApp desktop app or the app on your phone.
  2. The page has not finished loading. Syncdo waits for WhatsApp to load your chat list before it does anything, so the panel arrives just after your chats do. Give it a few seconds on a slow connection.
  3. The panel is closed. When you close it, a small tab stays at the edge of the window. Syncdo remembers that between visits, so a panel you closed last week is still closed today. Click the tab to open it.
  4. Syncdo is switched off. The extension has an on/off switch in its popup. Click the Syncdo icon in your Chrome toolbar to check. When it is off, nothing loads at all.
  5. You have not connected an account yet. A new install shows a strip across the top of WhatsApp Web with a link to activate.
  6. The extension was just updated. A tab that was already open is still running the old copy. Reload the WhatsApp Web tab.

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.

The Syncdo panel looks half empty (no AI, reminders or call buttons)

Reload the WhatsApp Web tab.

When WhatsApp Web opens, Syncdo loads your plan, your lead fields and your settings once. If one of those requests fails on the way, for example on a slow or dropped connection, the panel shows only part of what you have: the AI summary, reminders or the call buttons can be missing. Nothing is lost. Reloading the tab loads everything again.

If it is still half empty after a reload, check the small tab at the edge of the window. If it is red, Syncdo cannot reach its server; see the entry on the red edge tab.

The edge tab has turned red

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 connection; Syncdo keeps trying by itself. If it lasts more than a few minutes, email support@syncdo.co.

I clicked a lead and Syncdo says this number isn't on WhatsApp

When you click a lead you have never chatted with on this WhatsApp number, Syncdo asks WhatsApp about the number first, the same way WhatsApp does when you start a new chat yourself. Then one of three things happens.

  • The number is on WhatsApp. An empty chat with that person opens, ready for you to type. Nothing is sent.
  • The number is not on WhatsApp. You see the message below, and the lead's row in the Syncdo list shows a red Not on WhatsApp label. Hover over it to see when it was checked.
  • Syncdo could not ask WhatsApp. You see "Couldn't open this chat from Syncdo." with an Open in WhatsApp button. The button opens the chat through WhatsApp itself, which reloads the page.
This number isn't on WhatsApp

That answer comes from WhatsApp, at the moment you clicked. The usual causes are a wrong or missing country code, a landline or office number, or a person who has not set up WhatsApp on that number. Check the number on the lead and correct it if it is wrong.

The red label is kept only in this browser. It clears by itself after 30 days, or as soon as a later click opens the chat. To check again, click the lead again after about ten minutes. Syncdo reuses the answer for ten minutes so it does not ask WhatsApp over and over.

Syncdo only asks when you click a lead, one lead at a time. It never checks your whole list in advance. Bulk sends and scheduled messages do not start new chats this way: someone who has no chat on this number is still skipped with the reason shown, because messaging people who have never messaged you is what gets numbers restricted.

A chat is not being picked up

Four reasons. The first one is normal.

  • It is a group. Syncdo never reads group chats, so it does not see their messages, their members or their history. A group cannot become a lead. This is built into how the extension reads WhatsApp, and there is no setting for it.
  • It is not a lead yet. Opening a chat does not add it. A conversation starts being tracked when it is a lead — when you add it, from the panel or from your unsaved chats.
  • WhatsApp has not loaded that chat in this browser. Syncdo reads chats out of your live WhatsApp Web session, so a chat that has not loaded is skipped this time and picked up as soon as it does. Nothing is marked as failed and there is nothing to reset.
  • This browser is signed into a different WhatsApp account. Then nothing from it is being saved at all. See the entry on the wrong workspace or number.

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.

Sync looks stuck

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 it says Sync finished, followed by one sentence that accounts for every lead: 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.

I am seeing the wrong workspace or number

Click the Syncdo icon in your Chrome toolbar. The popup shows your workspace name, your name and the number Syncdo is connected with, and it will be in one of four states.

  • Connected. The number open in WhatsApp Web is the one Syncdo is connected to. Nothing to do.
  • WhatsApp not open. Syncdo could not see a number, so it greys out the one it has and asks you to open WhatsApp Web. This is normal.
  • Different WhatsApp account. See below.
  • Not connected. Syncdo refused the key it has. The popup says your API key may have been regenerated or deactivated.

The 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. Syncdo stays connected to the first number and saves nothing from the second.

There are two ways out.

  1. To keep using the connected number, sign WhatsApp Web back into it. Everything is saved again straight away.
  2. To use the new number in this browser instead, remove Syncdo from Chrome and add it again from the Chrome Web Store, then sign in with your email in WhatsApp Web while the new number is open. The new number must already be a WhatsApp number in your workspace: an owner or admin adds it in Settings → WhatsApp Numbers first. Your leads and history are kept in your workspace, not in the browser, so nothing is lost.

The Reconnect link in the popup only takes you to the WhatsApp Web tab, and pasting the other number's key into the popup does not switch numbers. Use one of the two ways above.

If your workspace name is wrong rather than your number, you are signed into a different Syncdo account. Remove Syncdo and add it again, then sign in with the email address that owns the workspace you expect.

Will WhatsApp restrict my number? How does Syncdo pace sending?

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 Syncdo sends goes out through your own WhatsApp Web session, one message at a time — either because you pressed send, or from something someone in your workspace set up to send: a scheduled send, a cadence, a sequence, a rule or a reminder message. Those go out only while WhatsApp Web is open.

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.

Sends fail and I have another WhatsApp extension installed

Syncdo sends your messages through WhatsApp Web itself. Many other WhatsApp extensions, such as bulk senders and automation tools, do the same. When two of them work on the same WhatsApp Web page they can get in each other's way, and a message fails to go.

When Syncdo spots another extension like that, the panel may tell you after a send fails:

Another WhatsApp extension is active and may interfere with sending.

It never appears after a send that worked. Click × to hide it until you reload WhatsApp Web.

  1. Open Chrome's Extensions page.
  2. Turn the other WhatsApp extension off, or change its site access so it does not run on web.whatsapp.com.
  3. Reload WhatsApp Web and try the send again.

Syncdo never switches another extension off and never reads it. Which one to keep running is your choice.

None of this helped. What should I send you?

One person answers these, so the quickest thing you can do is answer the questions we would ask:

  • The workspace name and the number shown in the extension popup.
  • Which entry above is closest, and what you have already ruled out.
  • The exact wording of any message on screen, copied rather than described.
  • Whether it still happens in a fresh WhatsApp Web tab after a reload.

Email support@syncdo.co. We read every message personally.

For developers: webhooks and the API

Sending enquiries into Syncdo from a form or an automation tool — and, on the paid plans, the API and outbound webhooks.

How do I get a webhook URL?

In Syncdo, go to Settings, then Inbound Webhooks. You need to be an owner or an admin. Type a name you will recognise later — "Website contact form" — and choose Create.

The URL is shown once, and only once, with a Copy button beside it. Choose Copy and keep it somewhere safe: Syncdo stores it hashed and cannot show it again. If you did not copy it in time, choose Rotate 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.

What do I send to the webhook?

A JSON POST to the URL. Only phone is required; everything else is optional.

  • phone — the customer's WhatsApp number. Send it with a leading + and its country code and Syncdo takes it exactly as given. Spaces, dashes and brackets are fine. Without the +, the country code followed by the number (33 6 12 34 56 78), 00 in front (0033 6 12 34 56 78) and Facebook's p:+ format are read correctly too.
  • name — up to 200 characters. Left alone if the lead already exists and you send a blank.
  • email, company — up to 200 characters each. city, state — up to 120 each. All stored on the lead.
  • message — up to 4,000 characters. Saved as a note on the lead, not as a WhatsApp message, because nothing was sent or received.
  • country — a two-letter code such as IN, US, GB, AE, SG. Tells Syncdo how to read a number written in national format. Not needed if you send the number with a +.
  • id — up to 200 characters, your own reference for this submission. See the entry on the id field.
  • fields — your own lead fields, by their key: "fields": { "budget": 5000, "tier": "Gold" }. The keys are shown under Settings, then Lead Fields. Each value is checked against its field: a number, a date as YYYY-MM-DD, true or false, one of a dropdown's options, or a list of words for a tag field.

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. A key under fields that is not one of your lead fields is listed the same way, as fields.key. A value that does not fit its field, such as text in a number field, is left out and listed in rejected_fields with the reason. The lead is still saved with everything else, and a blank value never erases one already there.

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.

The lead's source is the webhook's name. If your Source field is a dropdown, the source must be one of its options, in any capitals; if the name is not, your option called Website form is used when you have one. With neither, the source is left out, listed in rejected_fields, and shown on the webhook in Settings, then Inbound Webhooks. The lead is still saved.

How do I test it with curl?

The webhook takes a JSON POST, so you can fire a test from a terminal with curl before you wire up a real form.

First copy your URL from Settings, then Inbound Webhooks. It looks like this, with your own secret on the end:

https://api.syncdo.co/api/inbound/YOUR_WEBHOOK_SECRET

Then send a test lead. Set the content type to application/json and put the fields in the body:

curl -X POST "https://api.syncdo.co/api/inbound/YOUR_WEBHOOK_SECRET" -H "Content-Type: application/json" -d '{"phone":"+91 98765 43210","name":"Rahul Sharma","email":"rahul@example.com","company":"Metro Traders","message":"Is this still available?"}'

A new lead comes back like this, with the phone number as Syncdo stored it:

{"ok":true,"phone":"919876543210","created":true}

Open the dashboard and the lead is there, filed under the webhook's name, with the message saved as a note. Only phone is required, so you can drop every other field. Send the same body again within a day and Syncdo treats it as a repeat and creates nothing — change the phone number to make a second test lead.

What happens when the number is already a lead?

A second lead is never created. Syncdo finds the existing one and updates it, and the response comes back with created: false.

  • Name, email, company, city, state and each of your own lead fields follow the webhook's choice for that field. Replace if empty fills a field only when the lead has nothing there; Overwrite replaces it. A new webhook uses Replace if empty for every field, and a lead field you add later starts on Replace if empty too. Webhooks created before this choice existed overwrite, as they always did, until you change them under Edit. A blank value never erases anything. A change applies to leads arriving from now on; the leads already there are unchanged.
  • The pipeline stage is left exactly as it is. A returning enquiry does not knock a lead back to New.
  • Who it is assigned to is left exactly as it is.
  • Existing WhatsApp history, notes and deals are untouched. The message, if you send one, is added as a new note.
  • The lead keeps the batch it originally arrived under.
How do I choose who gets the leads from a webhook?

Choose it when you create the webhook, or later with Edit under Settings, then Inbound Webhooks. There are three choices.

  • The workspace owner. This is the default.
  • One person. Every new lead goes to them.
  • Share among teammates. Tick the people. Syncdo splits the leads evenly and shows each person's percentage — three people get 34%, 33% and 33%. Choose Custom % to set the shares yourself; they must add up to 100%.

Leads are handed out in turn, not at random, so nobody gets four in a row by chance. Only active teammates get leads: if someone is deactivated, they are skipped and the others share their turn. Under If none of them is active, assign to, pick who should get the lead when everyone chosen is inactive. If you leave it as the workspace owner, or that person is inactive too, the owner gets it.

Each webhook also shows when it was added, how many leads it has received, when the last one arrived and who set it up. If the last lead suddenly looks weeks old, check the form that sends to it.

The same choices appear when you import a CSV, and they work the same way.

What is the id field for?

Form tools 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.

  • Same id sent twice: the second call is recognised as a redelivery. It returns 200 with duplicate: true and does nothing at all — no second lead, no second note, and the rotation does not advance. Syncdo remembers an id for 30 days.
  • No id sent: Syncdo falls back to the phone number and what was sent. The same submission sent again from the same number within 24 hours is treated as a redelivery and ignored — differences in capital letters or spacing do not count. A different message from the same number is a new enquiry: the lead is updated and the message is added as a note. After 24 hours even an identical submission is a fresh enquiry.
  • Two different ids, same number: two separate enquiries. Both are processed and both messages are added as notes.

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.

What comes back, and what do the errors mean?

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.

  • 404 not_found — the URL is wrong, the secret has been rotated and the old one has expired, or the webhook is switched off. The same response is returned whether or not a webhook exists, so a 404 never confirms a guess.
  • 400 phone_required — no phone number was sent, or it contained no digits. Make phone required on your form.
  • 429 rate_limited — more than 60 submissions in a minute. Wait and retry; the response carries a Retry-After of 60 seconds.
  • 403 contact_limit_reached — the workspace is at its contact limit on its plan, so a brand-new lead was not created. A number you already have is still updated; only a new contact is refused. Remove some contacts or move to a paid plan, then retry.
  • 503 no_assignee — the workspace has nobody to give the lead to: everyone chosen for the webhook and its fallback are deactivated, and there is no active owner. Nothing is wrong with your request; someone needs to add an active person under Settings, then Inbound Webhooks.
  • 503 unavailable — Syncdo could not complete the request. Retry; nothing was created.

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.

How do I rotate, turn off or delete a webhook?

If a URL is exposed — pasted in a shared document, committed to a repository — choose Rotate 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.

To stop a webhook, choose Turn off. It then refuses new submissions but keeps everything else — its people, their shares, and its place in the rotation — and you can turn it back on later. There is no delete: a webhook is turned off, never removed, so its history and its place in the rotation are never lost.

To change a webhook, choose Edit. You can rename it, change who gets its leads, and change what happens when a number is already a lead. Changes apply to leads that arrive from now on; leads already in Syncdo keep who they are assigned to, their source and their batch. Renaming changes the source and batch that new leads get.

How do I send leads from Zapier, Make or Pabbly?

Syncdo is not a native app inside Zapier, Make or Pabbly, and it does not need to be. Each of them has a generic action that sends a web request, and you point that at your webhook URL.

  • Zapier: add an action step, choose Webhooks by Zapier, then Custom Request. Set the method to POST, the URL to your webhook URL, and the payload type to JSON.
  • Make: add an HTTP module and choose Make a request. Set the method to POST, the URL to your webhook URL, and the body to JSON with your fields.
  • Pabbly Connect: add an action step and choose the API by Pabbly or Webhook action. Set the method to POST, the URL to your webhook URL, and the body to JSON.

Syncdo has no field-mapping screen of its own. You choose which of your fields go where inside the tool: map one field to phone, which is required, and any of name, email, company, city, state and message. Send the phone with a leading + and its country code. If your tool has its own unique id for the record, pass it as id, so a retry after a timeout does not create a second lead.

Keep the URL out of anything a visitor can read — it is the only credential the webhook has.

On the paid plans you can also use an API key from Settings, then API & webhooks: the tool's HTTP action posts to https://api.syncdo.co/v1/leads with the key in the Authorization header, and it can also find leads, add notes, move stages and work with deals. Syncdo does not yet have its own app inside Zapier, Make, Pabbly, Integrately or n8n.

How do I get an API key?

The Syncdo API is on the paid plans — Essentials and Intelligence, including lifetime deals — not on Free. The workspace owner finds it under Settings, then API & webhooks.

Make one key for each tool you connect, named after it — "Zapier", "Website", "n8n". The key starts with sya_ and is shown once, with a Copy button: Syncdo keeps only a fingerprint of it and cannot show it again. If it is lost, make a new key and revoke the old one.

To make a key you need only a name and who gets the leads it creates. What happens when the number is already a lead is under Advanced: updating existing leads, closed; a new key fills only empty fields (Replace if empty) for every field. These are the same choices as an inbound webhook or a Google Sheet. The key's name becomes the source and batch of those leads. If your Source field is a dropdown, the name is the source only when it is one of its options; otherwise your option called API, if you have one, and with neither the lead has no source and the key's card says why. Edit changes all of them later; changes apply to leads that arrive from then on.

Pause stops a key until you resume it. Revoke stops it for good. Either way the leads, notes and deals it created stay, and each lead's history says "API: <key name>" for every change the key made.

A key can read and change every lead in the workspace, so only the owner can make one. Keep it on a server, never in a web page.

What can the API do?

Requests go to https://api.syncdo.co/v1 with the header Authorization: Bearer followed by your key. The full reference is at syncdo.co/developers/api.

  • Leads: create one (it arrives exactly like a form enquiry — a number already in Syncdo updates that lead instead of making a second one), find leads by phone, email or when they were added or changed, search them by name, company or part of the number, filter them by stage or by who they are assigned to, read one — with its last 10 events and its next reminder if you ask — and update its name, email, company, city, state and your own lead fields.
  • Reminders: list the open ones due today, overdue or coming up, in the workspace's own time zone.
  • Pipeline: how many leads are in each stage, and the deals open now and won and lost this month, with totals per currency.
  • Notes: add a note to a lead, or read its notes.
  • Stages: move a lead to one of your lead stages. Rules run as for any move.
  • Deals: open a deal on a lead, change its value or stage, and close it as won, lost or cancelled.
  • GET /v1/stages and GET /v1/fields list your stages and lead fields, for tools that offer a drop-down.

Every error comes back with ok: false, a code in error and a sentence in message. A lead field the workspace does not have is refused by name rather than stored where nobody would see it.

Each kind of request is limited to 120 a minute per workspace, shared by all its keys; creating leads is also limited to 60 a minute per key. A busy tool gets 429 with Retry-After and should wait that long.

How do I get events out of Syncdo?

On the paid plans, the workspace owner adds a webhook under Settings, then API & webhooks: a name, an https URL, and the events to send — a new lead, a lead's stage changing, a deal won, a deal lost, a reminder falling due. Syncdo posts each event to the URL as JSON, usually within a minute. Only events that happen after the webhook is added are sent, and leads from a CSV import are not sent as new leads.

"Send test event" posts a sample at once and shows whether it arrived. Each webhook's Deliveries list shows every event sent, whether it arrived, how many attempts it took and the last error, kept for 30 days; Resend sends any of them again.

Your URL should answer with a 2xx within 10 seconds. If it does not, Syncdo tries again after 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours and 12 hours. A webhook that fails 20 times in a row over at least a day is turned off, and the page says why; an answer of 410 Gone turns it off at once. Turn on starts it again, from then on.

Pausing a webhook cancels the deliveries waiting to be retried (Resend brings any back) and nothing that happens while it is paused is sent. Deleting it deletes its delivery list too. Edit changes the name, URL and events from the next delivery.

How do I check a webhook really came from Syncdo?

Each webhook has a signing secret, starting whsec_, shown once when it is added. "New secret" makes another, also shown once; the next delivery is signed with the new one, so update your receiver straight away.

Every delivery carries a Syncdo-Signature header that looks like t=1791364500,v1=5d2a… . Take the number after t=, a full stop, and the request body exactly as it arrived, and compute HMAC-SHA256 of that with your secret, as hex. It must equal the part after v1=. Refuse a t more than five minutes old, so an old delivery cannot be replayed.

The headers also carry Syncdo-Event (the event's type) and Syncdo-Event-Id. The event id is the same on every retry, so if you see one twice, you have already handled it. Code for Node.js and Python is in the API reference at syncdo.co/developers/api.

How do I capture leads from Facebook Lead Ads?

Syncdo does not connect to Facebook directly. Facebook Lead Ads reach Syncdo the same way any other tool sends a lead: through something that forwards it to your webhook URL.

There are two common routes.

  • An automation tool. Zapier, Make and Pabbly each have a Facebook Lead Ads trigger. Use it to catch every new lead, then add a webhook action that posts to your Syncdo URL, exactly as in the entry on sending leads from Zapier, Make or Pabbly. Map the lead's phone to phone, full name to name, and email to email.
  • A Google Sheet. Facebook can write each new lead into a Google Sheet for you. A tool that watches the sheet then posts every new row to your webhook URL.

Facebook usually gives you the phone number with its country code already, which is what Syncdo wants. If you type numbers into a Google Sheet yourself, put an apostrophe before a leading + ('+33 6 12 34 56 78) or set the phone column to Plain text (Format, then Number, then Plain text), because Google Sheets otherwise treats the + as the start of a formula. Pass the lead's id from the tool if it has one, so a retry does not double up. Every lead that arrives this way is filed under your webhook's name, so you can filter for your Facebook enquiries later.

Still have a question?

We read every email personally.