iPaaS middleware (Zapier, Make, n8n, Power Automate, Workato)
No-code integration platforms (iPaaS) link FoxPlan to your other tools (ERP, CRM, ticketing, messaging, spreadsheets…) without development. FoxPlan ships five connectors as standard, on every instance: they appear in Settings → Connectors for your workspace or company administrators, with no prior access request.
| Connector | Vendor | Webhook trigger to use in the tool |
|---|---|---|
| Zapier | Zapier | Webhooks by Zapier › Catch Hook |
| Make | Celonis (Make.com) | Webhooks › Custom webhook module |
| n8n | n8n | Webhook node (POST method, production URL) |
| Microsoft Power Automate | Microsoft | When an HTTP request is received trigger |
| Workato | Workato | Webhooks › New event via webhook trigger |
All five connectors work exactly the same way, in both directions:
| Direction | Mechanism | Where to configure it |
|---|---|---|
| FoxPlan → middleware (outbound) | FoxPlan posts a structured JSON event to your scenario's webhook URL | Configuration tab of the connector page, then Flows tab |
| Middleware → FoxPlan (inbound) | The scenario calls the FoxPlan REST API with an API account | API tab of the connector page |
Setup, connector by connector
The approach is always the same: create the webhook trigger in the tool, paste its URL into FoxPlan, test, then enable the flows.
Zapier
- Create a Zap and pick the Webhooks by Zapier › Catch Hook trigger. Zapier shows a URL such as
https://hooks.zapier.com/hooks/catch/…. - In FoxPlan, open Settings → Connectors → Zapier, paste the URL into Zapier webhook URL, optionally set a shared token, then Save.
- Click Test: Zapier receives a
connection.testevent and offers it as a sample ("Find new records"). - Flows tab: enable Task events and/or Task comments.
- Continue your Zap with any actions; to act on FoxPlan, use Webhooks by Zapier › Custom Request against the REST API (see below).
Make
- In a scenario, add the Webhooks › Custom webhook module, create a webhook and copy its address (
https://hook.eu1.make.com/…). - In FoxPlan, open the Make page, paste the URL, save then Test: Make determines the data structure automatically.
- Enable the flows you need in the Flows tab.
- To write into FoxPlan, add an HTTP › Make a request module with the
Authorization: Bearer …header (see the API section).
n8n
- In a workflow, add a Webhook node, POST method, and copy the production URL.
- In FoxPlan, n8n page: paste the URL, save, then Test while the node is listening ("Listen for test event") to capture a sample.
- Enable the flows in the Flows tab.
- To call FoxPlan, use an HTTP Request node with a Header Auth credential (
Authorization/Bearer …).
Microsoft Power Automate
- Create a flow with the When an HTTP request is received trigger. The URL only appears after the flow is saved for the first time.
- Paste the JSON sample below into "Use sample payload to generate schema" to get the fields in the next steps.
- In FoxPlan, Microsoft Power Automate page: paste the URL, save, Test, then enable the flows.
- To act on FoxPlan, add an HTTP action with the
Authorizationheader.
The HTTP trigger and the HTTP action are Premium connectors at Microsoft.
Workato
- In a recipe, pick the Webhooks › New event via webhook trigger and copy the webhook URL.
- In FoxPlan, Workato page: paste the URL, save, Test, then enable the flows.
- To write into FoxPlan, use Workato's HTTP connector with Header authentication (
Authorization: Bearer …).
Outbound: the JSON event
The Test button immediately sends a connection.test event. The Task events flow (task.status-changed, task.owner-changed, task.planning-assignment-changed) and the Task comments flow (task.comment-added) then send, for each event, a JSON of the form:
{
"schemaVersion": "1",
"source": "foxplan",
"event": "task.status-changed",
"occurredAt": "2026-09-08T16:05:12.345Z",
"environmentId": "…",
"actor": { "id": "…", "name": "Jane Doe", "email": "jane@example.com" },
"project": { "id": "…", "name": "Project Alpha", "code": "ALP" },
"task": { "id": "…", "projectId": "…", "name": "…", "status": "…", "owner": "…", "priority": 1, "startDate": "…", "endDate": "…", "percentComplete": 40, "description": "…", "lastModifiedDate": "…" },
"previous": { "…": "task state before the change" },
"comment": { "author": "…", "text": "…" }
}
Two HTTP headers come with every call: X-Foxplan-Event (event type) and, when a shared token is set in the configuration, X-Foxplan-Token. Check that token in your scenario to accept calls from FoxPlan only.
As with chat connectors, these flows only fire when the matching project notification options are enabled in Project definition.
Inbound: calling the FoxPlan API from the scenario
The API tab of each connector page lists the REST API operations recommended for an automation scenario, grouped by domain (authentication, projects, tasks, comments, resources, portfolios): list or create tasks, change a status, comment, read a project, create an assignment… It shows the base URL to use and links to the full Swagger documentation.
Authentication, in three steps:
- Create an API account in Settings → Connectors → API tab and grant it a role (e.g. Workspace Manager).
- Call
POST /api/authwith Basic authentication (Auth ID:Auth Token, base64-encoded): the response carries anid_token. - Send the
Authorization: Bearer <id_token>header on every call.
The detailed procedure is in the API usage guide.
Importing the OpenAPI specification into the tool
The API tab also offers the OpenAPI (3.x) document for download: it matches exactly the scope of the displayed list, uses your instance address as server, and leaves out FoxPlan's internal services. Make (Custom apps › Import OpenAPI), Zapier (Platform UI › Import an OpenAPI spec) and Workato (Connector SDK › Import OpenAPI) turn it into a custom connector in a few clicks. n8n does not import OpenAPI: the file serves as a reference for HTTP Request nodes. Power Automate currently accepts version 2.0 only: the file is provided in 3.x, to be converted until they support it.
Isolation per instance
A middleware can only act on the instance (tenant) it is attached to, in both directions:
- Outbound: the connector is installed on a workspace; it only receives that workspace's events, and the emitting instance's context is kept until the webhook is sent.
- Inbound: the API account belongs to one company; the token it obtains carries that company, which alone determines the data that can be reached. A header forged in the scenario cannot switch it, and the account's rights (project roles) apply as for any user.