Everything you need to get started with Exomations
Create an Account
Register with your organization name, email, and password. You'll become the Owner of your tenant with full administrative access.
Set Up a Connection
Go to Connections and configure your external services (SAP B1, REST APIs, etc.) with encrypted credentials. Exomations encrypts all secrets with enterprise-grade encryption.
Create a Project
Projects group related flows together. Give it a name and optional description to organize your automation workflows.
Build a Flow
Use the visual flow builder to drag and connect from 60+ node types. Choose Simple mode (10 nodes) for basic automations or Orchestration mode (all 60+ nodes) for enterprise workflows.
Configure Notifications
Set up WhatsApp (via Mottasl), Email (SMTP), and SMS channels in Settings. Each channel supports variable interpolation with {{step.field}} syntax.
Generate an API Key
Go to Settings > API Keys and generate a key prefixed with exo_. Save it securely -- it is shown only once and cryptographically hashed for storage.
Trigger Your Flow
Send a POST request to /api/trigger/:flowId with header X-Api-Key: exo_xxx, or use scheduled triggers (cron/interval) for automated polling.
Simple Mode includes 10 core nodes. Orchestration Mode unlocks all 60+ nodes for enterprise workflows.
Entry point of every flow. Activated by webhook, manual trigger, or scheduled interval/cron. Passes incoming payload to subsequent nodes.
Make GET, POST, PUT, PATCH, or DELETE requests to any URL. Configure headers, body, query params, and timeout. Response is available to downstream nodes.
Send transactional emails via configured SMTP. Set recipient, subject, body, and optional attachments with variable interpolation using {{step.field}} syntax.
Send WhatsApp messages and documents via Mottasl API. Supports template messages, media attachments, and interactive approval buttons with fallback numbers.
Send SMS messages via Twilio or alternative providers (Unifonic, custom HTTP). Supports variable interpolation for dynamic message content.
Pause execution for a configured duration (milliseconds to hours). Useful for rate limiting, scheduling follow-ups, or waiting between API calls.
Branch flow execution based on field comparisons. Supports equals, not_equals, contains, greater_than, less_than, and regex operators.
Return a custom HTTP response to the triggering webhook. Set status code, headers, and JSON body with variable interpolation.
Store a value in a named variable for use in later nodes. Supports static values and dynamic templates with {{step.field}} references.
Log a message with interpolated variables for debugging and auditing. Logged output is visible in execution step details.
Map and reshape data between systems with a safe template engine. Build complex JSON structures using variable references. No eval, no code injection.
HTTP request using a pre-configured connection profile with encrypted credentials. Supports SAP B1 session management, auto-pagination, and circuit breakers.
Prevent duplicate execution by tracking unique keys per flow. Automatically skips already-processed records based on configurable key sources.
Generate a temporary proxy URL for SAP B1 invoice PDFs. Handles SAP session authentication and returns a secure, time-limited download link.
Iterate over an array and execute downstream nodes for each item. Supports nested variable access via {{for_each.item.field}} syntax.
Pause flow and wait for human approval before continuing. Sends approval requests via WhatsApp interactive buttons, email, or the in-app approval queue.
Multi-branch routing based on a field value. Define multiple cases with exact match conditions and an optional default branch.
Validate data fields against rules including required, email, phone, numeric, min/max length, and custom regex patterns. Stops flow on validation failure.
Perform arithmetic operations (add, subtract, multiply, divide, round, percentage) on numeric values with configurable precision.
Map and rename fields from a source node output. Select specific fields to include, rename keys, and restructure API response data.
Get, set, or delete values from an in-memory cache. Useful for storing intermediate results, rate limiting counters, or temporary state.
Generate Excel spreadsheet files from flow data. Configure column mappings, sheet names, and formatting. Output is available as a downloadable file URL.
Build your own reusable node with safe operation pipelines. Define custom inputs, outputs, and processing logic to extend the platform with domain-specific functionality.
Live OpenAPI 3.0 spec — every endpoint here is tenant-isolated and role-gated server-side.
Expose your active flows to Claude Desktop, Cursor, and any Model Context Protocol client. Every active flow becomes a callable tool. JSON-RPC 2.0 over HTTPS.
Endpoint
POST /api/mcpAuthentication: X-Api-Key: <key> or Authorization: Bearer <key>. The API key must have the execute permission. Generate one from API Keys.
initializeMCP handshake. Returns protocol version and server capabilities.
tools/listLists every active flow in the tenant as an MCP tool named exo_<slug>_<id8>.
tools/callTriggers a flow by tool name with an optional payload object. Returns executionId immediately.
pingHealth probe. Returns empty result.
notifications/*Accepted and acknowledged (no-op). MCP clients send these during handshake.
| Code | Meaning | Resolution |
|---|---|---|
| -32603 | Internal error | Unexpected server error while handling the JSON-RPC call. Check the detail field and retry. |
| -32601 | Method not found | Use one of: initialize, tools/list, tools/call, ping. |
| -32602 | Invalid params | tools/call requires a 'name' matching a listed tool. |
| -32001 | Unauthorized | Missing/invalid API key, or key lacks 'execute' permission. |
| -32000 | Quota exceeded | Monthly execution limit reached. Upgrade plan or wait until reset. |
{
"mcpServers": {
"exomations": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-tenant.exomations.com/api/mcp", "--header", "X-Api-Key: YOUR_KEY"]
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart Claude. Your flows appear as callable tools. Cursor and any other MCP client work the same way.
10 core node types for straightforward automations. Ideal for webhook-to-notification pipelines, simple API integrations, and basic conditional logic. Available on all plans. Includes Trigger, HTTP Request, Email, WhatsApp, SMS, Delay, Condition, Webhook Response, Set Variable, and Logger.
All 60+ node types for enterprise workflows. Adds data transformation, connection management, idempotency guards, for-each loops, human approvals, Excel export, custom nodes, and more.
All secrets, connection credentials, and API keys are encrypted at rest with military-grade encryption. Each value is independently secured.
Keys are prefixed with exo_, cryptographically hashed before storage, shown only once at creation, and never stored in plaintext.
Super Owner, Owner, Admin, Developer, Viewer. Route-level enforcement on all API endpoints with per-feature access control.
All database queries are scoped to the authenticated tenant. Complete data isolation with no cross-tenant access possible.
Connection HTTP nodes include automatic protection mechanisms that prevent cascading failures when external APIs become unavailable.
Every action is logged with user, action type, resource, IP address, and timestamp. Audit logs are append-only and cannot be modified.
We use cookies to enhance your experience, analyze site traffic, and for security purposes. By continuing to use our platform, you consent to our use of cookies in accordance with our Privacy Policy.