cannectors

Filters

Modules that transform, branch, enrich, or drop records.

Filters run in declared order between the input and the output. Each filter sees one record at a time and can mutate it, drop it, branch on it, or enrich it from an external system.

Picking the right filter

You want to …Reach for
Rename or normalize a fieldmapping
Set a fixed value on every recordset
Get rid of a fieldremove
Drop the record entirelydrop (usually under a condition)
Route records by a boolean expressioncondition
Walk an array field on each recordloop
Look something up from an HTTP APIhttp_call
Look something up from a SOAP APIsoap_call
Look something up from a SQL databasesql_call
Run arbitrary JavaScriptscript

Merge contract of the call filters

http_call, soap_call and sql_call all emit one call per record and fold the response back into that record. They share a single merge contract, so what you learn on one applies to the other two:

mergeStrategyDestination of the responseresultKey
merge (default)Deep-merged into the record — nested objects merged, response values win conflictsignored
replaceOverlaid on the record's top-level keys — fields absent from the response are preservedignored
appendNested whole under resultKeyrequired

append without resultKey fails cannectors validate for the three filters alike: none of them picks a destination for you. Outside append, resultKey has no effect on the merge — but it is still checked: whatever the strategy, it can never reach into _errors, the key that belongs to the runtime's error markers. That check runs when the filter is built, so a reserved resultKey passes cannectors validate and fails on cannectors run.

See Input → Filters → Output for how filter order affects record flow.