Blog
Articles, tutorials, and announcements from the UnifyPort team.
- Tutorial
Leave a WhatsApp Group via API: A Safe Exit Workflow
Exit a WhatsApp group with UnifyPort using the correct account and group ID. Separate membership changes from history cleanup, queued replies, and uncertain results.
Read more → - Tutorial
Telegram Formatting Errors: Send Dynamic Text Safely With HTML
Diagnose Telegram parse-mode failures, escape dynamic HTML text correctly, and keep Bot API formatting separate from UnifyPort's provider_data contract.
Read more → - Tutorial
LINE Loading Animation Not Showing? Check the Chat and Timing
Display a LINE loading animation with chatId and loadingSeconds, then diagnose invisible indicators without confusing UI feedback with reply-token validity.
Read more → - Tutorial
Telegram Bot API 429: Handle retry_after in Your Send Queue
Handle Telegram send limits with persisted retry_after deadlines, shared worker cooldowns, and separate recovery for uncertain sends. Keep Bot API and UnifyPort contracts distinct.
Read more → - Tutorial
Change WhatsApp Group Admins via API: Promote vs Demote
Promote or demote WhatsApp group admins with UnifyPort using member LIDs, role checks, and explicit confirmation without confusing demotion with removal.
Read more → - Tutorial
Send and Remove Message Reactions With UnifyPort
Add or remove WhatsApp and Telegram reactions with the correct message target and sender_id. Keep outbound actions separate from reaction webhooks.
Read more → - Tutorial
Get a WhatsApp Group Invite Link via API: Read vs Reset
Retrieve a WhatsApp group invite link with UnifyPort, protect its distribution, and refresh stored copies after a native reset without inventing a reset endpoint.
Read more → - Tutorial
Move WhatsApp Chats Between Labels: A Safe API Handoff
Move a WhatsApp chat between workflow labels with UnifyPort: add the destination, verify it, then remove the source without deleting labels or unrelated tags.
Read more → - Tutorial
WhatsApp Contact Notes: Set or Clear a Private Display Name
Set or clear a WhatsApp contact note with UnifyPort. Separate account-level custom names from CRM aliases, address-book updates, and contact cards.
Read more → - Tutorial
UnifyPort Group Mentions: Fix Literal Tags in WhatsApp and LINE
Make group mentions work by matching top-level mentions IDs to text markers. Diagnose literal tags, legacy fields, and WhatsApp versus LINE support.
Read more → - Tutorial
Send Media With UnifyPort: URL and Delivery Troubleshooting
Build a valid media send request, check channel support and file URL access, and distinguish accepted requests from delivery without unsafe retries.
Read more → - Tutorial
Sync WhatsApp Contact Names With contact.updated Webhooks
Merge WhatsApp address-book name changes without clearing omitted fields, overwriting local nicknames, or confusing contact IDs with conversation IDs.
Read more → - Tutorial
Trace UnifyPort API Errors With request_id and X-Request-Id
Record client and server request IDs, handle 204 responses and timeouts, and keep API troubleshooting separate from webhook deduplication and send retries.
Read more → - Tutorial
Load Older WhatsApp Messages With On-Demand History Requests
Build a safe Load older messages flow with UnifyPort: request history, merge asynchronous batches, advance valid anchors, and keep completion unknown.
Read more → - Tutorial
Webhook Media Albums: Group Photos Without Losing Messages
Store album children by message ID, group by scoped album ID, and handle duplicates, missing totals, and late arrivals without treating a timer as proof of completeness.
Read more → - Tutorial
Rotate a UnifyPort Webhook Signing Secret Safely
Stage webhook signing-secret rotation with temporary dual-key verification, a controlled endpoint update, and explicit retirement checks—without disabling HMAC.
Read more → - Tutorial
WhatsApp Quoted Replies: reply_token vs Parent Message ID
Send a WhatsApp quoted reply through UnifyPort using the current message’s reply_token, not its parent ID. Handle missing tokens and invalid_reply_token safely.
Read more → - Tutorial
Handle LINE Unsend Events Without Restoring Deleted Inbox Messages
Use message.deleted to remove recalled LINE content from an inbox, search, and AI context, while preventing delayed messages and edits from restoring it.
Read more → - Tutorial
WhatsApp Passkey QR Authentication: Build the Webhook Setup Safely
A practical WhatsApp QR + Passkey setup guide for UnifyPort: create the account, start QR authentication, continue the WebAuthn passkey step, and verify signed inbound events.
Read more → - Tutorial
Telegram getUpdates and setWebhook Conflict: A Safe Switching Runbook
Use this runbook when a Telegram bot stops receiving updates after switching between getUpdates and setWebhook. Confirm the active mode, clear the old receiver, drain updates safely, and decide when a unified inbound webhook is the cleaner path.
Read more → - Tutorial
Telegram Media Attachments in a Unified Webhook: Photos, Voice, Documents, Contacts, and Locations
Handle Telegram media messages through UnifyPort's normalized message.received event: map text, attachments, contacts, and locations, verify HMAC-SHA256, and store payloads safely.
Read more → - Tutorial
Zalo QR Authorization: Fix qrcode_expired and Receive Signed Webhooks
Connect a Zalo messaging account with QR authorization, handle qrcode_expired safely, and verify signed message.received webhooks before routing support messages.
Read more → - Tutorial
Connect a TikTok Account to a Signed Webhook With QR Authorization
Set up TikTok inbound through UnifyPort: register a signed webhook first, create a TikTok account with QR authorization, poll for the QR state, and receive normalized message.received events.
Read more → - Tutorial
Build a WhatsApp Group Join-Request Approval Queue
Turn WhatsApp group join requests into a signed, auditable approval queue using UnifyPort webhooks, polling, and batch approve or reject actions.
Read more → - Tutorial
After You Create a UnifyPort API Key: First Webhook Test Checklist
A practical first-run checklist for new UnifyPort workspaces: verify the API key, create a signed webhook endpoint, store message.received events, and avoid the common first-day mistakes.
Read more → - Tutorial
Build a TikTok DM Webhook Receiver with GitHub Copilot and UnifyPort
Point GitHub Copilot at the UnifyPort webhook docs and have it scaffold a TikTok inbound receiver that verifies HMAC-SHA256, stores message.received events, and routes them to your queue.
Read more → - Tutorial
Webhook-First Inbound Integration Checklist for UnifyPort
Start a UnifyPort inbound integration by registering a signed webhook endpoint, storing message.received events, and only then connecting WhatsApp, Telegram, LINE, TikTok, Zalo, or X accounts.
Read more → - Tutorial
Telegram Group Join Requests: Build a Reliable Approval Queue
Build a Telegram group join-request approval queue that polls pending requests as its source of truth, uses webhook events as hints, and approves or rejects members in batches.
Read more → - Tutorial
Handle LINE Edited Messages With a message.updated Webhook
LINE now emits a messageEdited webhook event when users edit text in eligible group chats. Learn how to reconcile those edits as UnifyPort message.updated events without creating duplicate inbox messages.
Read more → - Tutorial
How to Sync WhatsApp Read and Unread State in a Shared Inbox
Build a reliable WhatsApp shared-inbox workflow with UnifyPort’s read and unread conversation actions, message-level receipts, and conversation.updated reconciliation.
Read more → - Tutorial
How to Process Message Reactions in a Unified Webhook
Handle UnifyPort message.reaction events safely: identify the original message, distinguish an added emoji from a removal, verify HMAC-SHA256, and update reaction state idempotently.
Read more → - Tutorial
UnifyPort Webhook Event Filters: subscribed_events or Wildcard?
Choose between explicit subscribed_events and the ["*"] wildcard when creating a UnifyPort webhook endpoint, with production-ready event sets for inboxes, account health, and full event collectors.
Read more → - Tutorial
Rotate a UnifyPort API Key Without Downtime
Avoid an authentication outage when replacing a UnifyPort API key: create a second key, deploy and test it, then deactivate the old key. Learn when the immediate rotate endpoint is the wrong tool.
Read more → - Tutorial
WhatsApp Contact API: Add a Contact vs Send a vCard
Learn the difference between adding someone to a connected WhatsApp account’s address book and sending a vCard contact message, with the correct UnifyPort requests, fields, and errors.
Read more → - Tutorial
Connect a Telegram User Account to a Webhook: Code and QR Setup
A practical setup guide for connecting an existing Telegram user account with code or QR authorization, then receiving signed message.received events through UnifyPort.
Read more → - Tutorial
Messaging Account Runtime Recovery: Refresh, Reconnect, Start, or Reauthenticate?
Use runtime_status and authentication state to choose the correct UnifyPort recovery action without restarting a healthy messaging account or treating a connection fault as an auth failure.
Read more → - Tutorial
TikTok Shop Customer Service API Webhook: Production Checklist
Set up the TikTok Shop Customer Service API New Message webhook with signature checks, fast acknowledgements, idempotent processing, history reconciliation, and a production acceptance test.
Read more → - Tutorial
How to Fix Telegram API_ID_PUBLISHED_FLOOD: A Recovery Checklist
Fix Telegram API_ID_PUBLISHED_FLOOD by replacing a published sample API ID with your own app credentials, separating related auth errors, and retesting without exposing secrets.
Read more → - Tutorial
LINE MINI App Re-review: Control Approved and Reflected Releases
Know which verified LINE MINI App changes require re-review, how Approved becomes Reflected, and how to avoid the 30-day automatic release boundary.
Read more → - Tutorial
LINE MINI App Service Message API Errors: 400, 401, 403, 429, and 500 Runbook
Troubleshoot LINE MINI App Service Message API errors by separating token issuance from sending, preserving renewed tokens, and choosing safe retry behavior for each status.
Read more → - Tutorial
What to Verify After WhatsApp Embedded Signup Completes
Use this post-onboarding checklist to verify WABA ownership, system-user access, phone status, webhook subscription, and first delivery after WhatsApp Embedded Signup finishes.
Read more → - Tutorial
Implement a WhatsApp 24-Hour Send Guard for Queued Replies
Use a server-side state machine to stop queued WhatsApp replies after the 24-hour window expires, handle resets safely, and route expired jobs without accidental sends.
Read more → - Tutorial
Telegram Communities in Bot API 10.2: Handle Chat Added and Removed Events
Learn how Telegram Communities surface in Bot API 10.2, how to process community_chat_added and community_chat_removed service messages, and where cross-channel routing remains separate.
Read more → - Tutorial
How to Migrate from LINE Mark as Read API (Old) Before October 2026
Move from LINE's application-only Mark as read API (old) to POST /v2/bot/chat/markAsRead using webhook markAsReadToken values, without breaking Official Account chat operations.
Read more → - Tutorial
Recover Missed LINE MINI App Purchase Webhooks: A 7-Day Runbook
Recover missed LINE MINI App purchase webhooks with the official seven-day event history API, cursor pagination, orderId idempotency, and a safe reconciliation workflow.
Read more → - Tutorial
How to Send LINE MINI App Service Messages With a Notification Token
Learn how to issue, store, renew, and use a LINE MINI App service notification token with the official token and send endpoints, including limits and failure handling.
Read more → - Tutorial
How to Send Telegram Ephemeral Bot Messages in Group Chats
Learn the Bot API 10.2 rules for private group replies: eligible triggers, the 15-second window, admin permissions, delivery limits, and edit/delete methods.
Read more → - Tutorial
Webhook HMAC Replay Protection: Timestamps, Retries, and Idempotency
Prevent replayed webhook requests by verifying the RFC 3339 timestamp and raw-body HMAC-SHA256 signature, then deduplicate legitimate retries by event ID.
Read more → - Tutorial
WhatsApp Embedded Signup v4 Migration: A Coexistence Checklist Before October 15, 2026
Meta will retire Embedded Signup v2 on October 15, 2026. Migrate WhatsApp Coexistence onboarding to v4 with this configuration, webhook, callback, and rollout checklist.
Read more → - Tutorial
How to Track WhatsApp Service Message Charges Before October 1, 2026
Build a pre-launch measurement plan for WhatsApp's October 1, 2026 service-message billing with Pricing Analytics and status webhooks—without confusing conversations, message categories, or AI-agent charges.
Read more → - Tutorial
Build an n8n WhatsApp AI Agent From a Signed Inbound Webhook
n8n is great for AI workflows, but WhatsApp support needs a reliable inbound event stream first. Here is how to connect UnifyPort's signed message.received webhook to an n8n production workflow.
Read more → - Tutorial
TikTok Data Portability vs Live DMs: Build the Inbound Queue Your Support Team Actually Needs
TikTok's Data Portability API now documents direct-message export data more clearly, but exports are not a live customer-service feed. Here is how to build a signed TikTok inbound queue with UnifyPort webhooks instead.
Read more → - Tutorial
I Pointed Devin Desktop at the Webhook Docs and Had It Build a LINE Inbound Handler in 20 Minutes
A build log: feed the UnifyPort API reference to Devin Desktop (formerly Windsurf) and have it scaffold a LINE inbound message handler in Python — HMAC-SHA256 verification, structured logging, and multi-platform extension — without a LINE Official Account.
Read more → - Tutorial
I Had Cursor Build a Telegram-to-Slack Message Relay by Pointing It at the Webhook Docs
A build log: feed the UnifyPort webhook reference to Cursor and have it scaffold a Telegram-to-Slack relay in Node.js — signature verification, Slack Block Kit formatting, and multi-channel forwarding — without registering a Telegram bot.
Read more → - Tutorial
I Had Claude Code Build an X DM and Mention Monitor — Without Touching X's API
A build log: point Claude Code at the UnifyPort webhook reference and have it scaffold an X DM and mention monitor in Node.js — signature verification, structured logging, and Discord alerts — without paying X's per-read API fees.
Read more → - Tutorial
I Had Claude Code Build a Zalo Webhook Receiver by Pointing It at the API Docs
A build log: feed the UnifyPort API reference to Claude Code and have it scaffold a working Zalo webhook receiver in Python — signature verification, message logging, and Slack forwarding — in under an hour.
Read more → - Tutorial
I Pointed an AI Coding Agent at the Webhook Docs and It Built a Working Auto-Reply Bot
A build log: feed the UnifyPort webhook reference to an AI coding agent like Cursor or Claude Code, and watch it scaffold a real auto-reply bot — signature verification, inbound routing, and a reply call — in an afternoon.
Read more → - Tutorial
How to Receive WhatsApp Inbound Messages Without the Official API
Meta's 2026 changes — per-message billing, business verification gates, and a ban on general-purpose AI bots — raised the bar on the official WhatsApp API. If all you need is to reliably receive inbound messages, here's the path that still works.
Read more → - Tutorial
TikTok Shop's 12-Hour Rule: Why Your Customer Service Needs an Event-Driven Architecture
TikTok Shop now scores store health on DM response time. Manual handling breaks during live sales. Here's how an event-driven system handles the burst — and what it looks like when you extend it across channels.
Read more → - Tutorial
Telegram's Bot-to-Bot API: What It Means for AI Agent Architectures
Telegram quietly became the first billion-user platform to enable native bot-to-bot messaging. Here's what changed, why it matters for multi-agent systems, and what to consider before building on it.
Read more →