Skip to content

Integrations

Tomas Pflanzer edited this page Feb 27, 2026 · 1 revision

Integrations

Sandcastle ships with 56 built-in connectors across 9 categories. Each connector is a self-contained .mjs file with retry logic, error handling, and shared utilities via connector-utils.mjs.

Categories

General (10 tools)

Tool Description
browser Headless browser automation (Puppeteer) - click, type, screenshot, extract
code-interpreter Execute Python/JS code in sandbox
filesystem Read, write, list files in sandbox
firecrawl Web scraping and crawling
human-input Pause and request human input
mcp-bridge Bridge to any MCP server
python-runtime Python script execution
shell Shell command execution
tavily Web search API
webhook Send/receive webhooks

Data (9 tools)

Tool Description
airtable Airtable CRUD operations
google-sheets Google Sheets read/write
mongodb MongoDB queries and mutations
notion Notion pages and databases
pinecone Vector database operations
postgresql PostgreSQL queries
redis Redis key-value operations
snowflake Snowflake data warehouse queries
supabase Supabase database and auth

Communication (9 tools)

Tool Description
discord Discord messaging and bot integration
gmail Send and read emails via Gmail API
intercom Customer messaging platform
resend Transactional email via Resend
sendgrid Email delivery via SendGrid
slack Slack messaging, channels, threads
teams Microsoft Teams messaging
twilio SMS and voice calls
whatsapp WhatsApp Business messaging

AI (8 tools)

Tool Description
anthropic Direct Claude API access
elevenlabs Text-to-speech generation
figma Figma design file operations
gdrive Google Drive file management
openai Direct OpenAI API access
aws-s3 S3 object storage
vercel Vercel deployment management
zapier Zapier webhook triggers

Project Management (5 tools)

Tool Description
github GitHub repos, issues, PRs, actions
jira Jira issue tracking
linear Linear project management
calendly Scheduling and availability
servicenow IT service management

ERP (5 tools)

Tool Description
sap SAP ERP integration
helios Helios iNuvio ERP (Czech market)
abra ABRA Gen ERP (Czech market)
quickbooks QuickBooks accounting
shopify Shopify e-commerce

DevOps (4 tools)

Tool Description
cloudflare-workers Deploy and manage CF Workers
datadog Monitoring and observability
pagerduty Incident management
docusign Document signing

CRM (3 tools)

Tool Description
hubspot HubSpot CRM operations
salesforce Salesforce CRM queries and mutations
zendesk Zendesk support tickets

Payments (2 tools)

Tool Description
stripe Stripe payments, subscriptions, invoices
plaid Banking data via Plaid

Using tools in workflows

Tools are available to AI agents during step execution. The agent decides which tools to use based on the prompt:

steps:
  - id: research
    prompt: |
      Research {input.company} using web search.
      Then find their GitHub repos and check recent activity.
      Save your findings to a Google Sheet.
    tools:
      - tavily
      - github
      - google-sheets

Credential management

Each tool can have credentials configured via the dashboard or CLI:

sandcastle tools configure slack    # Interactive credential setup
sandcastle tools list               # Show all tools and connection status

Credentials are encrypted at rest using Fernet (AES-128-CBC + HMAC-SHA256) when CREDENTIAL_ENCRYPTION_KEY is set.

Adding custom connectors

Create a .mjs file in the connectors/ directory following the pattern:

import { fetchWithRetry, assertOk } from './connector-utils.mjs';

export const metadata = {
  name: 'my-tool',
  description: 'Description of what this tool does',
  category: 'general',
  credentials: ['MY_TOOL_API_KEY'],
};

export async function execute(action, params, credentials) {
  const response = await fetchWithRetry(`https://api.example.com/${action}`, {
    headers: { Authorization: `Bearer ${credentials.MY_TOOL_API_KEY}` },
    body: JSON.stringify(params),
  });
  assertOk(response);
  return response.json();
}

Clone this wiki locally