Make

The official FoPost app for Make, with polling and instant triggers, actions, and searches.

The official FoPost app for Make lets a scenario schedule and publish posts, react the moment a post goes live or fails, upload media, and read cross-platform analytics.

A Make custom app is a set of IML definitions Make's own runtime executes. There is no package to install and no compiled code.

This is a 0.x release. Modules and their fields are still settling and a minor version may change them.

Source and issues: github.com/fopost/fopost-make. MIT licensed.

Install

The Make app is not installable yet, and there is no invite link to share.

The app definition is complete and validated, and every release is published on GitHub. What is outstanding is deploying it into Make: their API refuses the write unless the account's role carries the admin apps edit permission, which is granted through Administration > Roles.

After that, the public catalog is a further step through Make's partner review, and every later change to an approved app needs their approval too.

Ask on the contact page if you want Make support and we will let you know when it lands.

Connect

The connection asks for one thing: a FoPost API key.

  1. Create a key at Settings → API Keys in the dashboard. It is shown once.
  2. Paste it into the connection. Make verifies it immediately with a call to GET /v1/workspaces and refuses to save a key the API rejects.

A key can be scoped to a single workspace. A workspace-scoped key only ever sees that workspace: naming another one returns a permission error, and list modules return only its records. The key is stripped from every execution log.

Triggers

ModuleTypeWhat it does
Watch published postsPollingEmits a bundle for each post that reaches the published status
Watch failed postsPollingEmits a bundle for each post that failed to publish
Watch eventsInstant (webhook)Fires the moment FoPost sends a subscribed event: a delivery going live, failing, or being delayed, a post finishing, or an account's health changing. Registers and removes its own webhook

Actions and searches

ModuleEndpoint
Create a postPOST /v1/posts
Update a postPUT /v1/posts/{id}
Get a postGET /v1/posts/{id}
Publish a postPOST /v1/posts/{id}/publish
Cancel a postPOST /v1/posts/{id}/cancel
Duplicate a postPOST /v1/posts/{id}/duplicate
Delete a postDELETE /v1/posts/{id}
Upload a media filePOST /v1/media/upload
Create a labelPOST /v1/labels
Trigger an automationPOST /v1/automations/{id}/trigger
Search postsGET /v1/posts
List workspacesGET /v1/workspaces
List accountsGET /v1/accounts
List media filesGET /v1/media
Get an analytics overviewGET /v1/analytics/overview

Make an API call performs an arbitrary authorized call for any endpoint this app does not model.

Workspace, account, and label pickers are filled live by remote procedure calls, so you choose a name instead of pasting a UUID.

How publishing works

Creating a post and publishing it are two steps:

  1. Create a post stores the post as a draft, or as scheduled with a Schedule at date, in which case FoPost publishes it for you and no further module is needed.
  2. Publish a post hands a draft to the delivery queue. It returns as soon as delivery is queued, not once the post is live on the network.

To know the outcome, use Watch events, which arrives within seconds, or the polling Watch published posts and Watch failed posts triggers.

Media referenced by a post must already be reachable by URL, so run Upload a media file first and map the returned URL into the content block.

Errors

The app maps the API's {"error", "message"} envelope onto readable Make errors and picks the error type that makes a scenario behave sensibly.

StatusMake error typeEffect
401InvalidAccessTokenErrorScenario is deactivated and you are told to reconnect
402InvalidConfigurationErrorScenario is deactivated; the message carries the upgrade link
403InvalidConfigurationErrorThe key lacks the scope, or the account has no subscription
404, 422DataErrorThe bundle is stored as an incomplete execution if you enabled that
429RateLimitErrorMake pauses the scenario and resumes it instead of counting an error
5xxConnectionErrorMake backs off and retries

Next

Related documentation
  • SDKs & Integrations

    Official FoPost clients for TypeScript, Python, PHP, Ruby, Go, Rust, Java, .NET, Swift, Kotlin, Dart, and Elixir, framework integrations from Laravel to Next.js, and tooling for the CLI, CI, Terraform, and the automation platforms.

  • SDKs Overview

    Every official FoPost client, what it covers, and how to pick one.

  • TypeScript SDK

    The official TypeScript and Node.js client for the FoPost API.

  • Python SDK

    The official Python client for the FoPost API.

  • PHP SDK

    The official PHP client for the FoPost API, with no framework and no HTTP library.

  • Ruby SDK

    The official Ruby client for the FoPost API, with no runtime dependencies.

  • Go SDK

    The official Go client for the FoPost API.

  • Rust SDK

    The official Rust client for the FoPost API, async and built on reqwest.

Was this helpful?

On this page