Skip to content
Proud to collaborate with Microsoft for Startups

wasender.group.sync_participants ​

Reconcile a group's roster to a desired participant set (add/remove/promote/demote)

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-wasender
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Org boundary
cloud_connection_uuiduuidYes—Owning connection
group_jidstringYes—Group to reconcile
desired_memberslistYes—Desired participant phones/JIDs
desired_adminslistNo—Subset that should be admins
prunebooleanNo—Remove members not in desired_members (default False)
actorstringNo—Audit actor

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Org boundary
cloud_connection_uuiduuidYes—Owning connection
group_jidstringYes—Group to reconcile
desired_memberslistYes—Desired participant phones/JIDs
desired_adminslistNo—Subset that should be admins
prunebooleanNo—Remove members not in desired_members (default False)
actorstringNo—Audit actor
current_participantslistNo——
addedlistNo——
removedlistNo——
promotedlistNo——
demotedlistNo——
synced_atstringNo——
failed_atstringNo——
failure_reasonstringNo—Engine-stamped human-readable failure reason
failed_at_statestringNo—Engine-stamped state when the workflow failed
failed_stepstringNo—Engine-stamped step name (DAG path)
failed_layerintegerNo—Engine-stamped layer index (DAG path)
errorstringNo—Engine-stamped exception message
error_typestringNo—Engine-stamped exception class name
failure_typestringNo—Engine-stamped failure category (atomic path)
failed_actionstringNo—Engine-stamped action method that raised (atomic path)

States ​

StateInitialTerminalSuccessAuto-advanceDescription
initiatedYesNo—fetchInputs accepted
applyingNoNo—completeApplying roster mutations
diffingNoNo—applyComputing add/remove/promote/demote sets
fetchingNoNo—diffFetching current participants
completedNoYesYes—Roster reconciled
failedNoYesNo—Sync failed

State Diagram ​

Transitions ​

FromActionToDescription
initiatedfetchfetching—
fetchingdiffdiffing—
diffingapplyapplying—
applyingcompletecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "wasender.group.sync_participants",
  "initial_data": {
    "organization_uuid": "value",
    "cloud_connection_uuid": "value",
    "group_jid": "value",
    "desired_members": "value"
  }
}