How to Use UnifyPort: A Practical Setup Guide
Learn how to use UnifyPort step by step: create a workspace, connect messaging accounts, send your first message, handle webhooks, and scale multi-channel delivery.
How to Use UnifyPort: A Practical Setup Guide
UnifyPort is a unified messaging API platform that lets developers send and receive messages across Telegram, WhatsApp, LINE, X (Twitter), Zalo, and TikTok through a single REST API and standardized webhook events. Instead of juggling provider-specific SDKs, authentication flows, and event formats, you work with one normalized interface.
This guide walks through the core workflow: creating a workspace, connecting messaging accounts, sending your first message, consuming webhook events, and applying the operational controls that keep multi-channel delivery reliable. If you want a broader evaluation before diving in, see this UnifyPort review for a detailed look at features, pricing, and fit.
What UnifyPort Does
Before touching the API, it helps to understand the platform's mental model. UnifyPort organizes everything around three concepts:
- Workspaces isolate projects, teams, or environments from each other.
- Accounts act as virtual devices per channel—for example, one Telegram bot account and one WhatsApp Business account inside the same workspace.
- Runtime manages live connections to each provider and normalizes incoming and outgoing traffic.
The platform converts every provider message into a consistent JSON shape, so your application logic stays the same regardless of whether a user messages you on LINE or TikTok. Webhook events arrive through a control plane that handles signatures, subscriptions, and retries, while built-in rate limiting, idempotent retries, and failure isolation protect delivery.
For a deeper comparison of how unified APIs differ from consumer multi-channel apps, see this guide on cross-platform messaging.
Step 1: Create a Workspace
Your first action is to create a workspace. This is the top-level container for your accounts, API keys, and webhook configuration.
- Sign in to the UnifyPort dashboard.
- Create a new workspace and give it a descriptive name, such as
production-supportorai-agent-staging. - Note the workspace ID—it appears in API requests and webhook payloads.
Keeping separate workspaces for development, staging, and production is a good practice. It prevents test messages from mixing with customer traffic and makes it easier to rotate credentials without affecting live integrations.
Step 2: Connect Messaging Accounts

