Skip to main content
Krosyn is launching soon. Join the waitlist for early access.Join waitlist

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_id

Lookup 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_TOKEN

Lookup 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.email

Field 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 body
  • PATCH - Sends a JSON body
  • DELETE - 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_KEY
X-Request-Id = $payload.request_id

Request 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
SettingDefaultDescription
Max attempts3Total attempts including the initial request
Base delay500msDelay before the first retry
Multiplier2xEach 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).