Help Center

Everything you need to know about using PingPlug — from setup to advanced features.

Getting Started

How to connect your WhatsApp Business number

5 min read

  1. 1In Meta, open developer.facebook.com → your app → WhatsApp → API Setup. Three values come from that page.
  2. 2Copy the Phone Number ID for the number you want to use.
  3. 3Copy the WhatsApp Business Account ID shown above it.
  4. 4Generate an access token. A permanent System User token is worth the extra step — a temporary one expires and sending stops without warning.
  5. 5In PingPlug, open Settings → WhatsApp and paste all three in. The wizard checks them against Meta before saving, so a wrong value is caught here rather than at your first send.
  6. 6You'll see a green ✓ Connected status when it's done.
  7. 7There is also a Connect with Meta button, which hands you to Meta's own signup flow. If it answers that the login is unavailable, use the three values above instead.
💡 Tip: If you don't have a WhatsApp Business number yet, create one free at business.whatsapp.com before connecting.

Setting up your first broadcast message

3 min read

  1. 1Go to Broadcasts → New Broadcast in the sidebar.
  2. 2Step 1 — Pick a template: Choose an approved WhatsApp message template. If you don't have any, go to Settings → Templates to create one.
  3. 3Step 2 — Select your audience: Choose which contacts to send to. You can filter by tags, or select all.
  4. 4Step 3 — Personalize: Add variable values like {{first_name}} if your template uses them.
  5. 5Step 4 — Schedule or send: Either send immediately or pick a date and time.
  6. 6Your broadcast will start sending. Track delivery, read rates, and replies in real time on the broadcast detail page.
💡 Tip: A broadcast always goes out as an approved template, and a template can be sent to anyone. The 24-hour window is a separate rule and applies to free-form messages: you can only type a normal reply to someone who has messaged you within the last day. Marketing templates are also charged by Meta, whether or not that window is open.

Importing contacts via CSV

2 min read

  1. 1Go to Contacts in the sidebar.
  2. 2Click the Import button (top right).
  3. 3Download the CSV template to see the correct format.
  4. 4Fill in your contacts: name, phone number (with country code, e.g. +923001234567), email, company.
  5. 5Upload your CSV file.
  6. 6PingPlug will import all contacts and show you a success count.
  7. 7Your contacts are now available for broadcasts and automations.
💡 Tip: Always include the country code — +44 for the UK, +92 for Pakistan, +971 for the UAE. A number saved in national form (07826…) does not match the same number in international form (+447826…), so importing both creates two contacts for one person, and a broadcast then messages them twice.

Inbox & Messaging

How the omni-channel inbox works

2 min read

  1. 1The Inbox shows conversations from all your connected channels in one place.
  2. 2WhatsApp (🟢) — messages from your WhatsApp Business number.
  3. 3Instagram (📸) — direct messages from your Instagram Business account.
  4. 4Facebook (📘) — messages from your Facebook Page via Messenger.
  5. 5Use the channel tabs at the top to filter by platform.
  6. 6Click any conversation to open it. Reply directly from the composer at the bottom.
  7. 7Use the ✨ AI Suggest button (sparkle icon) to get 3 AI-generated reply suggestions instantly.
💡 Tip: Connect Instagram and Facebook pages in Settings → Channels.

Assigning conversations to team members

1 min read

  1. 1Open any conversation in the Inbox.
  2. 2Look for the Assign button in the conversation header.
  3. 3Select a team member to assign the conversation to.
  4. 4The assignee's name shows in the conversation header, and they can find everything assigned to them with the Assigned to me filter in the Inbox.
  5. 5Assignment marks who owns a conversation — it does not hide it from anyone. Everybody on the team still sees every conversation, which is what lets somebody else pick it up when the assignee is away.
  6. 6Use the status dropdown (Open / Pending / Closed) to manage conversation state.
💡 Tip: Use automations to auto-assign conversations based on keywords or contact tags.

Why a message failed to send

