Documentation
Learn how to use Krosyn to connect your applications.
Configuration
Detailed guide for configuring the Process and Perform steps, including external API lookups, field mappings, custom headers, retry logic, and more.
Process Step Configuration
The Process step lets you fetch additional data from external APIs and transform fields before the Perform step. All parts of this step are optional.
Lookup API URL
The URL of the external API to call. Expressions can be used in the URL. The response JSON is stored as $lookup.
https://api.example.com/users/$payload.user_idLookup Headers
Optional HTTP headers for the lookup request. Each header is a key-value pair where the value can be an expression. Use this for API authentication.
Authorization = Bearer $secret.CRM_TOKENLookup Query Parameters
Optional query parameters appended to the lookup URL. Each parameter is a key-value pair where the value can be an expression.
email = $payload.customer.emailField Mappings
Define output fields as key-value pairs. Each key is the field name, and the value is an expression. Fields are evaluated in order, so later fields can reference earlier ones via $processed.field_name.
full_name = concat($payload.first, " ", $payload.last)email_domain = last(split("@", $payload.email))display = concat($processed.full_name, " (", $processed.email_domain, ")")Perform Step Configuration
The Perform step sends an HTTP request to a target API with your transformed data.
API URL
The target endpoint URL. Required. Can contain expressions.
HTTP Method
The HTTP method to use. Defaults to POST. The connector form offers four methods:
POST- Sends a JSON body (default)PUT- Sends a JSON bodyPATCH- Sends a JSON bodyDELETE- Sends a JSON body
GET is not available as a perform method. If you need to call an API with GET, use the Process step's lookup URL instead, which always sends a GET request.
Custom Headers
Optional HTTP headers for the outbound request. Each header is a key-value pair where values can be expressions. Use this for API authentication or custom content types.
Authorization = Bearer $secret.TARGET_API_KEYX-Request-Id = $payload.request_idRequest Body Fields
Define the JSON body as key-value pairs. Each key becomes a field in the request body, and each value is an expression. You have access to $payload, $lookup, $processed, and $secret.
Retry Logic
The Perform step includes automatic retry with exponential backoff for failed requests. Retries are triggered by:
- Connection errors (network failures, DNS resolution errors, timeouts)
- Server error responses:
500,502,503,504
| Setting | Default | Description |
|---|---|---|
| Max attempts | 3 | Total attempts including the initial request |
| Base delay | 500ms | Delay before the first retry |
| Multiplier | 2x | Each retry waits 2x longer (500ms, 1000ms, 2000ms, ...) |
Retry is only available on Starter plans and above. Free plan connectors do not retry failed requests.
Circuit Breaker
Krosyn tracks the failure rate for each target API URL. If a URL accumulates too many failures, the circuit breaker opens and temporarily blocks all requests to that URL. This prevents your connectors from hammering a down endpoint and protects against cascading failures.
After a cooldown period, the circuit breaker transitions to a half-open state where a single test request is allowed through. If it succeeds, the circuit closes and normal operation resumes.
When a circuit breaker opens, organization admins receive an email notification with the affected URL.
HTTP Timeout
Outbound HTTP requests have a default timeout of 30 seconds. If the target API does not respond within the timeout period, the request fails with a connection error and may be retried (see Retry Logic above).