Understand and create custom flows
Relative URI |
Method |
Success code |
Description |
---|---|---|---|
|
|
|
Get all flows. |
|
|
Create a flow. |
|
|
|
|
Get a specific flow. |
|
|
Update a specific flow. |
|
|
|
Update part of a specific flow. |
|
|
|
Delete a specific flow. |
|
|
|
|
Clone a specific flow. |
|
|
|
Run a specific flow on demand. |
|
|
|
Replace a connection at the flow level. |
|
|
|
Get a log for a specific flow. |
|
|
|
Download a flow. |
|
|
|
Get all resources using or used by this flow. |
The following fields can be updated using PATCH
. You must use the provided format to update the field:
[ { "op": "replace", "path": "/fieldname", "value": "newvalue" } ]
Field |
Sub-field |
Data type |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /v1/flows/55e••••••••••••••••••367 HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token
{ "_id":"55e••••••••••••••••••367", "lastModified":"2017-06-19T21:27:09.945Z", "name":"Send GitHub Events to Slack", "disabled":false, "timezone":"America/Los_Angeles", "_exportId":"55e••••••••••••••••••366", "_importId":"55e••••••••••••••••••d14", "_integrationId":"58f••••••••••••••••••1bc", "skipRetries":false, "createdAt":"2017-06-19T21:27:09.900Z" }
GET /v1/flows/598••••••••••••••••••d9a HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token
Get a specific flow with multiple exports and imports linked together
{ "_id":"598••••••••••••••••••d9a", "lastModified":"2017-08-19T17:04:54.005Z", "name":"Update Usage Stats for all Trialers", "disabled":false, "schedule":"? 0 2 ? * *", "timezone":"America/Los_Angeles", "_integrationId":"593••••••••••••••••••74e", "skipRetries":false, "pageProcessors":[ { "type":"export", "_exportId":"598••••••••••••••••••428", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"numConnections" } ] } }, { "type":"export", "_exportId":"598••••••••••••••••••d32", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"dlSuccessAndErrors" } ] } }, { "type":"export", "_exportId":"598••••••••••••••••••6c6", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"lastSignIn" } ] } }, { "type":"export", "_exportId":"598••••••••••••••••••638", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"numDataLoaders" } ] } }, { "type":"export", "_exportId":"598e0c", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"numFlows" } ] } }, { "type":"export", "_exportId":"598••••••••••••••••••54b", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"numPasswordChanges" } ] } }, { "type":"export", "_exportId":"598••••••••••••••••••e22", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"numPasswordResets" } ] } }, { "type":"export", "_exportId":"598e29", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"numSignIns" } ] } }, { "type":"export", "_exportId":"598e37", "responseMapping":{ "lists":[], "fields":[ { "extract":"data", "generate":"successAndErrors" } ] } }, { "type":"import", "_importId":"598••••••••••••••••••615", "proceedOnFailure":true, "responseMapping":{ "lists":[], "fields":[] } }, { "type":"import", "_importId":"598••••••••••••••••••9f9", "responseMapping":{ "lists":[], "fields":[] } } ], "pageGenerators":[ { "_exportId":"598••••••••••••••••••286", "_id":"599••••••••••••••••••b36" }, { "_exportId":"598••••••••••••••••••6dd", "_id":"599••••••••••••••••••b35" } ], "createdAt":"2017-08-01T20:43:42.156Z" }
POST /v1/flows/55e••••••••••••••••••367 HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token
Send a JSON body payload that replaces existing connection details with new ones.
PUT /v1/flows/55e••••••••••••••••••367/replaceConnection HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token
Use the GET
/flows/<_id>
endpoint to retrieve the JSON representation of the flow you wish to modify. In the retrieved JSON, locate the existing import you want to replace and update it with the new import information. Send the modified JSON as the body of a request to the PUT
/flows/<_id>
endpoint.
PUT /v1/flows/55e••••••••••••••••••367 HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token
{ "_id": "55e••••••••••••••••••367", "lastModified": "2021-12-14T12:39:24.138Z", "name": "Send list of all integrations", "disabled": true, "_integrationId": "61b••••••••••••••••a6c", "pageGenerators": [ { "_exportId": "61b•••••••••••8adb", "skipRetries": false } ], "pageProcessors": [ { "responseMapping": { "fields": [], "lists": [] }, "type": "import", "_importId": "61b8••••••••••8ae0" } ], "createdAt": "2021-12-14T12:39:24.021Z", "free": false, "_templateId": "602c••••••••••••••7eb8", "_sourceId": "603•••••••••••••83d", "autoResolveMatchingTraceKeys": true }
POST /v1/flows/55e••••••••••••••••••367/run HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token
POST /v1/flows/55e••••••••••••••••••367/clone HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token
Send a JSON body payload that maps existing connection IDs to the connection IDs in the new flow. You can map to the same connection ID if you don’t want to change it. The connectionMap must map every connection in the existing flow. For example, if you have 5 connections in your flow, you need to map each connection, even if the connections don’t all change.
{ "connectionMap": { "<existingConnectionId #1>": "<newConnectionId #1>", "<existingConnectionId #2>": "<newConnectionId #2>", …… }, "sandbox": false, "name": "<Name Flow Here>", "_integrationId": "<integration id where the cloned flow should go>", "_flowGroupingId": "<flow grouping id where the cloned flow should go - optional>" }
POST /v1/flows/55e••••••••••••••••••367/template HTTP/1.1 Host: api.integrator.io Authorization: Bearer my_api_token