4 min read

  1. 1A message with a red cross next to it was not delivered. WhatsApp often accepts a message first and reports the failure a moment later, so a message can look sent and then fail.
  2. 2The reason is printed under the message itself — WhatsApp's own wording and error code, where the failure is. Failures from before this was recorded show "Not delivered" and point you at your notifications instead.
  3. 3You also get a notification naming the number, the reason, and a link straight to the conversation. To avoid burying you when several fail at once, one alert is raised per hour — the rest are still recorded, so check the Inbox if you were expecting more.
  4. 4The number is not on WhatsApp. The most common cause by far, and it usually means the number was typed with the wrong country code or belongs to a landline. Correct the contact and try again.
  5. 5More than 24 hours have passed since they last messaged you. WhatsApp only allows free-form replies inside that window. After it closes you must send an approved template — the composer switches to templates automatically when this happens.
  6. 6Meta held the message back. There is a limit on how many marketing messages a person receives. Nothing is wrong with the number or your account; the message simply was not delivered.
  7. 7Something is wrong with the template. It may not exist in the language you sent it in, the number of variables may not match what the template defines, or Meta may have paused it for poor quality feedback. A paused template cannot be sent at all until it is replaced.
  8. 8Your marketing templates fail but replies still work. This looks like a template problem and is not — it is an account-level billing state, and it is narrower than "templates are broken". We have watched a utility template be delivered and read eighteen seconds before a marketing one to the same number was refused. Replies inside the 24-hour window keep working, and PingPlug goes on sending those and your utility templates rather than holding everything back, so you are not cut off from your customers while you sort it out.
  9. 9Utility templates mostly keep working, but check the important ones. On the same account and the same day, an order-confirmation template was delivered and read in the morning and refused with the same billing error that evening. So treat an order update sent during a block as worth confirming rather than assuming it landed — marketing is what reliably stops, and utility is what usually survives.
  10. 10Meta reports that as error 131042, worded as "unsettled payments" — but their own documentation lists several causes for it, and an unpaid bill is only one. The others include no payment method attached to the WhatsApp Business Account, a payment configuration that is not set or not active, and the account's currency or timezone not being configured.
  11. 11Check for billing history before paying anything. In WhatsApp Manager, look at whether Meta has ever charged you for this number. A payment method on file, a zero balance and no charges at all means the account is not set up to be billed rather than behind on a bill — and paying again will not change that. PingPlug checks this for you when it sees this error and puts the answer in the red bar across the Inbox.
  12. 12For a broadcast, open the campaign and look at the recipient list — the reason is shown against each person who did not receive it, and it is included in the CSV export.
💡 Tip: Failures from before this reporting was added show no reason — those causes were never recorded and cannot be recovered. Anything that fails from now on will say why.

Using AI reply suggestions

1 min read

  1. 1Open any conversation in the Inbox.
  2. 2In the message composer at the bottom, click the ✨ sparkle icon.
  3. 3PingPlug reads the last 10 messages for context and generates 3 reply suggestions using Claude AI.
  4. 4Click any suggestion to paste it into the composer. Edit it if needed, then send.
  5. 5This works for WhatsApp, Instagram, and Facebook conversations.
💡 Tip: AI suggestions work best when there are at least 2-3 messages in the conversation for context.

Automations

Creating your first automation

3 min read

  1. 1Go to Automations → Create Automation.
  2. 2Set a trigger — what starts the automation: keyword match, new inbound message, first message from a contact, new contact created, conversation assigned, tag added, or a customer returning after going quiet.
  3. 3Time-Based also appears in that list, and nothing fires it yet — an automation set to it saves, shows as Active and never runs. The builder says so where you pick it. Use one of the triggers above until that changes.
  4. 4Add steps — actions to take when triggered. You can: send a message, send a WhatsApp template, add/remove a tag, assign a conversation, wait X minutes/hours, add a condition branch, or create a deal.
  5. 5Turn the automation Active when ready.
  6. 6Every time the trigger fires, the automation runs and logs results in Automations → Logs.
💡 Tip: Start with a simple keyword automation: trigger = 'keyword match: price' → send a message with your pricing info.

Setting up auto comment reply (Instagram & Facebook)

