Skip to main content

What Are Integrations?

Integrations connect Decisional to external services, allowing your agents to send emails, update CRMs, post to Slack, query databases, and more.

Why Integrations Matter

Agents without integrations can only work with worksheet data. Integrations let agents interact with the real world - sending emails, updating records, fetching live data.

Available Integrations

Communication

Gmail

What it does:
  • Send emails
  • Read inbox
  • Search messages
  • Attach files
Use cases:
  • Send quotes to customers
  • Email notifications
  • Process incoming requests

Outlook

What it does:
  • Send emails (Office 365)
  • Access calendar
  • Read messages
Use cases:
  • Corporate email automation
  • Meeting scheduling
  • Email-based workflows

Slack

What it does:
  • Post messages to channels
  • Send direct messages
  • Create threads
  • Upload files
Use cases:
  • Team notifications
  • Alert on errors
  • Share reports

Discord

What it does:
  • Post to channels
  • Send messages
  • Create embeds
Use cases:
  • Community updates
  • Bot interactions
  • Notifications

Microsoft Teams

What it does:
  • Post to channels
  • Send messages
  • Create adaptive cards
Use cases:
  • Enterprise notifications
  • Team collaboration
  • Workflow updates

Telegram

What it does:
  • Send messages
  • Create bots
  • Notifications
Use cases:
  • Personal notifications
  • Bot commands
  • Alerts

CRM & Sales

HubSpot

What it does:
  • Create/update contacts
  • Manage deals
  • Log activities
  • Custom properties
Use cases:
  • Auto-update deal stages
  • Enrich contact data
  • Log quote sent activities

Salesforce

What it does:
  • CRUD operations on objects
  • Query SOQL
  • Update opportunities
  • Custom fields
Use cases:
  • Sync quotes to opportunities
  • Update account data
  • Log interactions

Attio

What it does:
  • Manage records
  • Update lists
  • Custom fields
Use cases:
  • Modern CRM automation
  • Flexible data models

Pipedrive

What it does:
  • Manage deals
  • Update stages
  • Add activities
Use cases:
  • Sales pipeline automation
  • Deal tracking

Close

What it does:
  • Manage leads
  • Log calls
  • Send emails
Use cases:
  • Sales automation
  • Lead tracking

Storage & Files

Google Drive

What it does:
  • Upload files
  • Read files
  • Organize folders
  • Share links
Use cases:
  • Save generated reports
  • Read source documents
  • Backup data

OneDrive

What it does:
  • Upload/download files
  • SharePoint access
  • Folder management
Use cases:
  • Corporate file storage
  • SharePoint integration

Dropbox

What it does:
  • File operations
  • Folder sync
Use cases:
  • File storage
  • Team folders

Amazon S3

What it does:
  • Upload objects
  • Download files
  • Bucket operations
Use cases:
  • Large file storage
  • Data archiving
  • Static hosting

Databases

PostgreSQL

What it does:
  • Run SQL queries
  • Insert/update records
  • Read tables
Use cases:
  • Sync to production DB
  • Query live data
  • Write results

MySQL

What it does:
  • Execute queries
  • CRUD operations
Use cases:
  • Legacy system integration
  • Data sync

Snowflake

What it does:
  • Data warehouse queries
  • Large dataset operations
Use cases:
  • Analytics queries
  • Data pipeline

BigQuery

What it does:
  • Run queries
  • Access datasets
Use cases:
  • Google Cloud data
  • Analytics

Microsoft SQL Server

What it does:
  • T-SQL queries
  • Stored procedures
Use cases:
  • Enterprise databases
  • Windows environments

Payments & Finance

Stripe

What it does:
  • Create invoices
  • Process payments
  • Manage customers
Use cases:
  • Auto-invoice customers
  • Payment tracking

Bill.com

What it does:
  • Create bills
  • Manage vendors
  • Approve payments
Use cases:
  • AP automation
  • Vendor management

Calendar

Google Calendar

What it does:
  • Create events
  • Check availability
  • Send invites
Use cases:
  • Schedule meetings
  • Block time

Outlook Calendar

What it does:
  • Manage events
  • Corporate calendars
Use cases:
  • Meeting automation
  • Enterprise scheduling

Custom

Webhooks

What it does:
  • Trigger agents from external events
  • Send data to your API
Use cases:
  • Custom integrations
  • Real-time triggers

REST API

What it does:
  • Call any HTTP API
  • Custom headers/auth