How to Use UnifyPort: A Practical Setup Guide - Step 2: Connect Messaging Accounts.
Inside a workspace, you add accounts. Each account represents a virtual device on a specific channel.
Adding an Account
- Open your workspace and choose Add Account.
- Select the channel: Telegram, WhatsApp, LINE, X (Twitter), Zalo, or TikTok.
- Complete the provider-specific authorization step. For Telegram, this typically means providing a bot token. For WhatsApp, you may need to link a business profile. The dashboard guides you through the exact requirements per channel.
- Once authorized, the account appears with a status indicator showing whether the runtime connection is live.
Free vs. Paid Accounts
UnifyPort includes free accounts, while paid messaging accounts follow a graduated monthly tier. The distinction matters when you plan capacity: a free account may have lower rate limits or fewer features, so review the current pricing page before routing high-volume production traffic through it.
Step 3: Generate an API Key
All REST API calls require authentication. UnifyPort uses API keys combined with HMAC-SHA256 signatures for secure integration.
- In your workspace settings, open the API Keys section.
- Generate a new key and store it securely. The dashboard usually shows the full key only once.
- Use the key as a bearer token or signing secret, depending on the endpoint. Webhook delivery also uses HMAC-SHA256 signatures so you can verify that events genuinely originate from UnifyPort.
Never commit API keys to source control. Use environment variables or a secrets manager.
Step 4: Send Your First Message
UnifyPort offers official SDKs for Node.js, PHP, and Go. If your language isn't covered, you can call the REST API directly.
Using the Node.js SDK
Install the SDK and initialize a client with your workspace ID and API key:
import { UnifyPortClient } from '@unifyport/sdk';
const client = new UnifyPortClient({
workspaceId: process.env.UNIFYPORT_WORKSPACE_ID,
apiKey: process.env.UNIFYPORT_API_KEY,
});
await client.messages.send({
accountId: 'your-telegram-account-id',
to: 'user_chat_id',
text: 'Hello from UnifyPort!',
});
Using the REST API Directly
A direct REST call follows the same pattern:
POST /v1/messages
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"account_id": "your-telegram-account-id",
"to": "user_chat_id",
"text": "Hello from UnifyPort!"
}
The response includes a message ID you can use for idempotency checks and delivery tracking.
Idempotency and Retries
UnifyPort supports idempotent retries. If a network timeout occurs and you resend the same request with the same idempotency key, the platform won't deliver a duplicate message. Always generate a unique idempotency key per logical message and reuse it on retry.
Step 5: Consume Webhook Events
Inbound messages and delivery status updates arrive as webhooks. The webhook control plane lets you manage signatures, subscriptions, and retry behavior.
Configuring a Webhook Endpoint
- In your workspace, open Webhooks.
- Add an endpoint URL—for example,
https://api.yourservice.com/unifyport/events. - Select which event types you want to receive: inbound messages, delivery confirmations, account status changes, and so on.
- Copy the signing secret. UnifyPort includes an HMAC-SHA256 signature header on every delivery.
Verifying Signatures
On your server, verify the signature before processing the payload:
import crypto from 'crypto';
function verifySignature(rawBody, signatureHeader, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(rawBody)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signatureHeader)
);
}
Always use the raw request body for signature verification, not a parsed JSON object. Parsing can alter whitespace or key ordering and break the signature check.
Handling Retries
If your endpoint returns a non-2xx status or times out, UnifyPort retries delivery according to the control plane settings. Make your webhook handler idempotent by tracking processed event IDs, so retries don't cause duplicate side effects.
Step 6: Apply Rate Limiting and Failure Isolation
UnifyPort includes built-in rate limiting and failure isolation. This means a surge on one channel or a temporary provider outage doesn't take down your entire messaging pipeline.
- Rate limiting protects both your application and the upstream providers from bursts that could trigger provider-side throttling.
- Failure isolation ensures that if one account or channel fails, other accounts in the same workspace continue operating.
- Retries with idempotency handle transient network errors without creating duplicate messages.
Monitor the dashboard for per-account health and delivery metrics. If a specific channel consistently fails, you can pause that account while keeping others live.
Common Use Cases
UnifyPort is designed for systems that need production-grade multi-channel messaging without building separate integrations. Common patterns include:
- AI agents that respond to users across Telegram, WhatsApp, and LINE through one event stream.
- CRMs that sync customer conversations from multiple messaging apps into a single timeline.
- Notification systems that deliver alerts to whichever channel a user prefers.
- Operations tools that send status updates to teams on X, Telegram, or Zalo.
If you're planning a broader multi-channel strategy, this guide on omnichannel messaging covers the strategic side of unifying customer conversations.
Troubleshooting Common Issues
Webhook Signature Mismatch
If signature verification fails, check that you're using the raw request body and the correct signing secret for that workspace. Also confirm your server isn't modifying the body through middleware before verification runs.
Messages Not Delivering
First check the account status in the dashboard. If the runtime connection dropped, re-authorize the account. Then verify the recipient ID format for that channel—Telegram chat IDs, WhatsApp phone numbers, and LINE user IDs all use different formats.
Duplicate Messages After Retry
Duplicates usually mean the idempotency key changed between the original request and the retry. Keep the key stable per logical message.
Rate Limit Errors
If you hit rate limits, review the account tier and the platform's per-account limits. Batch sends where possible, and spread high-volume campaigns across time windows.
UnifyPort vs. Direct Provider Integrations
| Aspect | Direct Provider SDKs | UnifyPort |
|---|---|---|
| Integration effort | One SDK per channel | One REST API for all channels |
| Event format | Varies per provider | Normalized JSON across channels |
| Webhook management | Per-provider setup | Centralized control plane |
| Retries and idempotency | Build yourself | Built in |
| Failure isolation | Manual | Automatic per account |
| Channel coverage | Limited by your team's time | Telegram, WhatsApp, LINE, X, Zalo, TikTok |
For teams that only need one channel, a direct provider SDK may be simpler. For teams supporting three or more messaging platforms, a unified API removes significant ongoing maintenance.
For detailed endpoint and SDK references, see the UnifyPort documentation guide.
Related reading
- Conversational Commerce: How Messaging Drives Sales - Learn what conversational commerce is, how it works across messaging apps, chatbots, and voice assistants, plus strategies and tools to implement it.
Sources and further reading
- Ubiquiti Help Center - Find help and support for Ubiquiti products, view online documentation and get the latest downloads.
- Ubiquiti Help Center - Find help and support for Ubiquiti products, view online documentation and get the latest downloads.
- Ubiquiti Help Center - Find help and support for Ubiquiti products, view online documentation and get the latest downloads.
Frequently Asked Questions
What channels does UnifyPort support?
UnifyPort supports Telegram, WhatsApp, LINE, X (Twitter), Zalo, and TikTok through a single REST API and normalized webhook events.
Do I need separate SDKs for each channel?
No. You use one UnifyPort SDK (Node.js, PHP, or Go) or the REST API directly. UnifyPort abstracts away provider-specific SDKs.
How does UnifyPort secure webhook deliveries?
Every webhook includes an HMAC-SHA256 signature. You verify the signature using the signing secret from your workspace's webhook settings.
Can I use UnifyPort for free?
UnifyPort includes free accounts, with paid messaging accounts priced on a graduated monthly tier. Check the current pricing page for details on limits and features.
What happens if one channel goes down?
Failure isolation keeps other accounts and channels operating. The affected account can be paused or re-authorized without impacting the rest of your workspace.
Does UnifyPort support idempotent retries?
Yes. You can include an idempotency key with message sends, and the platform prevents duplicate delivery when requests are retried.
Conclusion
Using UnifyPort comes down to a repeatable workflow: create a workspace, connect accounts per channel, authenticate with API keys, send messages through one normalized interface, and consume webhook events with signature verification. The platform's built-in rate limiting, retries, and failure isolation handle the operational complexity that usually makes multi-channel messaging difficult to maintain.
Start with one workspace and one channel. Send a test message, verify a webhook, then add more accounts as your confidence grows. For a deeper evaluation of whether UnifyPort fits your stack, read the full UnifyPort review, and consult the documentation guide when you're ready to explore specific endpoints and SDK methods.
