How Glow Integrations Work
Glow runs a native integration framework for app authentication, action execution, and trigger handling. Connect an account once, reuse it across canvas Steps and AI Agent tools, and inspect every response in Executions.
- Use it to
- Understand how app connections, pre-built actions, Custom API requests, triggers, and AI Agent tools work together
- Find it
- Canvas App drawer → Apps and Left sidebar → Connections
- Output
- App actions return their result directly as {{ N.field }} · Custom API request returns {{ N.status }}, {{ N.headers }}, and {{ N.data }}
- Instead
- HTTP Request Step (for arbitrary external APIs outside a catalog app)
How the Parts Fit Together
The app catalog defines available operations and input fields. A saved connection supplies account authorization, and each Step supplies the operation and mapped inputs.
- ConfigureBefore a runApp catalogChoose an action and configure its inputs.Connected accountSelect the account and check resource access.
- ExecuteStarted by a trigger or manual runApp Step in GlowResolve inputs and execute the selected action.Request
responseExternal appHandles the API request with its permissions and limits. - Use the ResultInspect the Step outputDownstream StepsMap returned fields into the next part of the automation.ExecutionsInspect recorded results and errors from the run.
From Catalog to a Configured Step
Pick an action in the App drawer, select its Connection, and fill in its fields. Resource pickers load live items (such as spreadsheets or channels) through the selected account. Multiple Steps can share one account while targeting different resources. If you switch the selected account, recheck dependent resource fields.
Where AI Fits
- Assembles and edits Steps on the canvas.
- Review its Steps, account bindings, and field mappings before running.
- Authorized tests execute real actions. See Build with Workflow Assistant (/build/ai-features/workflow-assistant).
- Calls permitted app tools during execution using granted accounts.
- Tool results return to the agent; later Steps read the AI Agent output.
- App triggers are event sources, not agent tools. See Configure an AI Agent (/build/ai-features/ai-agent).
Access and approval are separate. Granting account access does not pause every tool call for human approval. Check account and tool approval settings, or add a Human Review Step before sensitive actions.
Choose the Connection Method
| You need to… | Use | Who supplies authentication? |
|---|---|---|
| Perform an operation listed for an app | A pre-built app action | Select a saved app connection |
| Call another endpoint of a supported app | The app’s Custom API request, where available | Glow applies the selected connection’s credentials |
| Call your own or another public API | HTTP Request | Configure authentication using workspace secrets or API keys |
| Start an automation when a service sends an event | An app trigger or Webhook | Complete the trigger’s setup or configure webhook verification |
What Glow Manages
| Layer | What Glow handles | What you verify |
|---|---|---|
| Authorization & accounts | Saves connections, refreshes OAuth tokens when a valid refresh token is provided, and updates in place. | Test access to the target resource and check dependents in Connections (Managing Connections). |
| Configuration & execution | Loads dynamic pickers, resolves mapped inputs at runtime, and logs output in Executions. | Select parent resources before child fields, and map actual output fields ({{ N.field }}). |
| Incoming events | Polls for new records or receives webhooks through the integration’s trigger mechanism. | Complete required provider subscriptions or bot permissions before switching to Live. |
- Direct output on app Steps: App actions expose their return value directly (object, list, or scalar), whereas HTTP Request has its own output wrapper. Adobe PDF Services Steps (
Extract Text From PDFandExtract Text and Tables From PDF) return extractedtext,elements, andtablesdirectly, with the full archive underarchiveFile(up to 10 MB). - Slack posting & loop protection: Slack Steps that send to a channel post as Glow by default (with Send as Bot enabled on new Post Message Steps) unless Send as User is turned on. If Glow is not in the channel, it joins automatically using your Slack access or asks you to run
/invite @Glow(or turn on Send as User for direct messages). Messages posted as Glow do not trigger your Slack triggers. - No charge when nothing reached the app: When an app Step fails on Glow’s side before anything is sent to the external service, the Step reports
"Glow had a problem running this step", confirms nothing was sent, and costs0Step credits (Failed - not charged). - Polling baselines & intervals: Resuming a paused polling trigger sets a fresh baseline without replaying events created while paused. Gmail triggers check for new mail every minute on paid plans (every 5 minutes on Free).
- Connections and webhooks are separate: Saving a connection does not configure an inbound Webhook trigger.
Choose Your OAuth App Registration
- Sign in immediately using Glow's managed OAuth client where available.
- Used automatically when no workspace or MSP registration is configured.
- No developer-console redirect URL or client secret setup required.
- Use an OAuth client managed by your workspace or MSP organization.
- Precedence at sign-in: workspace registration, then MSP, then Glow.
- Admin saves Client ID and Client secret via Use your own app in sign-in setup.
Saving a custom registration updates the OAuth client identity for new sign-ins and reconnections. It does not add per-automation scope selectors or reauthorize existing connections. Follow Use Your Own App for setup, rotation, and removal.
Make a Custom API Request
Use an app’s Custom API request action to call an allowed endpoint not covered by pre-built actions. It reuses your saved connection without exposing its raw token.
Select the app and account
Add Custom API request from the app’s actions and select the intended Connection in the App drawer.
Configure the request
Set Method, URL (a relative path or allowed HTTPS URL), Query parameters, Headers, and Body. Glow injects authentication from the selected connection. Use headers only for request metadata.
Check a read before a write
Run an authorized test with a small GET request first (ordinary Run step replays saved test data). Inspect {{ N.status }}, {{ N.headers }}, and {{ N.data }} (for example, {{ 2.data.id }}). Then test writes against a safe test resource.
Initial requests must target an allowed API host for that app. Cross-origin redirects strip credential headers, though redirects can still forward a request body. Check redirect behavior before sending sensitive payloads. Check the external service before retrying a timed-out write.
Review Access and Data Handling
- Isolate client accounts: Keep each client’s connections in its own workspace. Recheck bindings when deploying across workspaces.
- Audit provider scopes: Review OAuth consent screens and API-key scopes against your policy.
- Protect secrets: Raw credentials are never returned in connection details. Use workspace Secrets or API keys for manual auth headers.
- Check retention: Responses enter execution history and downstream Steps. Review Security & Compliance and ask your account team for subprocessor, region, or audit documentation.
- Run
- Add an app Step or Custom API request, select a saved Connection, and run a read-only test
- You should see
- Glow calls the external service with the selected account and records the returned output in Executions.
What’s Next?
- Connecting an App: authorize an account and check access with a read-only action.
- Managing Connections: reconnect, replace, or retire an account.
- HTTP Request: configure a request to another public API.