Flows  /  Update flow

Update flow

PATCH/v1/flows/{id}

Partially update a flow. You can also change status here (draft, published, or archived), though publishing through the publish endpoint runs the same readiness checks.

Path parameters
id
string · required
The flow id.
Body parameters
name
string
New name.
description
string
New description.
status
string
draft, published, or archived.
trigger_config
object
Replace the trigger.
actions_config
array
Replace the actions. Send every action you want to keep, including its valueSource.
Response fields
id
string
Prefixed identifier, e.g. flow_0Dzj….
site_id
string
The site this flow belongs to.
name
string
Up to 255 characters.
status
string
draft (not delivering), published (live), or archived.
trigger_config
object | null
What fires the flow, e.g. { integrationId, pageFilter }.
trigger_name
string | null
Resolved display name of the trigger, e.g. Gravity Forms.
actions_config
array | null
The destinations that receive the conversion, each with the conversion to record and the value to send.
published_at
timestamp | null
When it was last published. null while in draft.

Add, change or remove a dynamic value

actions_config replaces the whole list of actions, so send each action in full, with its id, and set valueSource on the one you're changing. Converly only checks a value source that is new or different, so saving other edits never fails because of a value source the flow already has.

PATCH/v1/flows/{id}
curl -X PATCH https://app.converly.io/api/v1/flows/flow_0Dzj… \
  -H "Authorization: Bearer sk_live_…" \
  -d '{
    "actions_config": [
      { "id": "action-1787442641531",
        "integrationId": "meta",
        "config": {
          "conversion": {
            "event_name": "Schedule",
            "value": 300,
            "currency": "USD",
            "valueSource": {
              "triggerId": "acuity-appointment-scheduled",
              "sourceId": "acuity.booking_price"
            }
          }
        } }
    ]
  }'

To go back to a fixed amount, send "valueSource": null on that action. The action then sends its value to every conversion. A published flow keeps sending the old value until you publish it again.

PATCH/v1/flows/{id}
curl -X PATCH https://app.converly.io/api/v1/flows/flow_0Dzj… \
  -H "Authorization: Bearer sk_live_…" \
  -d '{ "name": "Demo bookings (v2)" }'
200 OK
{
  "id": "flow_0Dzj…",
  "name": "Demo bookings (v2)",
  "status": "published"
}