No-Code Automation

TokPortal + Make - TikTok Workflow via HTTP

Use Make HTTP modules to call TokPortal: create bundles, configure account/video fields, publish, and monitor statuses.

TokPortal + Make

TokPortal does not currently ship a native Make app. Use Make's HTTP module to call the REST API with X-API-Key.

The realistic flow is:

  1. Trigger from a row, webhook, schedule, or Airtable record.
  2. Create a TokPortal bundle.
  3. Configure the required account fields.
  4. Configure one or more video slots.
  5. Publish the bundle.
  6. Optionally monitor with webhooks or status polling.

Prerequisites

1. Create the scenario trigger

Common trigger data:

FieldExample
countryUS, USA, UK, FR
usernamemybrand_us
visible_nameMy Brand
biographyDaily product videos.
profile_picture_urlhttps://cdn.example.com/profile.jpg
video_urlhttps://cdn.example.com/video.mp4
descriptionNew drop is live #newarrival
target_publish_date2026-06-05

Use GET /countries if you need to validate enabled countries before creating bundles.

2. Create bundle

Add HTTP > Make a request:

SettingValue
URLhttps://app.tokportal.com/api/ext/bundles
MethodPOST
Body typeRaw
Content typeJSON

Headers:

NameValue
X-API-Keysk_your_key_here
Content-Typeapplication/json

Request body:

{
  "bundle_type": "account_and_videos",
  "platform": "tiktok",
  "country": "{{1.country}}",
  "videos_quantity": 1,
  "title": "Make workflow {{1.row_id}}",
  "external_ref": "make-{{1.row_id}}"
}

Store data.bundle_id from the response for the next modules. Do not use Authorization: Bearer; TokPortal API keys are sent in X-API-Key.

Reference: Create Bundle

3. Configure account

Add another HTTP module:

SettingValue
URLhttps://app.tokportal.com/api/ext/bundles/{{2.data.bundle_id}}/account
MethodPUT
Body typeRaw JSON
{
  "username": "{{1.username}}",
  "visible_name": "{{1.visible_name}}",
  "biography": "{{1.biography}}",
  "profile_picture_url": "{{1.profile_picture_url}}"
}

Reference: Account Configuration

4. Configure video

If the source app provides a public file URL, pass it directly:

{
  "video_type": "video",
  "description": "{{1.description}}",
  "target_publish_date": "{{1.target_publish_date}}",
  "video_url": "{{1.video_url}}",
  "external_ref": "make-{{1.row_id}}-video-1"
}

Module URL:

https://app.tokportal.com/api/ext/bundles/{{2.data.bundle_id}}/videos/1

Method: PUT

TokPortal can also ingest media uploaded through Media Upload. If Make's file handling becomes the bottleneck for large files, upload by public URL or presigned URL and pass the returned public_url as video_url.

Reference: Configure Videos

5. Publish

Add a final HTTP module:

SettingValue
URLhttps://app.tokportal.com/api/ext/bundles/{{2.data.bundle_id}}/publish
MethodPOST

No JSON body is required.

Reference: Publish & Unpublish

Error handling

Add Make error routes for common responses:

StatusMeaning
400Missing/invalid fields; inspect error.details
401Missing, invalid, or revoked API key
402Not enough credits
429Rate limit; retry after the returned delay

For publish issues, call:

GET https://app.tokportal.com/api/ext/bundles/{{bundle_id}}/publish-readiness

Multi-country scenarios

The bulk endpoint accepts one country per request. For multiple countries, use an Iterator in Make:

{
  "platforms": ["tiktok", "instagram"],
  "country": "{{iterator.country}}",
  "accounts_count": 3,
  "upload_accounts_count": 1,
  "videos_per_account": 5,
  "external_ref": "make-launch-{{iterator.country}}"
}

This creates 3 bundles per platform in the current country; 1 bundle per platform receives video slots.

Related docs: Create Bulk, Webhooks, Analytics, SDKs & CLI.