2 min read

  1. 1First, connect your Instagram or Facebook page in Settings → Channels.
  2. 2Go to Comment Replies in the sidebar.
  3. 3Click New Rule.
  4. 4Select the platform (Instagram or Facebook) and which page.
  5. 5Optionally enter a Post ID to target a specific post, or leave blank for all posts.
  6. 6Enter keywords that trigger the rule (e.g. 'price', 'info', 'buy') — or leave blank to reply to every comment.
  7. 7Write the DM message that gets sent automatically to the commenter.
  8. 8Optionally add a public comment reply (posts a reply below their comment).
  9. 9Save the rule and it goes live immediately.
💡 Tip: Great for giveaways, promotions, and lead generation on social posts.

Drip campaigns with the Wait step

3 min read

  1. 1A drip campaign sends a series of messages over time automatically.
  2. 2Create a new Automation with trigger: New contact created or Tag added.
  3. 3One thing to know about Tag added: it fires when you add a group to somebody from their own contact panel. It deliberately does not fire from the bulk "add to group" button on the Contacts list, because tagging 500 people would start 500 automations at once and a send step would message all of them. It also does not fire from the contact editor, which rewrites every tag when you save and would re-run the automation for tags that had not changed.
  4. 4Add a Send Message step for your first message.
  5. 5Add a Wait step — set it to 1 day, 2 days, etc.
  6. 6Add another Send Message step for the follow-up.
  7. 7Repeat for as many drip steps as you want.
  8. 8Turn the automation active. New contacts will automatically enter the drip sequence.
💡 Tip: Use tags to segment contacts into different drip sequences (e.g. 'cold-lead' vs 'hot-lead') — adding the tag from a contact's own panel is what starts theirs. To put a whole list into a sequence at once, build it under Drip Sequences with trigger 'Manual enrollment', press play to make it active — the add-contact button only appears on an active sequence, because enrolling into a paused one would queue messages that never send — then add people from there. Or send them a broadcast instead.

Instagram & Facebook

Connecting your Instagram Business account

3 min read

  1. 1Your Instagram account must be a Business or Creator account linked to a Facebook Page.
  2. 2Go to Settings → Channels in PingPlug.
  3. 3Click Connect next to Instagram.
  4. 4Follow the instructions to get a User Access Token from Meta for Developers.
  5. 5Paste the token and click Connect.
  6. 6PingPlug will automatically connect all Instagram pages you manage.
  7. 7Instagram DMs will now appear in your inbox with the 📸 indicator.
💡 Tip: If your Instagram isn't showing up, make sure it's connected to a Facebook Page in your Facebook Business Manager.

Connecting your Facebook Page for Messenger

3 min read

  1. 1Go to Settings → Channels in PingPlug.
  2. 2Click Connect next to Facebook Messenger.
  3. 3Get a User Access Token from the Meta Graph API Explorer with 'pages_messaging' permission.
  4. 4Paste the token and click Connect.
  5. 5All your Facebook Page messages will appear in the inbox with the 📘 indicator.
  6. 6Reply to Facebook Messenger conversations directly from PingPlug.
💡 Tip: Facebook Messenger messages can be automated using the Automations feature.

Billing & Plans

Understanding the contact limit

1 min read

  1. 1Your plan's contact limit is the maximum number of unique contacts you can have.
  2. 2Free: 100 contacts. Starter: 5,000. Growth: 25,000. Unlimited: no limit.
  3. 3When you reach 80% of your limit the usage bar on the Billing page turns yellow, and red once you reach it.
  4. 4At the limit, what stops is importing: a CSV import is refused rather than partly applied, so you always know where you stand.
  5. 5Contacts still arrive by other routes, and that is deliberate. Somebody who messages your WhatsApp number is saved as a contact even when you are over — refusing would mean dropping a customer's message — and so is a number you enter yourself with New Chat in the Inbox. So your contact count can keep rising while imports are blocked.
  6. 6Nothing is ever deleted for being over the limit, and messaging, broadcasts and automations to your existing contacts carry on as normal.
  7. 7Upgrade from the Billing page. The new limit applies as soon as your payment is confirmed.
