Zapier and Make
Updated October 1, 2026
Use a Zap or a Make scenario to start a FakeParrot workflow, call FakeParrot's tools, and read back what a run produced. A FakeParrot workflow is a saved, automated job that works from your company's knowledge, such as a weekly report.
| You want to | Use | Sign-in |
|---|---|---|
| Start a workflow | The workflow's webhook link | None. The link is the credential. |
| Call FakeParrot's tools | The platform's MCP Client app | OAuth or an API key |
| Read a run's result | get_workflow_run or GET /api/reports | An API key or OAuth with workflows:read |
| Receive a run's report when it finishes | POST /api/reports/{run_id}/callbacks or POST /api/report-hooks | An API key or OAuth with workflows:read |
Start a workflow from a Zap or a Make scenario
Turn on the webhook link
- Open the workflow and choose Edit.
- Under Webhook trigger, choose Create link and copy it. FakeParrot shows the link once.
The link is a POST address on https://fakeparrot.com:
POST /api/workflows/hooks/{public_id}/{token}
- Anyone with the link can start the workflow, so treat it like a password. FakeParrot keeps only a hash of the token. Rotate link replaces it, and Remove link turns it off.
- Only the workflow's owner or a company admin can create the link. The workflow must be active.
What to send
Send a JSON object. Its fields become the run's inputs, so they must match the inputs the workflow declares: the same names, and only text, numbers or true and false. Text can run to 20,000 characters per field. An unknown field or a missing required one is refused. A workflow that declares no inputs takes an empty body. The whole body can be up to 256 KB.
What comes back
A started run answers 201 with success, run_id and status. The reply
does not wait for the run to finish. Other answers:
400: the body is not a JSON object, or its fields do not match the inputs.404: the link is wrong or was removed.413: the body is over 256 KB.409: the workflow is not active, billing is blocked, or it has run more than 60 times in the past hour (the default limit).
Set up the step
| Zapier | Make | |
|---|---|---|
| App | Webhooks by Zapier | HTTP |
| Step | POST | Make a request |
| URL | The link | The link |
| Method | POST | POST |
| Body | Send as JSON, one field per input | Body content type application/JSON, then the JSON object in Body content |
Call FakeParrot's MCP server from Zapier or Make
Both platforms have an MCP Client app. Point it at
https://fakeparrot.com/mcp, which uses Streamable HTTP, and sign in with OAuth
or with an API key (fkp_...). In Zapier, the step is Run Tool, and the key
goes in the Bearer Token field. In Make, the module is Call a tool, and
the key goes in API Key / Access token.
Both MCP Client apps are beta, so their screens and limits can change. Make's
OAuth address, https://www.make.com/oauth/cb/mcp, is one FakeParrot accepts
when an app registers. If OAuth sign-in does not finish in either app, use an
API key.
The MCP server guide explains how to create a key and what each permission allows.
Get the result back
The webhook returns a run_id. FakeParrot can send the run's report to an
address when the run finishes, or you can check the run until it finishes.
Have FakeParrot send the report
| Call | Body | What it does |
|---|---|---|
POST /api/reports/{run_id}/callbacks | url | Sends this run's report once, when the run finishes. If it has already finished, sends it at once. |
POST /api/report-hooks | target_url, and optionally workflow_public_id and statuses | Sends each report in your company that you can read, when its run finishes. workflow_public_id limits it to one workflow. statuses limits it to some of completed, failed, budget_exceeded, cancelled and stale. |
GET /api/report-hooks | None | Lists your active hooks. Each address shows only its host and last few characters. |
DELETE /api/report-hooks/{id} | None | Stops one hook. |
Both POST calls answer 201 with the hook's id.
- Sign-in. Send
Authorization: Bearer fkp_..., or an OAuth access token, withworkflows:read. The hook belongs to that key or OAuth connection, and revoking it stops the hook. A browser sign-in can list and stop hooks but cannot create one. - Address. It must be a public
httpsURL. An address that resolves to a private, loopback or link-local IP is refused with422. FakeParrot checks the address again before every send and does not follow redirects. - What arrives. A
POSTwhose JSON body has the same shape asGET /api/reports/{run_id}, as you can read it at the time it is sent. TheX-FakeParrot-Deliveryheader names the delivery andX-FakeParrot-Hooknames the hook. FakeParrot does not sign the request, so keep the address secret. - Duplicates. Delivery is at least once, so the same report can arrive more
than once. A repeat carries the same
X-FakeParrot-Deliveryvalue, so de-duplicate on that header. - Your answer. Answer with any
2xxwithin 10 seconds. FakeParrot retries a timeout, a failed connection,408,425,429and any5xx, up to 8 attempts. The first retry waits 30 seconds and each later one waits twice as long, up to an hour. A410stops the hook. Any other answer ends that delivery without a retry. - Delegated work. A run that is
awaiting_work_packethas not finished, so its report is not sent until it does.
In Zapier, the address can be a Webhooks by Zapier Catch Hook URL. In Make, it can be a Custom webhook URL.
Check the run yourself
Check the run_id again after a delay, until the status is completed,
failed, cancelled, stale or budget_exceeded. A run waiting on delegated
work remains awaiting_work_packet until the work packet returns.
| Call | What it returns |
|---|---|
MCP tool get_workflow_run with run_id | status, progress, current_step, summary, errors, each step's status, report_url, and outcome when there is one |
GET /api/reports/{run_id} | The run's report as JSON, with presentation.execution_status, created_at and completed_at |
GET /api/reports | reports (each with id, status, workflow_name, created_at, completed_at), total, offset, limit and has_more |
For the REST calls, send Authorization: Bearer fkp_.... GET /api/reports
takes limit (1 to 200), offset, status and workflow_public_id. Each call
returns only reports that the sign-in is allowed to read.
Support
Email support@fakeparrot.com.