Skip to main content

Automate TikTok Posting with Make & TokPortal API

Use Make (formerly Integromat) to connect TokPortal to your existing tools — Google Sheets, Airtable, Dropbox, webhooks — and automate TikTok account creation and video posting. No code required. Real devices, real geo-targeting, 16+ countries.

What you'll build

A Make scenario that:

  1. Triggers on a new row (e.g. Google Sheets), webhook, or schedule
  2. Creates a TokPortal bundle (account + video slots) via HTTP
  3. Configures video metadata and publish dates
  4. Publishes the bundle so TokPortal handles account setup and posting on real devices

Time to set up: ~20 minutes.

Prerequisites

Step 1: Create the scenario and trigger

Create a new scenario in Make. Add a trigger module:

  • Google Sheets → Watch Rows (new row added)
  • Webhook → Custom webhook (for external systems)
  • Schedule → Every day/week at a set time

Map your data: e.g. video_url, description, country, publish_date from the sheet or webhook payload.

Step 2: Add HTTP module — Create bundle

Add an HTTP module (Make → Tools → HTTP). Configure:

SettingValue
URLhttps://api.tokportal.com/v1/bundles
MethodPOST
HeadersSee below
Body typeRaw
Request contentJSON

Headers:

NameValue
AuthorizationBearer {{your_api_key}}
Content-Typeapplication/json

Store your API key in Make's Data Store or a Variable — never hardcode it in the scenario.

Request body (JSON):

{
"bundle_type": "account_and_videos",
"platform": "tiktok",
"country": "{{1.country}}",
"videos_quantity": 1,
"title": "Make automation {{1.row_id}}"
}

Use Make's mapping panel to replace {{1.country}} with your trigger output. The response returns data.bundle_id — you'll need it for the next steps.

Step 3: Configure the video

Add another HTTP module. Configure:

SettingValue
URLhttps://api.tokportal.com/v1/bundles/{{2.data.bundle_id}}/videos/1
MethodPUT
HeadersAuthorization: Bearer {{your_api_key}}, Content-Type: application/json
Body typeRaw (JSON)

Request body:

{
"video_type": "video",
"description": "{{1.description}}",
"target_publish_date": "{{1.publish_date}}",
"video_url": "{{1.video_url}}"
}

TokPortal accepts any public URL for video_url — Google Drive, Dropbox, direct links. The API downloads and stores the file automatically. See Configure Videos for full options (hashtags, sounds, carousels).

Step 4: Publish the bundle

Add a final HTTP module:

SettingValue
URLhttps://api.tokportal.com/v1/bundles/{{2.data.bundle_id}}/publish
MethodPOST
HeadersAuthorization: Bearer {{your_api_key}}

No body required. Once published, TokPortal assigns an account manager in the target country to create the account on a real device and post your video on the scheduled date.

Scheduling considerations

  • Minimum lead time: New accounts need at least 3 days before target_publish_date. Existing accounts: 1 day.
  • Make execution limits: Free plan runs scenarios on a schedule (e.g. every 15 min). Paid plans support instant triggers and higher throughput.
  • Rate limits: TokPortal has rate limits — see Rate Limits. For bulk campaigns, space out bundle creation or use the bulk endpoint.

Monitoring and error handling

Add an Error handler route to your scenario to catch HTTP errors (401, 402, 400). Log failed runs to a sheet or send a Slack notification.

Check bundle status via GET https://api.tokportal.com/v1/bundles/{{bundle_id}} — response includes status, videos, and account info once delivered.

Common patterns

PatternHow
Multi-country from one sheetUse an Iterator after the trigger, create one bundle per row with country from the row
Recurring content dropsSchedule trigger (e.g. Mondays 9am) → read from a "queue" sheet → create bundle → remove/mark row
Webhook from CMSWebhook trigger → parse JSON → create bundle with video_url from CMS
Airtable → TikTokAirtable "Watch records" → filter by status "Ready" → HTTP modules as above

What's next

Ready to scale? Open the Developer Portal to manage API keys and credits, or schedule a call with our team to discuss your use case.