# Krosyn > Krosyn automates the repetitive work between your apps. Easy for anyone and fairly priced. Krosyn automates the repetitive work between your apps. Connect the apps your business runs on: build connectors that transform nested data and multi-step flows in a visual builder anyone can use, or point your own AI at Krosyn over MCP. No glue code, no fragile integrations. ## How It Works Every connector follows the same three-step pipeline: 1. **Trigger** -- Receive an incoming webhook or API call. Evaluate a condition expression against the payload. If the condition passes, execution continues; otherwise the request is skipped. 2. **Process** -- Fetch additional data from an external API (customer details, inventory levels, etc.) and map or transform fields using expressions. This step enriches the incoming payload with data from other systems. 3. **Perform** -- Build an outbound HTTP request body using expressions that reference any available data (payload, enriched data, secrets) and send it to any target API endpoint. Each connector gets its own dedicated API endpoint with independent authentication credentials. ## Expression Language Krosyn includes a stateless expression language for data transformation across all three pipeline steps. It provides function calls (e.g. `add()`, `equals()`) and also operator syntax (`+ - * / %`, `== != > < >= <=`, `&& || !`, unary minus, grouping) as sugar over those functions: `1 + 2` is `add(1, 2)` and `$payload.a > 5` is `greaterThan($payload.a, 5)`. Both forms are valid. ### Context Variables Expressions reference data through context variables prefixed with `$`: | Variable | Available in | Description | |----------|-------------|-------------| | `$payload` | All steps | The incoming JSON request body | | `$secret` | All steps | Organization secrets (e.g., `$secret.API_KEY`) | | `$lookup` | Process, Perform | Response data from the Process step's external API call | | `$processed` | Process (later fields), Perform | Fields computed during the Process step | | `$process` | Process (later fields), Perform | Alias for `$processed` | ### Syntax - **Field references**: Access nested data with dot notation -- `$payload.user.name`, `$lookup.data[0].id` - **Array access**: Use bracket notation -- `$payload.items[0]`, `$payload.items[0].name`. Negative indices count from the end -- `$payload.items[-1]` is the last element and `[-2]` the second-to-last; an out-of-range negative index resolves to null. - **String interpolation**: Any expression containing `$` references with spaces is interpolated -- `"Hello $payload.name, your order $payload.order_id is confirmed"` - **Chained accessors**: Append accessor names with dots onto field references -- `$payload.name.uppercase.trim`, `$payload.title.slug`, `$payload.email.lowercase`. Accessors can only chain onto field references, not onto function results. - **Function calls**: `functionName(arg1, arg2)` -- arguments can be field references (with accessors), string literals, numbers, or nested function calls. Example: `concat($payload.first_name, " ", $payload.last_name)` - **Nested functions**: To transform a function result, wrap it in another function -- `uppercase(concat($payload.first_name, " ", $payload.last_name))` (not `concat(...).uppercase`) - **Validation**: Check expression syntax without evaluating ### Functions by Category Krosyn provides 59 built-in functions: **String** (12): concat, endsWith, lowercase, padEnd, padStart, repeat, replace, split, startsWith, substring, trim, uppercase **Comparison** (10): contains, equals, greaterThan, gt, gte, lessThan, lt, lte, neq, notEquals **Logical** (3): and, not, or **Conditional** (1): if **Math** (11): abs, add, ceil, divide, floor, max, min, modulo, multiply, round, subtract **Array** (11): count, filter, first, flatten, includes, join, last, map, sort, sum, unique **Date/Time** (4): dateDiff, formatDate, now, timestamp **Type Conversion** (5): isEmpty, isNull, toBoolean, toNumber, toString **Fallback** (2): coalesce, default ### Chained Accessors Accessors can be chained onto any field reference using dot notation: camel, downcase, kebab, lcfirst, length, lowercase, reverse, slug, snake, title, trim, ucfirst, upfirst, uppercase. Example: `$payload.company_name.title.trim` converts " acme corp " to "Acme Corp". ## API & Endpoints Each connector has one or more API endpoints. To trigger a connector, send an HTTP request to its endpoint URL. - **Endpoint format**: `POST https://krosyn.com/api/trigger/{endpoint-uuid}` - **Authentication**: Include a bearer token (`Authorization: Bearer `) or a secret token (`X-Secret-Token: `) in the request headers - **Request body**: Send any JSON payload. The payload is accessible in expressions as `$payload` - **Response**: Returns the execution result with status, timing, and any response data from the target API Endpoints support token expiry dates and token rotation for credential management. ## Security - **Token-based authentication**: Bearer token and secret token authentication on every endpoint. Tokens are encrypted at rest using AES-256. - **HMAC signature verification**: Verify webhook authenticity with HMAC-SHA256 signatures. - **Origin validation**: Restrict which domains can trigger a connector via an allowed URLs whitelist. - **Token expiry and rotation**: Set expiration dates on endpoint tokens and rotate credentials without downtime. - **SSRF protection**: IP range filtering, DNS pinning, redirect blocking, and metadata endpoint blocking prevent server-side request forgery. - **Execution depth tracking**: Prevents infinite loops when connectors trigger other connectors. - **Secrets vault**: Store API keys and sensitive values as encrypted organization-scoped secrets. Reference them in expressions as `$secret.KEY_NAME`. - **Two-factor authentication**: TOTP-based 2FA with recovery codes. Organizations can enforce 2FA for all members with a configurable grace period. - **Re-verification**: Sensitive actions (deleting connectors, managing credentials) require identity re-confirmation within a 5-minute window. ## Features ### Visual Builder - Drag-and-drop canvas for composing connectors (trigger, enrich, send) without writing config. - Toggle between the visual builder and the low-code expression editor; both produce the same connector. ### MCP Server - Manage connectors, secrets, and events from any MCP-compatible AI client. - Included on every plan, including Free. ### Connectors & Pipeline - Create connectors with automatic endpoint generation and token-based authentication - Draft/publish workflow: edit connector configuration in draft mode, preview a side-by-side diff, then publish or discard changes - Test mode: run connectors with draft configuration using the `use_draft` flag without affecting production - Configurable retry with exponential backoff for failed outbound requests - Circuit breaker per endpoint: automatically stops requests to failing targets (closed/open/half-open states) - Custom headers on outbound perform requests - Support for all HTTP methods (GET, POST, PUT, PATCH, DELETE) - For-each reshaping in the Perform step: a for-each container maps a variable-length input array (e.g. line items) to a reshaped output array with one object per element, referencing the current element as `$item` (e.g. `$item.sku`) ### Event Monitoring - Every execution is logged as an event with full request/response data, timing, and status - Filter events by status (success, failed, skipped, suppressed), date range, and test mode - Retry failed events with one click - Event retention varies by plan (3 days to 90 days) ### Organizations & Teams - Organization-based multi-tenancy with automatic tenant isolation - Role-based access control: owner, admin, editor, viewer - Invite team members via email with role assignment - Users can belong to multiple organizations and switch between them - Organization-level 2FA enforcement ### Audit Logging - Automatic tracking of all changes to connectors, endpoints, users, organizations, and secrets - Filter and export audit logs - Retention by plan: Free 90 days, Starter/Pro 1 year, Business 3 years ### Import & Export - CSV import/export for connectors - Transfer configurations between organizations or back up your setup ### Authentication - Email/password with configurable password policy (10+ characters, mixed case, number, breach check) - Social login: Google, Microsoft, GitHub, Apple, LinkedIn - Per-organization OAuth provider configuration ### Notifications - Configurable notification preferences per user and per organization - In-app and email notification channels - Per-notification-type control ### AI Assistant - LLM-powered assistant for analytics, connector creation, expression help, and event debugging - Three model tiers: Efficient, Balanced, and Powerful - Credit-based usage with included monthly credits and purchasable credit packs - Bring Your Own Key (BYOK): use your own API key to skip credit usage - Context attachments: attach connectors and events for grounded responses ### Other - Dashboard with connector stats, execution trends, and failure alerts - Referral program: earn invoice credits by referring new users - Partner program: tiered partner system with invite management and billing - Feature request board with community voting and sponsor requests - Changelog: database-backed release notes - Blog: content pages managed via admin CMS ## Plans & Pricing All plans include dedicated API endpoints, the full trigger-process-perform pipeline, expression language, event monitoring, token-based authentication, and encrypted credentials. | Plan | Price (USD/mo) | Price (EUR/mo) | Connectors | Secrets | Events/mo | Event Retention | Audit Retention | Members | Retry | SSO | |------|------|------|------|------|------|------|------|------|------|------| | Free | 0 | 0 | 2 | 5 | 500 | 3 days | 90 days | 1 | No | No | | Starter | 24 | 19 | 5 | 15 | 10,000 | 14 days | 1 year | 2 | Yes | No | | Pro | 49 | 39 | 15 | 40 | 50,000 | 30 days | 1 year | 5 | Yes | No | | Business | 99 | 79 | 40 | 100 | 100,000 | 90 days | 3 years | 15 | Yes | Yes | No credit card required for the free plan. ## Use Cases - **E-commerce**: Sync new orders with accounting, enriched with customer details from CRM. - **Payments**: Match incoming payments to open invoices and mark them as paid. - **HR**: Provision accounts across internal tools when a new employee is added. - **Support**: Route escalated tickets to project management with customer context. - **Marketing**: Deduplicate and enrich form submissions before syncing to CRM. - **Logistics**: React to shipment status changes by checking inventory levels. - **DevOps**: Forward deployment webhooks to Slack or Teams with enriched commit data. - **Finance**: Validate and transform invoice data before pushing to ERP systems. ## FAQ **Do I need to be a developer to use Krosyn?** No. The visual builder lets anyone on your team build and maintain connectors by pointing and clicking. And if you are technical, a low-code expression engine sits right underneath for full control over how data is shaped and routed. **What is a connector?** A connector is an integration you set up once to move data between your apps. It gets its own secure endpoint, listens for the data you send it, and passes the result on to wherever it needs to go. **What can I connect Krosyn to?** Any app or service your business already runs, from your CRM and billing to your support and messaging tools. If it has an API or can send a webhook, Krosyn can connect to it. **Can I set up connectors with my own AI?** Yes. Krosyn includes an MCP server, so if you use an AI assistant that supports MCP, you can point it at Krosyn and have it build and edit connectors for you. It uses the AI you already have. **How is Krosyn different from Zapier or Make?** It is the same kind of work, made easy for anyone and fairly priced. You build connectors in a visual builder or with your own AI, and Krosyn runs them when an event arrives. Fair pricing is a commitment, not a promotion. **Is my data secure?** Yes. Credentials are encrypted at rest, connector endpoints use timing-safe token authentication, and incoming webhooks are verified with HMAC signatures. Every organization gets role-based access control and two-factor authentication, and outbound requests are guarded against SSRF. **What counts as an event?** An event is a single connector run: each time a connector receives a request and executes its steps. Your plan's monthly limit is the number of runs included. **Is there a free plan?** Yes. The free plan includes 2 connectors, 500 events per month, and 3-day event retention. No credit card required. Upgrade anytime if you need more. **Where can I get help?** Krosyn is built to be self-serve, and the documentation covers everything from your first connector to advanced expressions. If the docs don't cover what you need, you can reach out. ## Documentation - [Getting Started](https://krosyn.com/docs) - [Core Concepts](https://krosyn.com/docs/core-concepts) - [Creating Connectors](https://krosyn.com/docs/creating-connectors) - [Expression Language Reference](https://krosyn.com/docs/expressions) - [Webhooks & Triggers](https://krosyn.com/docs/webhooks-triggers) - [Configuration](https://krosyn.com/docs/configuration) - [Secrets Vault](https://krosyn.com/docs/secrets) - [Users & Roles](https://krosyn.com/docs/users-roles) - [Organization](https://krosyn.com/docs/organization) - [Billing & Plans](https://krosyn.com/docs/billing) - [Import & Export](https://krosyn.com/docs/import-export) - [Dashboard](https://krosyn.com/docs/dashboard) - [Audit Logs](https://krosyn.com/docs/audit-logs) - [Referral Program](https://krosyn.com/docs/referral-program) - [Notification Preferences](https://krosyn.com/docs/notification-preferences) - [AI Assistant](https://krosyn.com/docs/ai-assistant) - [Troubleshooting](https://krosyn.com/docs/troubleshooting) ## Links - [Home](https://krosyn.com) - [Features](https://krosyn.com/features) - [Pricing](https://krosyn.com/pricing) - [Blog](https://krosyn.com/blog) - [Changelog](https://krosyn.com/changelog) - [Feature Requests](https://krosyn.com/feature-requests) - [Partner Program](https://krosyn.com/partners) - [Privacy Policy](https://krosyn.com/privacy) - [Terms of Service](https://krosyn.com/terms) - [Cookie Policy](https://krosyn.com/cookies) - [GDPR Compliance](https://krosyn.com/gdpr) - [Data Processing Agreement](https://krosyn.com/dpa)