workflows

Update workflow

Draft-editing verb (partial update). draft_steps is FULL-REPLACE: send the whole array, CARRY the id of every kept step verbatim, OMIT ids on new steps - the response echoes all ids filled. Config edits (sender pool, schedule, on_reply, rotation_strategy, priority) affect FUTURE decisions only; pinned records keep their sender. status = archive family ONLY (archived / paused / draft); anything involving active → 422 - use pause/resume. Archived rows reject other edits.

Contract:

  • MCP tool update_workflow, registry package mcp.playtables/workflows, mount playtables.workflows.
  • Operation update, response envelope update.
  • Flags: none.
patch/api/workflows/{sid}

Request

  • Base URL
    https://beta.getsales.io/playtables/v1
  • Auth
    HTTP bearer and API key in header Team-SID

Path parameters

sidstring required

Workflow sid (wf_wf_…).

Request body

playtable_sidstring

Move the workflow to another home playtable (draft only; the sources and step references must still resolve at publish).

namestring

New campaign name (1..255), unique per team.

descriptionstring nullable

null resets the description.

on_reply'autopilot' | 'copilot' | 'stop' | 'continue'

Applies to the next replies and to the threads the workflow acts on from now on; a thread already stamped keeps its automation mode until the next report.

agent_sidstring nullable

Pick the AI SDR for the threads this workflow starts (ub_ag_…); null = back to its table's pick. Reaches the open threads it started at their next turn.

sender_profile_sidsstring[]

Full-replace of the pool (existence-checked); already-pinned records keep their sender.

rotation_strategy'fair' | 'random' | 'new_sender' | 'prior_engagement'

Applies to future enrollments only.

priorityinteger

New share of a shared sender profile: 1..3 (low / medium / high), never a rank.

status'archived' | 'paused' | 'draft'

Archive family only: archived (from draft|paused); paused = unarchive (requires a published version); draft = unarchive (if never published). Transitions involving active → 422 invalid_transition (use pause/resume).

Response

update success envelope.

successtrue required
operation'update' required
updated_fieldsstring[] required
previous_valuesobject required
kept_fieldsstring[]

The fields this write did not change because the person's own value stands on them (stamped person); read the item for what landed.

Changes

No recorded changes to this operation across all 1 revision of this API.