💡 Tip: The contact limit counts total contacts in your account, not messages sent. If an import is refused while your contact count is still climbing, both are working as intended — only the import path enforces the limit.

How to upgrade your plan

1 min read

  1. 1Go to Billing in the left sidebar.
  2. 2Under 'Choose a plan', click Upgrade on the plan you want.
  3. 3You'll be redirected to a secure LemonSqueezy checkout page.
  4. 4Complete payment (credit card or PayPal).
  5. 5Your plan upgrades instantly — no waiting.
  6. 6To cancel or change your card, click Manage billing & invoices on the Billing page.
💡 Tip: All payments are handled securely by LemonSqueezy. PingPlug never stores your card details.

Connect your own systems

Letting your till or shop send WhatsApp messages

3 min read

  1. 1If you already have a system that knows when something happens — a till taking an order, a shop confirming a purchase, a booking system taking an appointment — it can send the WhatsApp message for you instead of somebody typing it.
  2. 2Create a key under Settings → API. Give it a name after whatever will use it, tick what it may do, and copy the key when it appears.
  3. 3The key is shown once. Only a scrambled version is stored, so nobody — including us — can show it to you again. If you lose it, revoke it and make another; nothing else breaks.
  4. 4Tick only what that system needs. A till that sends order updates needs `messages:send` and nothing else. Ticking everything means a key that leaks can also read your contacts.
  5. 5`messages:send` spends money. Every template message is charged by WhatsApp, so a key with that scope is a key that can run up a bill.
  6. 6Hand the key to whoever builds the integration, along with the address of the API documentation at /docs/api — that page has the exact requests, with examples they can copy.
💡 Tip: The keys list shows when each one was last used. A key that says "Never used" after the integration was meant to go live is the fastest way to spot that it was never actually wired up.

Getting told when something happens (webhooks)

3 min read

  1. 1A webhook is PingPlug telling your system, rather than your system asking us. Add one under Settings → Webhooks with the address it should send to, and tick the events you care about.
  2. 2There are three: a customer replied, a message you sent was delivered, read or failed, and an automation finished.
  3. 3The message-status one is the useful one. When your system sends a message it gets back "WhatsApp accepted it" — which is not the same as it arriving. The webhook is how you find out what actually happened.
  4. 4Every delivery is signed, so your server can check it really came from us and not from somebody who guessed your address. The signing secret is on the endpoint, and /docs/api shows the few lines of code that check it.
  5. 5Failures are visible on the endpoint. If your server is down or returns an error, the last error and the number of failures in a row are shown on that row in Settings.
  6. 6After 20 failures in a row an endpoint is switched off and says so. That stops a broken address slowing everything else down. Fix your end, then press Turn on — that also clears the failure count.
💡 Tip: A failed delivery is tried up to three times over a few seconds, which covers a server that was restarting. It is not a queue, though — if your server is down for ten minutes, that delivery is recorded and dropped. So if a message absolutely must not be missed, have your system check the message status directly rather than relying only on the webhook.

Starter packs: the messages your trade actually sends

2 min read

  1. 1Writing WhatsApp templates that Meta will approve is the slow part of getting started. Settings → Templates has starter packs for six trades: restaurants and takeaways, retail and e-commerce, clinics and dentists, salons and barbers, education and coaching, and logistics and couriers.
  2. 2Open one to read every message before you add it. They arrive as drafts — installing does not submit anything, and only Meta can approve a template.
  3. 3So the order is: add the pack, read and edit anything you want changed, then submit them in WhatsApp Manager. Once Meta approves them they can be sent, by hand or by your own systems.
  4. 4Notice the Utility and Marketing labels. That choice decides whether a message still arrives when something goes wrong with billing on your WhatsApp account: order updates and appointment reminders keep working, marketing does not. The packs label each one so you can see which is which.
  5. 5A pack never overwrites. If you already have a template with the same name, that one is left exactly as it is and the installer tells you which it skipped.
💡 Tip: If you only take one thing from a pack, take the categories. A "your order is on its way" message submitted as Marketing instead of Utility is the one that disappears on the day you most need it.

Still need help?

Our support team is ready to assist you.

Email Support