Documentation
Learn how to use Krosyn to connect your applications.
Troubleshooting
Solutions to common issues and tips for debugging connector problems.
Understanding Event Statuses
Completed
The connector executed successfully through all three steps. The target API returned a response (check the response status code for the target API's own success/error).
Skipped
The trigger condition evaluated to false. The connector did not run the Process or Perform steps. This is expected behavior when the incoming data does not match the trigger criteria.
Failed
An error occurred during execution. Check the error message in the event details for specifics. Common causes are listed below.
Common Errors
"Perform API URL is not configured"
The connector has no Perform API URL set. Go to the connector's edit page and add the target URL in the Perform section.
"Circuit breaker is open for URL: ..."
The target API has failed too many times and the circuit breaker has temporarily blocked requests. Wait for the cooldown period to pass, then fix the target API issue. The circuit breaker will automatically test the endpoint again.
"Unknown function: ..."
An expression contains a function name that does not exist. Check the Expression Language reference for the correct function name. Function names are case-sensitive.
"... requires at least N argument(s), M given"
A function was called with the wrong number of arguments. Check the function documentation for the correct number of parameters.
"Perform request failed after N attempts"
All retry attempts failed. This usually means the target API is down or unreachable. Check the target URL, your network connectivity, and whether the target API is operational.
"Execution depth limit exceeded"
A connector loop was detected. Your connector's Perform step is triggering another connector (or itself) in a loop. Review your connector's Perform URL and make sure it does not point back to Krosyn in a way that creates a circular chain.
Authentication Errors
401: "Bearer token or secret token is required"
Your request does not include any authentication. Add an Authorization: Bearer <token> or X-Secret-Token: <token> header.
401: "Invalid authentication token"
The token you provided does not match the endpoint's configured tokens. Make sure you are using the correct token. Tokens are shown only once when the endpoint is created.
401: "Authentication token has expired"
The endpoint's tokens have expired. Regenerate the tokens from the connector's endpoint settings.
403: "Origin not allowed"
The request's Origin/Referer header does not match the endpoint's allowed URLs whitelist. Either add the sending domain to the whitelist or remove the whitelist to allow all origins.
Debugging Tips
- Check the event details. Every execution is logged with the incoming payload, outbound request (URL, method, headers, body), response (status, body), duration, and error messages. This is the best place to diagnose issues.
- Test expressions individually. Use the expression test feature in the connector form to verify that each expression produces the expected output against your example payload.
- Start with a simple connector. When building a new integration, start with just the Perform step (no trigger or process). Send a static request to your target API to confirm connectivity. Then add the trigger and process steps incrementally.
- Verify your example payload. Make sure the example payload on your connector matches the actual data format being sent. Mismatches between the example and real payloads are a common source of expression errors.
- Check secret names. Secret references are case-sensitive.
$secret.api_keyand$secret.API_KEYare different. Verify the exact name in Settings > Secrets. - Review response codes. A "completed" event with a 4xx or 5xx response code means the connector executed successfully, but the target API returned an error. Check the response body for details from the target API.
Retrying Failed Events
Failed events can be retried directly from the event list. Open a failed event and click Retry to re-execute the connector with the original payload.
- A new event is created with the result of the retry
- Retry is only available on failed events that have a stored payload
Getting Help
If you are unable to resolve an issue using this guide, check the documentation for more detailed guidance. When reporting a bug, include the connector name, event ID (if applicable), and a description of the expected vs. actual behavior.