You scheduled a video. Now what? You're either sitting there refreshing a dashboard, writing a polling loop that hammers an API every 30 seconds, or just hoping it worked. None of those are acceptable when you're running campaigns across 50 accounts in 12 countries.
Real automation doesn't ask "did it happen yet?" — it gets told the moment it does. That's the entire value of webhooks, and it's why TokPortal built a comprehensive webhook system into its REST API. Every significant event in your account's lifecycle — creation, warming, video upload, post confirmation, errors — fires a webhook payload to your endpoint in real time. Your pipeline reacts instantly, without wasting a single API call.
This article covers everything: what TokPortal webhook events exist, how to configure them, what the payloads look like, and how to wire them into production-grade automation with tools like n8n, Make.com, or your own backend.
Why Webhooks Matter More Than You Think for Social Distribution
When you're managing one TikTok account manually, polling works fine. You check the app, you see the video posted, you move on. But when you're operating programmatic infrastructure — dozens of accounts, automated warming sequences, scheduled content calendars, CRM sync triggers — polling creates compounding problems.
Every poll is a wasted request. Every 30-second delay is a downstream bottleneck. If your video upload fails and you find out 10 minutes later, you've already missed your posting window. If your account warming completes and you don't know for an hour, the next step in your sequence is sitting idle.
Webhooks invert the model: instead of your system asking "are we there yet?" every few seconds, TokPortal tells your system exactly when something changes, what changed, and what the current state is. Your automation becomes event-driven, which means it's faster, cheaper to run, and easier to debug.
< 2s
Typical webhook delivery time after event fires
0
API polling calls needed when webhooks handle state changes
10+
Distinct event types covered across account lifecycle
30+
Countries where TokPortal account events can originate
The Full TokPortal Webhook Event Map
TokPortal webhooks are organized around the lifecycle of two core objects: accounts (bundles) and videos. Here's what fires, and when.
- bundle.created — A new TikTok or Instagram account bundle has been successfully provisioned on a real physical device
- bundle.ready — Account has completed initial setup and is ready for warming or content posting
- bundle.warming_started — Niche or Deep warming sequence has begun on the account
- bundle.warming_completed — Warming is done; account is ready for full posting activity
- bundle.warming_failed — Warming encountered an error; includes failure reason in payload
- bundle.banned — Account was flagged or restricted; rare on real devices but reported immediately
- video.upload_started — Video file has begun uploading to the device
- video.upload_completed — Video is on device and queued for in-app posting
- video.posted — Video has been successfully posted via the native TikTok or Instagram app
- video.post_failed — In-app posting failed; payload includes error code and retry context
- video.analytics_updated — Engagement metrics (views, likes, shares) have refreshed for a posted video
What a TokPortal Webhook Payload Looks Like
Every webhook TokPortal fires follows a consistent JSON envelope structure. This matters enormously for building reliable consumers — you can parse every event type with the same base logic and then branch on the event field. The full payload schema is documented at developers.tokportal.com, but here's the anatomy of a typical event:
- event — The event type string (e.g.
video.posted) - timestamp — ISO 8601 UTC timestamp of when the event occurred on the device
- bundle_id — The unique identifier of the account this event belongs to
- platform — Either
tiktokorinstagram - country — The country code of the physical device (e.g.
US,GB,BR) - data — Event-specific object containing relevant state, IDs, error codes, or metric snapshots
- signature — HMAC-SHA256 signature for verifying the payload came from TokPortal
Always verify the signature before processing. Any webhook consumer worth shipping in production validates the X-TokPortal-Signature header before touching the payload. The full verification guide lives in the API documentation.
Setting Up Webhooks: Step-by-Step
Register your endpoint via the API
Send a POST request to /webhooks with your endpoint URL and the event types you want to subscribe to. You can register multiple endpoints and filter each one to specific event types — for example, one endpoint for account lifecycle events and a separate one for video posting events.
Respond with 200 on the verification challenge
TokPortal sends an initial GET request to your endpoint with a challenge parameter. Your server must echo back the challenge value with a 200 status. This confirms the endpoint is live and under your control before any real events fire.
Implement signature validation
Extract the X-TokPortal-Signature header from every incoming request. Compute the HMAC-SHA256 of the raw request body using your webhook secret. Compare the two — if they don't match, discard the payload. This prevents spoofed events from poisoning your pipeline.
Return 200 immediately, process asynchronously
Your endpoint must respond with 200 within 5 seconds or TokPortal marks the delivery as failed and retries. The right pattern: accept the payload, push it to an internal queue, return 200, then process. Never do heavy lifting in the request handler itself.
Handle retries with idempotency
TokPortal retries failed deliveries with exponential backoff. Your consumer will occasionally see duplicate events. Use the event's unique ID (included in every payload) as an idempotency key — check if you've already processed that ID before acting on it.
Test with the webhook simulator
The TokPortal API includes a webhook test endpoint that fires synthetic events to your registered URL. Use this to validate your consumer logic against every event type before going live. Especially important for error-path events like bundle.banned or video.post_failed that you hope never happen in production.
Webhooks vs. Polling: The Honest Comparison
Feature
Polling the API
TokPortal Webhooks
Latency
API call cost
Reliability
Scalability
Debugging
Error detection
Implementation complexity
Real Automation Patterns Built on TokPortal Webhooks
The event map isn't theoretical — here are the concrete automation workflows that TokPortal users are running in production today.
Pattern 1: Auto-Sequence Account Warming
When bundle.created fires, trigger warming automatically. When bundle.warming_completed fires, immediately schedule the first batch of videos. When bundle.warming_failed fires, alert your ops team and flag the bundle for review. This entire lifecycle runs without a human touching a dashboard. You can wire this in n8n with a webhook trigger node in under an hour.
Pattern 2: CRM-Triggered Content Publishing
A new product is marked as "launch-ready" in HubSpot. That triggers a workflow that calls the TokPortal API to schedule videos across 20 accounts. As each video.posted webhook arrives, a record is created in your CRM tagging which account posted, at what time, in which country. When video.analytics_updated fires 24 hours later, the CRM record updates with early performance data. Full attribution, zero manual work. Make.com handles the HubSpot-to-TokPortal bridge cleanly.
Pattern 3: AI Agent Campaign Management
This is where things get genuinely interesting. TokPortal's MCP server lets AI agents like Claude autonomously manage campaigns. Webhooks are the feedback loop that makes this work: the agent posts a video, waits for the video.posted confirmation webhook, checks early analytics when video.analytics_updated fires, and decides whether to increase posting frequency or pull back — all without human intervention. The agent isn't guessing whether actions succeeded; it knows, because TokPortal told it.
Pattern 4: Failure Recovery Pipelines
Production campaigns fail silently when there's no error telemetry. With webhooks, video.post_failed and bundle.banned events flow into a Zapier workflow that fires a Slack alert, creates a Notion task for ops review, and automatically reroutes the scheduled content to a backup account in the same country. Recovery time drops from hours to seconds.
Why TikTok's Official API Can't Do This
Connecting TokPortal Webhooks to Your Stack
You don't need to build a custom webhook consumer from scratch to get started. TokPortal integrates with the major automation platforms that already have webhook handling built in:
- n8n — Use the Webhook node as your trigger. n8n's visual workflow builder makes it easy to branch on event type, transform payload data, and connect to any downstream service. Self-hostable if you need data residency.
- Make.com — The Custom Webhook module catches TokPortal events and feeds them into scenario flows. Strong choice for connecting to Google Sheets, Airtable, or Slack without writing code.
- Zapier — Catch Hook triggers let you receive TokPortal webhooks and fan out to 5,000+ connected apps. Best for teams already deep in the Zapier ecosystem.
- Custom backend — If you're building your own infrastructure, the full webhook spec at developers.tokportal.com covers everything: endpoint registration, payload schemas, retry logic, signature verification, and event filtering.
When Webhooks Are the Right Choice
- You're managing 10+ accounts and need real-time status across all of them
- Your pipeline has downstream steps that must trigger immediately after posting
- You want failure alerts without building a monitoring layer on top of polling
- You're using an AI agent or automation tool that should react to events, not request them
- You need an audit log of exactly when every action occurred
When You Might Supplement with Polling
- You need current analytics data on-demand (analytics webhooks fire on TokPortal's schedule, not yours — poll analytics endpoints for ad-hoc reporting)
- Your endpoint is behind a firewall with no public ingress — you'll need a tunnel or queue proxy
- You're running a quick one-off test and don't want to set up a full consumer — the dashboard works fine for that
We used to have a cron job polling every 60 seconds to check if videos posted. We'd find out about failures an hour later. After switching to TokPortal webhooks feeding into our n8n workflow, failures hit our Slack channel within 90 seconds and the backup account picks up the schedule automatically. We haven't manually intervened in a campaign failure in months.
— Growth automation engineer running multi-country TikTok campaigns
Webhook Security: What You Must Implement
A webhook endpoint that doesn't validate signatures is a public endpoint that anyone can POST to with fake events. In a social distribution pipeline, a spoofed bundle.ready event could kick off warming on an account that doesn't exist, or a spoofed video.posted could mark content as published when it never went live. Three non-negotiable security steps:
- Always verify HMAC-SHA256 signatures. TokPortal signs every payload with your webhook secret. Reject anything that doesn't match before processing.
- Use HTTPS endpoints only. Never expose a webhook consumer over plain HTTP. TokPortal will reject non-HTTPS endpoint registrations.
- Rate-limit and scope your endpoint. Your webhook consumer should only be reachable from TokPortal's published IP ranges (listed in the API docs). Anything else should return 403 before it touches your business logic.
Full security implementation guidance is available at developers.tokportal.com.
Wire Your First Webhook and Build a Reactive Campaign Pipeline
The full webhook API — event types, payload schemas, signature verification, retry logic, and endpoint management — is documented and ready for you at developers.tokportal.com. If you want to see the platform before writing a line of code, create your account and explore the dashboard first.
Does TokPortal retry webhook deliveries if my endpoint is down?+
Can I subscribe to only specific event types instead of all events?+
How do TokPortal webhooks work with the MCP server and AI agents?+
What's the difference between a video.upload_completed and a video.posted event?+
Can I use TokPortal webhooks without using the full REST API — for example, just via Make.com or Zapier?+
Are webhook events available for Instagram accounts as well as TikTok?+

Written by
Vincent Tellenne
Founder & CEO
Vincent is the founder of TokPortal, building the infrastructure for scaled organic social media distribution. Previously scaled multiple startups and APIs to millions of requests.
Learn more about this topic with AI
Related Resources
Runway to TikTok at Scale: Geo-Native Workflow
Post Runway videos to TikTok at scale with real-device workflows across 20 countries, native sounds, webhooks, and API-controlled campaigns.
TokPortal + Zapier: No-Code Social Distribution
Use TokPortal + Zapier to send videos from 5,000+ apps into geo-native TikTok, Reels, and Shorts posting workflows without custom code in 2026.
Zapier Workflow: AI UGC From Drive to TikTok
Build a Zapier workflow that posts AI UGC from Google Drive to TikTok via TokPortal real-device routing across 20 countries, with Sheets logging.
Automate TikTok Posting with n8n + Real Devices
Automate TikTok posting with n8n and TokPortal real devices across 20 countries using webhooks, schedules, retries, and API workflows.
Distribute Pika.ai Videos to TikTok, IG, YouTube
Move Pika videos to TikTok, Reels, and Shorts through real devices, APIs, and local accounts in 20+ countries—without manual upload queues.
Automate Runway Videos to TikTok
Automate Runway clips to TikTok with TokPortal API workflows across real devices in 20+ countries for agencies, AI tools, and growth teams.
