Skip to content

Connections

Connections store encrypted authentication credentials for external services. Once created, a connection can be referenced across any of your workflows using the {{ $connections.connectionName }} template syntax.

  1. Navigate to Connections in the QuickFlo sidebar
  2. Click New Connection
  3. Choose a connection type
  4. Fill in the required credentials
  5. For OAuth types, click Connect to authorize access
New connection dialog showing available connection types

These connection types use an OAuth authorization flow — you authenticate directly with the service and QuickFlo stores the tokens securely.

Connects to Google Sheets, Drive, Docs, and other Google services. Authorize with your Google account and QuickFlo handles token refresh automatically.

Scopes granted: Sheets, Drive, Docs, user profile

Connects to your Salesforce org via OAuth. Requires an External Client App created in Salesforce Setup.

Fields: Consumer Key, Consumer Secret, Instance URL, API Version

Connects to a Slack workspace with bot token permissions. Messages sent through the connection appear from your QuickFlo app/bot.

Scopes granted: Send messages, read channels, read users, manage reactions

For OAuth providers not listed above. Manually enter the Client ID, Client Secret, Token URL, and scopes to connect to any OAuth 2.0 service.

These connection types store credentials directly — no OAuth flow required.

For services that authenticate via API key in HTTP headers or query parameters.

FieldDescription
API KeyThe API key value
Header NameHTTP header name (default: Authorization)
PrefixOptional prefix like Bearer or Token

Generic username/password for HTTP basic authentication.

FieldDescription
UsernameUsername for basic auth
PasswordPassword for basic auth

Connect to PostgreSQL, MySQL, MongoDB, or other databases via connection URL.

FieldDescription
Connection URLFull connection string (e.g., postgresql://user:pass@host:5432/db)
OptionsAdditional database-specific options (JSON)

Send emails via SMTP. Works with any SMTP provider (Gmail, SendGrid, Amazon SES, etc.).

FieldDescription
HostSMTP server hostname (e.g., smtp.gmail.com)
PortSMTP port (465 for SSL, 587 for TLS)
UsernameSMTP username
PasswordSMTP password
FromDefault sender address
SecureUse TLS/SSL (default: true)

Secure file transfer via SSH. Supports password or private key authentication.

FieldDescription
HostSFTP server hostname
PortSFTP port (default: 22)
UsernameSFTP username
PasswordPassword (if not using key auth)
Private KeySSH private key content (if not using password)

Authenticate with Google Cloud Platform services (GCS, BigQuery, etc.) using a service account key.

FieldDescription
CredentialsFull contents of the service account JSON key file

Authenticate with AWS services (S3, DynamoDB, Lambda, etc.) using access keys.

FieldDescription
Access Key IDAWS access key ID
Secret Access KeyAWS secret access key
RegionAWS region (e.g., us-east-1)
Session TokenOptional, for temporary IAM credentials

Connects to the Five9 contact center platform.

FieldDescription
UsernameFive9 API username
PasswordFive9 API password
RegionFive9 data center region
Domain IDOptional, for SMS or admin REST APIs

Grants access to protected QuickFlo forms. Each form-auth connection represents a user credential that can be referenced by form triggers.

FieldDescription
UsernameUsername for form access
PasswordPassword for form access
MetadataOptional key-value pairs passed to the workflow (e.g., department, role)

Freeform JSON configuration for any connection type not covered above. Define your own credential structure.

Reference connections in step configuration using template syntax:

{{ $connections.my-connection-name }}

You can also access specific fields from a connection:

{{ $connections.my-database.url }}
{{ $connections.my-five9.username }}

You can use environment variables to dynamically select which connection a workflow uses — no workflow changes needed to swap between production and staging credentials.

For example, say you have two Salesforce connections: salesforce-prod and salesforce-sandbox. In each environment, set the same variable pointing to a different connection:

EnvironmentVariableValue
productionSF_CONNECTION{{ $connections.salesforce-prod }}
stagingSF_CONNECTION{{ $connections.salesforce-sandbox }}

In your workflow steps, reference the environment variable instead of a specific connection:

{{ $env.SF_CONNECTION }}

Now the workflow uses the right Salesforce org based on which environment is active. You can even switch at runtime by adding ?env=staging to the webhook URL.

See Environments for full details on setup and connection redirection.