Integration Step
An Integration step calls a single action on a service you have already connected — the action list, the URL, the method and the credential all come from the integration itself, so you fill in the parameters and nothing else. Underneath, it makes the same HTTP call an HTTP Request step would, and returns the same response shape. The difference is where the request comes from.Adding one
The flow editor’s toolbar has an Integrations menu listing every integration connected to your account. Drag one onto the canvas and the step is created pointing at it. The step then carries two identifiers of its own, outside the payload:string
required
Which connected integration this step calls. Set when you drag the integration in.
string
required
Which action on that integration to call, chosen from the Action dropdown on the Configuration tab. The dropdown lists each action as its method and path.
url becomes the action’s path, method becomes its method, and the query, header and body editors reset for the new shape.
Configuration
The Configuration tab shows the chosen action, an editable Path, and three sub-tabs:
Values are JSONPath-resolved before the call, exactly as on an HTTP step:
Authorisation
The Configuration tab includes the integration’s own authorisation controls. What you see depends on how the integration authenticates:- API key, bearer token or basic credentials — entered on the step. Store the value as a secret and reference it as
SECRET::<name>::rather than pasting it in. - OAuth 2 — pick a connection rather than a token. Connections come in two scopes: personal (yours) and shared (the account’s). The step fetches a live access token for the chosen connection each time it runs.
security_schemes, which is what decides where the credential is placed. This is why an integration step usually needs no header configuration at all.
The response
Identical to an HTTP Request step:{ "issue": "$.data.id" } turns the step’s result into {"issue": "…"} and downstream steps read $.CREATE_ISSUE.issue. Leave it empty and the result is stored unchanged.
Failure and retries
The same rules as any outbound call: any 4xx or 5xx fails the step, and a failed step ends the run. The Advanced Settings tab offersattempts (total, capped at 5), backoff_ms (a constant wait, not exponential), ignore_response_codes and flat_map.
Editing a flow changes its draft. Publish to make the change take effect. Connecting or re-authorising an integration takes effect immediately, because the connection is not part of the flow.
Integration compared with assistant tools
An Integration step calls one action, at a point you choose, with parameters you control. Attaching the same integration to an assistant instead lets the assistant decide whether to call it and with what — better when the decision is the hard part, worse when you need the call to happen exactly once, exactly this way.Next Steps
HTTP Request
Call a service that is not connected
Assistant Step
Let an assistant use the integration instead
Map Step
Reshape the response
Flow Steps Overview
How a failure ends a run