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.
Creating a Connection
Section titled “Creating a Connection”- Navigate to Connections in the QuickFlo sidebar
- Click New Connection
- Choose a connection type
- Fill in the required credentials
- For OAuth types, click Connect to authorize access
Connection Types
Section titled “Connection Types”OAuth Connections
Section titled “OAuth Connections”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
Salesforce
Section titled “Salesforce”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
Custom OAuth
Section titled “Custom OAuth”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.
Credential Connections
Section titled “Credential Connections”These connection types store credentials directly — no OAuth flow required.
API Key
Section titled “API Key”For services that authenticate via API key in HTTP headers or query parameters.
| Field | Description |
|---|---|
| API Key | The API key value |
| Header Name | HTTP header name (default: Authorization) |
| Prefix | Optional prefix like Bearer or Token |
Basic Auth
Section titled “Basic Auth”Generic username/password for HTTP basic authentication.
| Field | Description |
|---|---|
| Username | Username for basic auth |
| Password | Password for basic auth |
Database
Section titled “Database”Connect to PostgreSQL, MySQL, MongoDB, or other databases via connection URL.
| Field | Description |
|---|---|
| Connection URL | Full connection string (e.g., postgresql://user:pass@host:5432/db) |
| Options | Additional database-specific options (JSON) |
Send emails via SMTP. Works with any SMTP provider (Gmail, SendGrid, Amazon SES, etc.).
| Field | Description |
|---|---|
| Host | SMTP server hostname (e.g., smtp.gmail.com) |
| Port | SMTP port (465 for SSL, 587 for TLS) |
| Username | SMTP username |
| Password | SMTP password |
| From | Default sender address |
| Secure | Use TLS/SSL (default: true) |
Secure file transfer via SSH. Supports password or private key authentication.
| Field | Description |
|---|---|
| Host | SFTP server hostname |
| Port | SFTP port (default: 22) |
| Username | SFTP username |
| Password | Password (if not using key auth) |
| Private Key | SSH private key content (if not using password) |
Cloud Provider Connections
Section titled “Cloud Provider Connections”GCP Service Account
Section titled “GCP Service Account”Authenticate with Google Cloud Platform services (GCS, BigQuery, etc.) using a service account key.
| Field | Description |
|---|---|
| Credentials | Full contents of the service account JSON key file |
AWS Credentials
Section titled “AWS Credentials”Authenticate with AWS services (S3, DynamoDB, Lambda, etc.) using access keys.
| Field | Description |
|---|---|
| Access Key ID | AWS access key ID |
| Secret Access Key | AWS secret access key |
| Region | AWS region (e.g., us-east-1) |
| Session Token | Optional, for temporary IAM credentials |
Special Connection Types
Section titled “Special Connection Types”Connects to the Five9 contact center platform.
| Field | Description |
|---|---|
| Username | Five9 API username |
| Password | Five9 API password |
| Region | Five9 data center region |
| Domain ID | Optional, for SMS or admin REST APIs |
Form Auth
Section titled “Form Auth”Grants access to protected QuickFlo forms. Each form-auth connection represents a user credential that can be referenced by form triggers.
| Field | Description |
|---|---|
| Username | Username for form access |
| Password | Password for form access |
| Metadata | Optional key-value pairs passed to the workflow (e.g., department, role) |
Custom
Section titled “Custom”Freeform JSON configuration for any connection type not covered above. Define your own credential structure.
Using Connections in Workflows
Section titled “Using Connections in Workflows”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 }}Connection Redirection via Environments
Section titled “Connection Redirection via Environments”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:
| Environment | Variable | Value |
|---|---|---|
production | SF_CONNECTION | {{ $connections.salesforce-prod }} |
staging | SF_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.