Skip to content
reelspanDocs

Integrations

Make

Publish videos and text to 22 networks from a Make scenario with the HTTP "Make a request" module, then read each network's result by polling or webhook.

There is no Reelspan app in Make yet. The built-in HTTP → Make a request module calls the Reelspan REST API directly: one module posts to every network you name.

Trigger → get the video → HTTP (publish) → Sleep → HTTP (status) → Router → notify

Before you start

  1. In Reelspan, create a profile (for example my-brand) and connect the networks you post to.
  2. Create an API key under Developers → API keys. A test key (rs_test_…) lets you build and run the scenario without posting anything.

Post a video

Get the video into the scenario first: a module such as Google Drive Download a file outputs the file's name and data, or you may already have a public https URL to it.

Add HTTP → Make a request and set:

Field Value
URL https://api.reelspan.com/v1/posts/video
Method POST
Headers Authorization = Bearer rs_test_… (your key)
Body content type multipart/form-data
Parse response Yes

Under Body content, add one item per field:

Type Key Value
Text user my-brand
Text platform[] tiktok
Text platform[] youtube
Text platform[] instagram
Text title the caption (YouTube uses it as the title)
Text async_upload true
File video map the file name and data from the download module

Add one platform[] item per network. To send a URL instead of a file, make video a Text item with the URL as its value.

The module returns at once with a request_id to map into later modules:

{
  "success": true,
  "message": "Upload initiated successfully in background.",
  "request_id": "9b1f6c2e8a3d4f50b7e1c9a2d6f3e8b1",
  "total_platforms": 3
}

Every other field from Post a video is another Text item: youtube_title and tiktok_title for per-network captions, privacy_level for TikTok, first_comment, and so on.

Post text

Text posts take JSON. In Make a request, set the URL to https://api.reelspan.com/v1/posts/text, Method POST, the same Authorization header, Body content type application/JSON, Body input method JSON string, Parse response Yes, and:

{
  "user": "my-brand",
  "platform": ["x", "bluesky", "threads"],
  "title": "Your post text",
  "async_upload": "true"
}

Map the text from an earlier module into title. To try it without a connected account, use "platform": ["sandbox"]. See Post text.

Read the results

Poll the status

  1. Add Tools → Sleep to wait, for example a minute or two for a video.
  2. Add HTTP → Make a request: GET https://api.reelspan.com/v1/posts/status, the same header, Parse response Yes, and a query parameter request_id mapped from the publish module.
  3. Route on status: pending or in_progress while networks are still working, then completed (at least one network published) or failed.

results lists each network that has finished, with its success, post_url and error_message. Poll no more often than every 5 seconds. For a scheduled post, query with job_id instead. See Post status.

Or get a webhook

Start a second scenario with Webhooks → Custom webhook, copy its address, and set it as your Reelspan webhook in the dashboard or with POST /v1/webhook. Reelspan sends an upload_completed event as each network finishes, so the scenario runs once per network with that network's result. See Webhooks.

Keep the key safe

The key sits in the module's header, so anyone who can edit the scenario can read it. Give it only the scopes the scenario needs (Publish and Read for this one), and use a separate key per scenario so you can revoke one without touching the others. See Authentication.

Troubleshooting

What you see Likely cause Fix
401 Missing or wrong key The header must be Authorization with a value that starts with Bearer
400 "Expected multipart/form-data" Wrong body type on the video module Set Body content type to multipart/form-data
400 about user or platform A required field is missing Send user, at least one platform[], title and video
A network shows skipped It isn't connected on that profile Connect it, or drop it from the request
Posts show as done but nothing appears You are using a test key Switch to a live key (rs_live_…)

Something unclear or missing? Write to [email protected] and we’ll fix the page.