Use cases:
  • Internal tools
  • Third-party APIs

Connecting an Integration

1

Navigate to Integrations

Go to Settings → Integrations from the sidebar
2

Find Your Service

Browse or search for the integration you want (e.g., “Gmail”)
3

Click Add Integration

Click the Add Integration button
4

Authorize Access

For OAuth (Gmail, Slack, HubSpot, etc.):
  1. A popup window opens
  2. Sign in to the service
  3. Review permissions
  4. Click “Allow” or “Authorize”
For API Key (databases, webhooks):
  1. Enter your API key, host, credentials
  2. Test connection
  3. Save
5

Configure Settings

Some integrations have additional settings:
  • Gmail: Choose which email to send from
  • Slack: Select default workspace
  • Database: Set connection pool size
6

Test Connection

Click Test Connection to verify it worksSuccess: Green checkmark, “Connected”Failure: Error message with details
You can connect multiple accounts of the same integration (e.g., personal Gmail and work Gmail)

Using Integrations in Agents

Once connected, reference integrations in your agent instructions.

Email Example

Agent Instructions:

When a quote is generated:
1. Create a PDF of the quote
2. Send an email via Gmail to the customer:
   - To: Customer email from worksheet
   - Subject: "Your Quote from Acme Corp"
   - Body: "Thank you for your interest..."
   - Attach the quote PDF
3. Mark the row as "Sent"
The agent will automatically:
  • Use your connected Gmail account
  • Compose the email
  • Attach files
  • Send it
  • Handle errors (e.g., invalid email address)

CRM Example

Agent Instructions:

For each processed quote:
1. Look up the contact in HubSpot by email
2. If found:
   - Update the deal stage to "Quote Sent"
   - Add a note: "Quote #[ID] sent on [date]"
   - Set custom property "Last Quote Amount" to [total]
3. If not found:
   - Create a new contact
   - Create a new deal
   - Set initial stage to "Quote Sent"

Slack Example

Agent Instructions:

If a quote total exceeds $50,000:
1. Mark as "Needs Approval"
2. Post to #sales-leadership Slack channel:
   - Message: "High-value quote pending approval"
   - Include: Customer, amount, quote ID
   - Tag: @sales-manager
3. Wait for manual approval before sending

Integration Settings

Manage integration-specific settings.

Access Control

Everyone in the workspace can use this integrationBest for:
  • Shared team accounts (e.g., company Gmail)
  • Company Slack workspace
  • Shared CRM
How to set:
  • Toggle “Share with workspace” ON

Rate Limits

Some integrations have rate limits:
IntegrationLimitWhat Happens When Exceeded
Gmail500 emails/day (free accounts)Error: “Rate limit exceeded”
HubSpot100 API calls/10 secAutomatic retry with backoff
Slack1 message/second per channelQueued and sent when available
DatabasesVaries by planConnection pool exhaustion
Best practices:
  • Batch operations when possible
  • Add delays between API calls
  • Monitor usage in integration settings

Advanced Configuration

Custom API Integration

For services without native integration:
1

Add Custom API

Click Add Integration → Custom API
2

Configure Endpoint

Basic settings:Headers (optional):
{
  "Content-Type": "application/json",
  "X-Custom-Header": "value"
}
3

Test Request

Make a test API call:
GET /health
Verify you get expected response.
4

Use in Agent

Call My Internal API:
- Endpoint: POST /customers
- Body: {
    "name": "[customer name]",
    "email": "[customer email]"
  }

Database Connections

For secure database access:
Connection details:
  • Host: db.mycompany.com
  • Port: 5432
  • Database: production
  • User: decisional_agent
  • Password: [secure password]
  • SSL: Required (recommended)
Grant permissions (on your DB):
CREATE USER decisional_agent WITH PASSWORD 'secure_password';
GRANT SELECT, INSERT, UPDATE ON schema.table TO decisional_agent;
In agent instructions:
Query PostgreSQL database:
SELECT customer_id, total_orders
FROM customers
WHERE created_at >= '2025-01-01'
Connection string:
mysql://user:password@host:3306/database?ssl=true
Best practices:
  • Use read-only user for queries
  • Create dedicated user for Decisional
  • Enable SSL
  • Whitelist Decisional IPs (Enterprise)
