Loopfour
Connections

Connections

How data flows between blocks and how to manage integration credentials

Connections in Loopfour have two meanings: the edges that link blocks together on the canvas (defining data flow), and the integration connections that authenticate your workflow with external services like Stripe, Salesforce, and Slack.

Data Flow (Edges)

Edges are the lines connecting blocks on the canvas. They define two things:

  1. Execution order -- a block only runs after all its upstream blocks complete
  2. Data access -- downstream blocks can reference outputs from upstream blocks via template variables

Creating Edges

Click an output port on a block and drag to an input port on another block. The edge appears as a line with an arrow indicating data flow direction.

Template Variables

Access data from upstream blocks using template variable syntax:

ContextSyntaxExample
Trigger payload{{input.field}}{{input.data.object.amount}}
Step output{{steps.stepId.output.field}}{{steps.lookup.output.email}}
Workflow variables{{variables.name}}{{variables.taxRate}}
System values{{now}}, {{runId}}Current timestamp, execution ID

Data Flow Principles

  • Directional -- data flows from outputs to inputs, never backwards
  • Automatic -- the execution engine resolves all template variables before a block runs
  • Concurrent -- blocks with no dependency on each other run in parallel automatically
  • Conditional -- Condition blocks activate only one downstream path per execution

Integration Connections

Integration connections authenticate your workflows with external services. They are managed through Nango and support OAuth 2.0 and API key authentication.

Setting Up a Connection

  1. Open the Integrations page in the studio
  2. Click Connect on the provider (Stripe, Salesforce, etc.)
  3. Complete the OAuth flow or enter your API key -- API-key providers accept an optional connection name at this step
  4. The connection is now available in all workflow blocks for that provider

Multiple Accounts per Provider

A company can hold several accounts for the same provider -- for example two QuickBooks companies or a production and a sandbox Stripe account. Once a provider has at least one connection, its row on the Integrations page shows a Manage button that opens the account list for that provider. From there you can:

  • Add account -- connect another account via OAuth or API key
  • Rename -- give any connection a display name (names are optional; a default label is generated when you skip it)
  • Set as default -- exactly one connection per provider is the default, marked with a star
  • Verify / Refresh / Disconnect -- per-account health check, credential refresh, and removal
  • Update API key (API-key providers) -- replace the credentials of one specific account; submitting a new key without choosing an account creates a new connection instead of overwriting an existing one

Workflow steps that don't select a specific account -- and the {{connections.<provider>}} template variable -- resolve to the provider's default connection. Every add, remove, rename, default change, and credential refresh is recorded in the audit log.

Choosing an Account per Workflow Step

Integration blocks include a connection selector in the workflow editor. It lists every account you hold for the block's provider, marks the default with a star, and the account you pick is stored on the step and used at run time -- company-scoped and provider-checked, so a step can only ever run against one of your own accounts for its own provider. Steps without a selection keep using the provider's default account.

If a selected account is later disconnected, the editor shows a warning on the step prompting you to reselect; until you do, runs log a warning and fall back to the provider's default account.

AI agent steps can hold a selection per tool provider: the agent block's "Tool accounts" section shows one selector for each provider its tools use (e.g. NetSuite tools against a specific subsidiary while Slack tools use the default workspace). The account choice always comes from the workflow configuration -- an agent's tool call cannot switch accounts on its own.

Security

  • All credentials are encrypted at rest with AES-256-GCM
  • OAuth tokens are automatically refreshed when they expire
  • Credentials are never stored in workflow definitions or exposed in logs
  • Each connection is scoped to a specific company

Supported Providers

ProviderAuth TypeConnection Setup
StripeOAuth 2.0Authorize via Stripe Connect
SalesforceOAuth 2.0Authorize via Salesforce
HubSpotOAuth 2.0Authorize via HubSpot
QuickBooksOAuth 2.0Authorize via Intuit
XeroOAuth 2.0Authorize via Xero
NetSuiteToken-Based AuthEnter credentials
Sage IntacctAPI KeyEnter web services credentials
SlackOAuth 2.0Authorize via Slack
GmailOAuth 2.0Authorize via Google
OutlookOAuth 2.0Authorize via Microsoft
DocuSignOAuth 2.0Authorize via DocuSign
PandaDocAPI KeyEnter API key
AttioAPI KeyEnter API key
Dropbox SignAPI KeyEnter API key
RilletAPI KeyEnter API key
Zoho InventoryOAuth 2.0Authorize via Zoho

Frequently Asked Questions

On this page