How to Set Up an Integration
Integrations connect Vesbite to external services so your flows can read and write data to platforms like Airtable, Salesforce, SendGrid, and databases. This guide covers how to set up each type of integration and manage your connections.
Prerequisites
- A Vesbite account
- Credentials or access to the external service you want to connect
- At least one flow where you want to use the integration (connections are created from within the flow builder)
How Connections Work
A connection stores the credentials Vesbite needs to communicate with an external service on your behalf. Each integration type uses a different authentication method:
| Type | Examples | How It Works |
|---|---|---|
| OAuth | Salesforce, HubSpot, Xero, Airtable | Browser popup where you log in and grant access |
| API Key | SendGrid, custom APIs | You paste an API key into a form |
| Database | PostgreSQL, MySQL, MongoDB, SQL Server | You provide host, port, database name, and credentials |
Connections are reusable. Once created, any flow in your tenant can use the same connection.
Setting Up an OAuth Integration
OAuth integrations (Salesforce, HubSpot, Xero, Airtable) use a popup-based authorization flow.
Step 1: Add an Integration Node to Your Flow
In the flow builder, click the + button and search for the integration you need. For example, search “Airtable” and select an action like Create Record or Get Records.
Step 2: Open the Node Settings
Double-click the integration node to open its settings panel.
Step 3: Create a New Connection
At the top of the settings panel, click the Connection dropdown. If you have existing connections for this service, they appear in the list. To create a new one, click Add Connection.
Step 4: Authorize in the Popup
A browser popup opens to the service’s login page. Complete the authorization:
- Log in to your account on the external service (e.g., Airtable, Salesforce)
- Review permissions — The service shows what Vesbite is requesting access to
- Grant access — Click “Allow”, “Authorize”, or the equivalent button
- The popup closes automatically and your new connection appears selected in the dropdown
Tip: If the popup is blocked by your browser, check your popup blocker settings and try again. Most browsers show a notification in the address bar when a popup is blocked.
Step 5: Configure the Node
With the connection selected, the rest of the settings panel unlocks. Configure the node’s input fields (e.g., which base, table, and fields to use for an Airtable action).
Setting Up an API Key Integration
API key integrations (like SendGrid) require you to paste a key from the external service.
Step 1: Add the Integration Node
Add a SendGrid node (or another API key integration) to your flow and double-click to open settings.
Step 2: Create a New Connection
Click the Connection dropdown and select Add Connection. A form appears with fields specific to the service.
Step 3: Enter Your API Key
Paste your API key into the designated field. For SendGrid, this is a single API key field. Other services may require additional fields like an account ID or region.
Step 4: Save the Connection
Click Save. The connection is validated and stored securely. It now appears in the Connection dropdown for all nodes that use this integration.
Setting Up a Database Connection
Database connections (PostgreSQL, MySQL, MongoDB, SQL Server) require host and credential information.
Step 1: Add a Database Node
Add a database query node to your flow. Search for “PostgreSQL”, “MySQL”, “MongoDB”, or the database you need in the activity picker.
Step 2: Create a New Connection
Click the Connection dropdown and select Add Connection. The database connection form appears.
Step 3: Enter Connection Details
Fill in the following fields:
| Field | Description | Example |
|---|---|---|
| Connection Name | A friendly name for this connection | “Production DB” |
| Host | The database server hostname or IP | db.example.com |
| Port | The database port | 5432 (PostgreSQL), 3306 (MySQL), 27017 (MongoDB) |
| Database | The database name | inventory |
| Username | Database user | vesbite_app |
| Password | Database password | (entered securely) |
| SSL | Whether to use an encrypted connection | Enabled/Disabled |
Step 4: Test and Save
Click Test Connection to verify Vesbite can reach the database with the provided credentials. If the test succeeds, click Save to store the connection.
Security note: Database credentials are encrypted at rest and transmitted over TLS. Use a dedicated database user with minimum required permissions for Vesbite connections.
Managing Connections
Viewing Existing Connections
All connections for an integration type are visible in the Connection dropdown when you configure a node of that type. Connections are shared across all flows in your tenant.
Renaming a Connection
Open any node that uses the connection, click the Connection dropdown, and click the edit icon next to the connection name. Update the name and save.
Deleting a Connection
To delete a connection, click the delete icon next to it in the Connection dropdown. You will be asked to confirm.
Warning: Deleting a connection will break any flow nodes that currently use it. Those nodes will show an error until a new connection is selected.
Using Connections in Flows
Once a connection is set up, you can use it in any flow:
- Add an integration node for the service
- Double-click the node to open settings
- Select the existing connection from the Connection dropdown
- Configure the node’s inputs
- Save
You do not need to re-authenticate each time. The stored connection handles authentication automatically, including refreshing expired OAuth tokens.
Custom Integrations with HTTP Request
For services that do not have a built-in integration, use the HTTP Request node:
- Add an HTTP Request node to your flow
- Configure the URL, method (GET, POST, PUT, DELETE), headers, and body
- Use expressions to pass dynamic data:
{{ variables.apiKey }}in headers or{{ output("trigger").data | object.to_json }}in the body - Parse the response in subsequent nodes
This lets you connect to any REST API without a dedicated integration.
Security
All integration credentials are:
- Encrypted at rest using AES-256
- Transmitted over TLS between Vesbite and external services
- Access controlled per tenant — connections are not shared across tenants
- Audit logged — connection creation, modification, and deletion are recorded
Next Steps
- Build a Flow — Create workflows that use your integrations
- Use Expressions — Pass dynamic data to integration nodes
- Trigger Device Actions — Combine device actions with integrations