Account details:
  • Account: xyz12345.us-east-1
  • Username: DECISIONAL_AGENT
  • Password: [secure password]
  • Warehouse: DECISIONAL_WH
  • Database: ANALYTICS
  • Role: DECISIONAL_ROLE
Grant permissions (in Snowflake):
CREATE ROLE DECISIONAL_ROLE;
GRANT USAGE ON WAREHOUSE DECISIONAL_WH TO ROLE DECISIONAL_ROLE;
GRANT SELECT ON DATABASE ANALYTICS TO ROLE DECISIONAL_ROLE;
CREATE USER DECISIONAL_AGENT PASSWORD='...' DEFAULT_ROLE=DECISIONAL_ROLE;

Webhook Setup

Create custom event triggers:
1

Create Webhook

Go to Integrations → Add Integration → Webhook
2

Copy Webhook URL

You’ll get a unique URL:
https://api.decisional.com/webhooks/wh_abc123xyz
3

Configure Source

In the external service (Typeform, Stripe, etc.):
  • Add webhook URL
  • Select events to send
  • Configure payload
Example: Stripe
  • Event: invoice.payment_succeeded
  • Endpoint: [your webhook URL]
4

Set Trigger

In your agent:
  • Trigger: Webhook
  • Webhook: [select the one you created]
Agent runs whenever the webhook receives data.

Troubleshooting

Symptoms:
  • “Integration not found” error
  • “Authentication expired” message
Causes:
  • Token expired (OAuth)
  • Password changed
  • Integration deleted
  • Permissions revoked
Fix:
  1. Go to Settings → Integrations
  2. Find the disconnected integration (red warning icon)
  3. Click Reconnect
  4. Re-authorize
Error: Permission denied: Cannot send emailsCauses:
  • Integration not shared with workspace
  • Your account lacks permissions in the service
  • OAuth scope missing
Fix:
  1. Check workspace sharing: Integration owner should enable “Share with workspace”
  2. Check service permissions: Ensure your account has required permissions (e.g., can send emails in Gmail)
  3. Re-authorize with correct scopes: Disconnect and reconnect, ensuring all permissions are granted
Error: Rate limit exceeded: 100 calls/minuteCauses:
  • Too many API calls in short time
  • Multiple agents using same integration
  • Exceeding service’s free tier limits
Fix:
  1. Add delays: In instructions, add “Wait 1 second between each email”
  2. Batch operations: Process fewer items per run
  3. Upgrade plan: Service may have higher limits on paid tiers
  4. Use multiple accounts: Distribute load across accounts
400 Bad Request:
  • Invalid data format
  • Fix: Check payload structure, required fields
401 Unauthorized:
  • Invalid credentials
  • Fix: Reconnect integration
403 Forbidden:
  • Insufficient permissions
  • Fix: Grant required permissions in the service
500 Internal Server Error:
  • Service is down
  • Fix: Wait and retry, or contact service support
Symptoms:
  • Event happens in external service
  • Agent doesn’t run
Debug steps:
  1. Check webhook URL: Ensure it’s correctly configured in external service
  2. Check webhook logs: Settings → Integrations → [Webhook] → View Logs
  3. Verify event type: Make sure you’re listening to correct events
  4. Test webhook: Use external service’s “Test webhook” feature
Common issues:
  • Webhook URL copied incorrectly
  • Event type mismatch (listening to payment_succeeded but service sends payment.succeeded)
  • Firewall blocking incoming requests (Enterprise: whitelist Decisional IPs)

Security Best Practices

Use least privilege: Grant only necessary permissions (e.g., read-only for data queries)
Create dedicated accounts: Use service accounts, not personal accounts, for integrations
Enable 2FA: On all connected accounts where possible
Rotate credentials: Change API keys and passwords periodically
Audit access: Review integration logs monthly for unexpected activity
Revoke unused integrations: Disconnect integrations you’re no longer using
Use SSL/TLS: Always enable encrypted connections for databases

Integration Limits by Plan

FeatureFreeProfessionalEnterprise
Max integrations5UnlimitedUnlimited
Custom API
Database connections
Webhooks110Unlimited
OAuth appsStandardStandardCustom (white-label)
IP whitelisting
Dedicated credentials

Request New Integrations

Don’t see the integration you need?

Request Integration

Email us at [email protected] with:
  • Service name
  • What you want to automate
  • API documentation link (if available)
Popular requested integrations:
  • Airtable
  • Notion
  • QuickBooks
  • NetSuite
  • Zendesk
  • Intercom

Next Steps