Skip to main content
A native PostQueen app for Zapier is coming soon. Until it lands, the setup below already works with the tools Zapier ships out of the box.
Zapier talks to PostQueen through the Public API, the same API behind the CLI and the n8n node. Two directions are available today:

Zapier to PostQueen

A Zap step puts a post on your calendar through Webhooks by Zapier.

PostQueen to Zapier

When she publishes a post, a webhook starts your Zap through Catch Hook.
Webhooks by Zapier is a premium app. Zapier lists it on the Professional, Team and Enterprise plans, so it is not available on the Free plan. The current plan table: Send webhooks in Zaps.
A Zapier trigger feeding a Webhooks by Zapier step that schedules a post on the PostQueen calendar

Before you start

Grab your API key from app.postqueen.ai: open Settings > Developers > Public API and hit Reveal. Treat it like a password and paste it only into the Zap step that needs it. Every request in this guide uses the same two headers:

Post from Zapier

A new row in a sheet, a new item in an RSS feed: any Zap trigger you already use can hand her the post and she puts it on the calendar.
1

Add the action step

In the Zap editor, add an action and search for Webhooks by Zapier. Pick the Custom Request event. The create-post body is nested JSON with arrays inside it, and Custom Request is the event that lets you paste raw JSON. The plain POST event works when your body is flat key/value data, which this one is not.
2

Set the method and URL

Set Method to POST and URL to:
3

Add the headers

In the Headers section, add Authorization with your raw API key as the value, then add Content-Type with application/json.
4

Paste the body into Data

In Custom Request, whatever you type into Data is sent exactly as entered, so paste real JSON there and drop Zapier field mappings into the string values.
5

Test it

Run the step. A successful call returns an array with one entry per channel, each holding postId and integration, and the post shows up on your PostQueen calendar right away. If the response complains about the date, check that date is ISO 8601 in UTC and in the future.

What the fields mean

Full field reference and the per-provider settings live on Create Post.
If you build a Zap with the plain POST event instead, fill in the Data section explicitly rather than relying on Zapier’s pass-through behavior for an empty payload.

Find your integration IDs

Every post has to name the channel it goes to. Ask her for the list with the same header:
Copy id into posts[].integration.id, and use identifier as your settings.__type. You can also run this call as its own Zap step with the GET event of Webhooks by Zapier when you want the list inside a workflow.
The create-post endpoint allows 30 requests per hour. A Zap that fires on a busy trigger can hit that ceiling, so add a filter or a delay when your source is chatty. On self-hosted instances the limit is the API_LIMIT environment variable.

React to PostQueen events

Her webhooks go the other way. When she publishes, she sends a POST with a JSON body to a URL you configure, and a Zapier Catch Hook trigger is a valid destination for it.
1

Create the Catch Hook trigger

Start a new Zap, choose Webhooks by Zapier as the trigger, and pick Catch Hook. In the Test tab, Zapier shows your unique webhook URL. Copy it.
2

Register the URL in PostQueen

Add that URL as a webhook in PostQueen. You can scope a webhook to specific channels or leave it open to all of them. The setup steps are on Webhooks.
3

Publish something and finish the test

Let a post go out, or publish a test post, so Zapier receives a real payload to map fields from. Then build the rest of your Zap on top of it.
The payload is a JSON array holding the published post. Each entry carries these fields: Catch Hook parses that body for you. Choose Catch Raw Hook instead when you want the unparsed body and the request headers.

Self-hosting

Running her yourself? Swap the base URL and everything else stays the same:

Next steps

Create Post

Every field of the request body, with per-provider settings.

Public API

Authentication, base URLs, and the rest of the endpoints.

n8n

Prefer n8n? A community node makes the API calls for you.