ConfigureActionBody

Body for Configure Action. Send only the fields you want to set — unset fields keep their current value.

Properties

inputsobject

Map of field name → value. Each entry's value is one of: - **string** — a literal, a `{{public.ref}}`, or a mix of both. - **boolean** — for radio / toggle fields. - **string[]** — used by two field types: waterfall providers (an ordered list of provider **display names**, when the template field's `type === "stepDownSearch"`) and multi-dropdown / multi-select fields. The handler picks the right storage shape based on the action template's field `type`. - **Array of provider objects** — the waterfall form that carries bring-your-own-key state: `{ name, use_own_key? }`. `use_own_key: true` runs that provider on your organization's own credential for the vendor (connect it in the Floqer UI first) instead of Floqer's key, so the call bills your account rather than Floqer credits. When your org holds several credentials for a vendor, the active one is used; pick a specific one in the Floqer UI. Providers you list as plain strings keep whatever key state they already had — sending the array to reorder never silently clears it. Get Action returns the field in the same mixed shape: providers on your own key come back as `{ name, use_own_key: true }`, the rest as plain names. - **Array of objects** — for `jsonArray` fields (e.g. Salesforce field/value pairs, Google Sheets column mappings). Each item is typically `{ name, value }`, where `value` can carry `{{public.ref}}` tokens. Extra keys per item are preserved verbatim. Reference translation runs on every string property — if you nest `{{public.refs}}` inside `value`, `prompt`, or any other string field on the item, they get translated independently. - **Array of condition groups** — for `path_filter` fields (filter action's `path_conditions`). Each group is `{ conditions: [{variable, operator, values?, combinator?}], combinator? }`. `variable` is a public reference token; `operator` is the comparison operator; `combinator` (AND/OR) joins the previous group at the group level and the previous leaf at the leaf level. See `/docs/action-detail/filter.txt` for the full body shape. **`label` defaulting on `jsonArray` items.** When an item carries a `name` but no `label`, the server stores `label: <name>` automatically — matches the `{ name, label, value }` triple the runtime engine consumes. Caller-supplied `label` values are always preserved, never overwritten. **Schema validation note.** This map's value type is intentionally permissive (`additionalProperties: true`) — Fastify's Ajv strict mode reliably rejects nested `anyOf` array-of-object schemas under `additionalProperties` (it returns a confusing "must be array" error against values that *are* arrays). The five shapes above are enforced at the handler instead, which inspects each value's runtime type and routes it through the right storage branch.

run_ifobject | null

Optional gate deciding whether this action runs for a given row. Pass `null` to clear an existing condition. Omit to leave the existing condition unchanged. `conditions` is an array of AND/OR condition GROUPS — the same shape as the filter action's `path_conditions`. The outer array is groups, joined by each group's `combinator` (AND/OR); each group's `conditions` are leaf conditions, joined by each leaf's `combinator`. The first group's and first leaf's `combinator` is ignored. A single condition is just one group with one leaf. **Supported `operator` values depend on the variable's stored type** — the type is derived from the sheet's chain, so you don't pass it. - **Universal** (any type): `is`, `is not`, `is empty`, `is not empty`. `is empty` / `is not empty` ignore `values`. - **String / email / url / imageUrl**: `contains`, `does not contain`, `starts with`, `does not start with`, `ends with`, `does not end with`. Matching is case-insensitive. - **Number / currency**: `greater than`, `less than`, `greater than or equal to`, `less than or equal to`, `is between` (pass `[min, max]`). - **Date**: `is after`, `is before`, `is between` (pass `[start, end]`). Values are parsed by `moment(...)`. - **Array / structured_array / json**: `contains`, `does not contain`. Pass `values` as an array of strings — number / date matchers coerce as needed.

continue_workflow_if_action_failsboolean

When `true`, downstream actions still run for a row even if this action fails. When `false` (default), the row stops at this action on failure and downstream cells stay queued.

notestring

Optional free-text note to save on the action. Same upsert behaviour as Save Action Note — overwrites any existing note. Whitespace-only values are ignored.

Example

ConfigureActionBody example
{
  "inputs": {
    "linkedin_url": "{{input.linkedin_url}}"
  },
  "run_if": {
    "conditions": [
      {
        "conditions": [
          {
            "variable": "{{input.country}}",
            "operator": "is",
            "values": [
              "US",
              "CA"
            ]
          }
        ]
      }
    ],
    "continue_workflow_if_run_condition_not_met": false
  },
  "continue_workflow_if_action_fails": false
}