Connectors Overview
13 enterprise connectors with 183+ operations for integrating external services
Enterprise Connectors
Welcome! DeepChain comes packed with 13 pre-built enterprise connectors and 183+ operations so you can plug your workflows into the tools you already use. Whether you're syncing customer data from Salesforce, triggering AWS Lambda functions, or sending Slack notifications, we've got you covered.
Think of connectors as ready-to-use building blocks—just drop them into your workflow, connect your credentials, and you're ready to go.
Available Connectors
CRM & Sales
| Connector | Operations | Description |
|---|---|---|
| Salesforce | 9 | Leads, contacts, opportunities, accounts |
| HubSpot | 9 | Contacts, companies, deals, marketing |
| Dynamics 365 | 9 | Customers, leads, orders, custom entities |
Productivity & Collaboration
| Connector | Operations | Description |
|---|---|---|
| Slack | 8 | Messages, channels, files, workflows |
| Jira | 12 | Issues, projects, sprints, epics |
| Trello | 17 | Boards, cards, lists, checklists |
| ServiceNow | 8 | Incidents, changes, tickets, CMDB |
E-Commerce & Finance
| Connector | Operations | Description |
|---|---|---|
| Shopify | 17 | Orders, products, customers, inventory |
| DocuSign | 15 | Documents, signatures, templates |
| SAP S/4HANA | 8 | Purchase orders, invoices, inventory |
Cloud Platforms
| Connector | Operations | Description |
|---|---|---|
| AWS | 17 | S3, Lambda, EC2, RDS, SQS, SNS |
| Azure | 17 | VMs, Storage, Functions, SQL, Service Bus |
| Google Cloud | 18 | Compute, Storage, Functions, BigQuery |
Getting Started (3 Simple Steps)
Step 1: Set Up Your Credentials
Head to Settings > Credentials and click Add Credential. Pick your connector type and add your auth details—we support three flavors:
- OAuth 2.0: Click "Connect" and we'll handle the authorization flow securely
- API Key: Paste in your API key (we store it safely encrypted)
- Basic Auth: Username and password (for services that use it)
Note: Always use credential references in your workflows, never hardcode secrets. We'll cover this in the best practices section below.
Step 2: Add a Connector Node to Your Workflow
Drag a connector onto your canvas and point it to your credential. Here's a quick example:
Node Type: salesforce_create_lead
Configuration:
credential_id: cred_salesforce_prod
firstName: "{{ input.firstName }}"
lastName: "{{ input.lastName }}"
email: "{{ input.email }}"
company: "{{ input.company }}"
Step 3: Use the Results in Your Next Node
Once the connector runs, its output is available to every node that follows:
# Access the response from your previous connector
{{ salesforce_1.response.id }}
{{ salesforce_1.response.success }}
Simple, right? Now let's talk about choosing the right connector for your use case.
Choosing the Right Connector
Not sure which connector to use? Here's a quick decision guide:
- Need to manage CRM data? → Salesforce, HubSpot, or Dynamics 365
- Building cloud workflows? → AWS, Azure, or Google Cloud
- Managing projects or tickets? → Jira, Trello, or ServiceNow
- Running an online store? → Shopify
- Handling signatures? → DocuSign
- Enterprise resource planning? → SAP
- Team communication? → Slack
Once you've picked your connector, dive into its page to see all available operations and examples.
Authentication Methods
We support three main authentication patterns, so you can use whatever your service prefers:
OAuth 2.0 (Recommended for Most)
Most of our connectors use OAuth 2.0 with PKCE—it's the most secure and user-friendly approach. You'll authorize via a browser window, and we handle the token management automatically.
How to set it up:
- Create an OAuth app in your service provider's dashboard
- Grab your Client ID and Client Secret
- Register the redirect URI:
https://yourapp.deepchain.dev/oauth/callback - Click "Connect" in your DeepChain credentials, and you're done!
Connectors using OAuth 2.0: Salesforce, HubSpot, Dynamics 365, Google Cloud, Slack, DocuSign, Shopify, Trello
API Key (Simple & Direct)
Some services prefer API keys. Just grab your key, paste it in, and you're ready. Use this when OAuth isn't available.
Connectors using API Keys: AWS, ServiceNow, Jira, SAP S/4HANA
Service Account (Server-to-Server)
For integrations that run in the background without a user present. You'll typically provide a JSON file or credentials JSON blob.
Connectors using Service Accounts: Google Cloud (Service Account JSON), Azure (Service Principal), AWS (IAM Role)
Connector Operations at a Glance
Every connector supports a mix of standard operations. Here's what you'll typically see:
| Operation Type | What It Does | Example |
|---|---|---|
| Create | Add a new record | Create a Salesforce Lead |
| Read | Get a single record | Fetch a Shopify Order |
| Update | Modify an existing record | Update a Jira Issue |
| Delete | Remove a record | Delete a HubSpot Contact |
| List | Fetch multiple records (often paginated) | List all Trello Cards |
| Search | Find records with filters | Search Salesforce Accounts |
| Execute | Run a special action | Invoke an AWS Lambda function |
Common Workflow Patterns
You'll end up using a few patterns repeatedly. Here are the most useful ones:
Pattern 1: Create a record and use its new ID
# First, create the lead
salesforce_create_lead:
firstName: "{{ input.firstName }}"
lastName: "{{ input.lastName }}"
# Then use the ID it returns
next_node:
leadId: "{{ salesforce_1.response.id }}"
Pattern 2: List records and process each one
# Fetch all unfulfilled orders
shopify_list_orders:
status: "unfulfilled"
# Loop through the results
loop:
mode: array
items: "{{ shopify_1.response.orders }}"
# Do something with each order
process_order:
orderId: "{{ loop_1.current.id }}"
Pattern 3: Update multiple records at once
# Update a batch of contacts
hubspot_batch_update:
contacts:
- id: "123"
properties: { status: "active" }
- id: "456"
properties: { status: "active" }
Handling Errors Like a Pro
Things don't always go perfectly, and that's okay. Here's how we handle the rough spots:
Automatic Retries
You can configure retries at the node level. If a connector call fails, we'll retry it automatically with exponential backoff:
Node Configuration:
retry:
enabled: true
maxAttempts: 3
backoff: exponential
initialDelay: 1000 # milliseconds
Accessing Error Information
Every connector provides a success path AND an error path. Use the error output to catch problems:
# On success, you get the response
{{ connector_1.response }}
# On error, you get error details
{{ connector_1.error.code }} # e.g., "UNAUTHORIZED"
{{ connector_1.error.message }} # Human-readable message
{{ connector_1.error.statusCode }} # HTTP status if applicable
Rate Limiting (We Handle It)
No need to worry about hitting rate limits. We automatically:
- Retry requests with intelligent backoff
- Queue up requests when you're near the limit
- Respect each service's rate limits
Tip: Check the individual connector page for service-specific rate limit details.
Common Rate Limit Errors & Fixes:
| Error | Meaning | What to Do |
|---|---|---|
429 Too Many Requests |
You're calling the API too fast | Increase delays between calls or batch operations |
400 Bad Request |
Invalid data sent | Check your input data and field names |
401 Unauthorized |
Bad credentials | Re-authenticate in Credentials settings |
403 Forbidden |
You don't have permission | Check your account's access level |
404 Not Found |
Record doesn't exist | Verify the record ID is correct |
Building Custom Connectors
Don't see the service you need? No problem! You can build your own connector using our SDK. We support generating from OpenAPI specs or hand-rolling custom implementations.
Generate from an OpenAPI spec:
deepchain generate-connector \
--spec your_api.yaml \
--output lib/connectors/your_service/
For full custom implementations, check out the SDK Documentation.
Best Practices for Rock-Solid Connectors
1. Always Use Credential References (Never Hardcode Secrets!)
This is the golden rule. Always reference credentials by ID, never paste them directly in your workflow:
# Perfect
credential_id: cred_salesforce_prod
# Dangerous—don't do this!
api_key: "sk-12345..."
We encrypt credentials and rotate them automatically, but only if you let us manage them!
2. Handle Pagination for Large Datasets
When fetching lots of records, use the pagination helper. It prevents memory issues and handles rate limits gracefully:
Node: api_pagination_rate_limit
Configuration:
connector: shopify
operation: list_products
pageSize: 100
# Outputs each page via 'page' port
# Outputs all when done via 'done' port
3. Monitor Your Usage
Keep an eye on your API call metrics in the Analytics dashboard. Look for:
- Calls per connector (spotting unusual spikes)
- Error rates (catching auth issues early)
- Response times (diagnosing slowdowns)
- Rate limit hits (adjusting your workflow pace)
4. Use Sandbox Credentials While Developing
Test with test/sandbox credentials before going live. Switch by just changing the credential reference:
# Development (test environment)
credential_id: cred_salesforce_sandbox
# Production (real data)
credential_id: cred_salesforce_prod
Debugging & Troubleshooting
When things go wrong, turn on debug mode to see exactly what's being sent and received:
Node Configuration:
debug: true
logRequest: true
logResponse: true
Then check your execution logs for the full request/response details. This usually reveals the issue immediately.
Quick Troubleshooting Table
| Problem | Most Likely Cause | Fix |
|---|---|---|
Invalid token or invalid_auth |
Credentials expired or revoked | Click "Re-authenticate" in Credentials |
Insufficient scope |
OAuth app doesn't have the right permissions | Update your OAuth app scopes and reconnect |
400 Bad Request |
Data format doesn't match what the service expects | Check required fields and data types |
401 Unauthorized |
Bad credentials | Verify your API key or re-authenticate |
403 Forbidden |
Your account doesn't have permission for that operation | Check your account's access level or role |
404 Not Found |
Record doesn't exist or you used the wrong ID | Double-check the record ID |
429 Too Many Requests |
You're hitting rate limits | Slow down, add delays, or batch operations |
500 Server Error |
Service is having issues | Retry in a few seconds; if it persists, check the service status page |
Next Steps
Ready to dive deeper? Here are some great next stops:
- AWS Connector — Integrate with S3, Lambda, EC2, and more
- Salesforce Connector — Manage leads, contacts, and opportunities
- HubSpot Connector — Sync contacts and deals
- Slack Connector — Send notifications and manage channels
- Authentication Guide — Deep dive into OAuth setup
- API Reference — Full REST API docs
- SDK Documentation — Build custom connectors