REST API (HTTP module) · TikTok

Build a Make scenario that drafts TikTok posts

Make can turn a content calendar into TikTok drafts: read the planned posts from Airtable, import each video into SocialHandoff by URL, and create the draft. Nothing publishes from the scenario itself. Each post waits in the approval inbox with TikTok's consent text and the visibility you picked for the account. Photo posts work too: up to 35 images in one TikTok post.

Prompt

Scenario: every day at 7:00, find Airtable records with status "Ready for TikTok", import the attached video by its URL, create a TikTok draft with the caption field, and set the record status to "In review".

How to do it

  1. Connect TikTok and mint a key In https://app.socialhandoff.com, open Connections, connect TikTok, then open TikTok settings on the account and choose visibility, comment/duet/stitch, and commercial disclosure. Then create an agent key named Make scoped to TikTok with draft permission.
  2. Set up the trigger Add a Scheduler trigger and Search Records in Airtable, and map the attachment URL of each record into the import request.
  3. Import media by URL Add an HTTP, Make a request module: POST https://app.socialhandoff.com/v1/media/import with JSON {"url": public https link, "alt": description} for the video or up to 35 photos. No multipart needed. Keep the id it returns for the next step.
  4. Create the post Add a second HTTP module: POST https://app.socialhandoff.com/v1/posts with a bearer header and JSON body {"body": caption, "networks": ["tiktok"], "mode": "submit", "mediaIds": [the uploaded ids]}. The post lands in the approval inbox.
  5. Approve with the consent text The approval screen shows the visibility and interaction settings chosen in Connections and TikTok's consent text. Approve, and it publishes; a video is sent to TikTok in chunks.

Example draft

Three stretches for people who sit all day. Do them between meetings, no mat needed.

Save this for your 3 p.m. slump.

#deskstretches #officeworkout #mobility #wellness

[Video: vertical MP4 from the Airtable record, 38 seconds]

Gotchas

  • Visibility has no default. Posts are refused until the owner picks it in TikTok settings under Connections, along with comment, duet, and stitch.
  • Build the post JSON with a Create JSON module. Hand-typed JSON breaks as soon as a caption contains a quote or a line break.
  • Photo posts are fetched by URL, so the domain serving your media must be verified in the TikTok developer portal. Videos upload as bytes and skip this.
TikTok
  • Media: Every post needs one video or up to 35 photos. Text-only posts are not possible.
  • Video upload: Videos upload in chunks of 5 to 64 MB; smaller files go in one piece. Maximum duration depends on the creator account.
  • Photo posts: Up to 35 JPEG or WebP images, a title up to 90 characters, and a description up to 4,000 characters.
  • Required choices: TikTok requires a visibility setting with no default, comment/duet/stitch toggles, and a commercial content disclosure.
TikTok scheduler with approval and TikTok's required choices

Frequently asked questions

Can I post photos instead of a video?
Yes. A TikTok photo post takes up to 35 images. The domain serving them must be verified in the TikTok developer portal.
Is there a native Make app?
Not today. The HTTP module calls the REST API directly, with JSON for both the media import and the post.
Why are my TikTok posts private?
TikTok limits unaudited developer apps to private posts. Submit your app for TikTok's audit to lift the restriction; until then, posts are visible only to the account.

Let your agents post. Keep the final say.

Connect your first agent in minutes. Every draft waits in your inbox until you approve it.

14 days free. No card required.

The hosted version is opening soon

Leave your email and we will send one message when hosted accounts open, with your 14-day trial ready. Want it today? Self-host it free from the repo.

Start free trial