Reference
Groups API
28 operations. Generated from the OpenAPI document, so this page always matches the API.
OpenAPI documentErrors and rate limitsSDK and CLI recipes
On this page
groups.allAutomations
Every join and leave automation in the workspace: group automations with their group and last runs, playbooks that start on each start date or each last day (`dayZero`) and Connections programs whose people are a group; or only those that start one playbook, program or community
POST/api/v1/manage/groups/allAutomations
- Read
- Permission groups.allAutomations
const result = await shuffl.groups.allAutomations({});Request fields (1)
- targetId string optional
Response object
- automations object[] required
- config object required
- action null | object optional
- label string required
- path string required
- badgeId string optional
- body string[] optional
- channel "email" | "preferred" | "slack" optional
- channelId string optional
- channelName string optional
- communityId string optional
- note string optional
- personId string optional
- programId string optional
- questionId string optional
- subject string optional
- targetGroupId string optional
- action null | object optional
- createdAt string (date-time) required
- createdBy null | string required
- delayDays number required
- group object required
- id string required
- kind "dynamic" | "list" required
- members number required
- name string required
- groupId string required
- id string required
- kind "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- lastRunAt null | string (date-time) required
- runs number required
- state "active" | "paused" required
- summary string required
- target null | object required
- id string required
- name null | string required
- trigger "entered" | "left" required
- updatedAt string (date-time) required
- when string required
- config object required
- playbookStarts object[] required
- dayZero "last_day" | "start_date" required
- group null | object required
- id string required
- kind "dynamic" | "list" required
- members number required
- name string required
- lastRunAt null | string (date-time) required
- playbook object required
- id string required
- name string required
- status "active" | "archived" | "paused" required
- runs number required
- runs30 number required
- state "active" | "paused" required
- programRosters object[] required
- group object required
- id string required
- kind "dynamic" | "list" required
- members number required
- name string required
- program object required
- id string required
- name string required
- state "active" | "paused" required
- group object required
- runs object[] required
- at string (date-time) required
- automationId string required
- code null | string required
- dueAt null | string (date-time) required
- groupId string required
- groupName null | string required
- id string required
- kind null | "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- name null | string required
- outcome "done" | "failed" | "scheduled" | "skipped" required
- personId string required
- trigger "entered" | "left" required
- why null | string required
- totals object required
- active number required
- done30 number required
- failed30 number required
- groups number required
- paused number required
- scheduled number required
- skipped30 number required
groups.automationChoices
The Pulse questions, badges and Shuffl lists a group automation can ask, give or add people to
POST/api/v1/manage/groups/automationChoices
- Read
- Permission groups.automationChoices
const result = await shuffl.groups.automationChoices();Request fields (none)
This operation takes no input.
Response object
- badges object[] required
- id string required
- name string required
- groups object[] required
- department boolean required
- id string required
- name string required
- questions object[] required
- id string required
- retired boolean required
- text string required
groups.automationInsights
Group automation runs over the last `days` (30, 90 or 180) against the period before: done, skipped and failed, people reached, by week and kind, the top reasons a run did nothing, runs still scheduled and automations on; `groupId` narrows it
POST/api/v1/manage/groups/automationInsights
- Read
- Permission groups.automationInsights
const result = await shuffl.groups.automationInsights({});Request fields (2)
- days 30 | 90 | 180 optional
- groupId string optional
Response object
- automations object required
- on number required
- total number required
- byKind object[] required
- done number required
- failed number required
- kind "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- skipped number required
- current object required
- done number required
- failed number required
- people number required
- skipped number required
- end string (date-time) required
- previous object required
- done number required
- failed number required
- people number required
- skipped number required
- reasons object[] required
- code string required
- n number required
- outcome "done" | "failed" | "scheduled" | "skipped" required
- why string required
- scheduled number required
- start string (date-time) required
- weekly object[] required
- done number required
- failed number required
- people number required
- skipped number required
- week string required
groups.automationRuns
Every group automation run in the workspace, newest first, 50 at a time (`next` is the cursor for the page after), with `counts` by outcome; `outcome` and `groupId` narrow it
POST/api/v1/manage/groups/automationRuns
- Read
- Permission groups.automationRuns
- Paginated with cursor
const result = await shuffl.groups.automationRuns({});Request fields (3)
- cursor string optional
- groupId string optional
- outcome "done" | "failed" | "scheduled" | "skipped" optional
Response object
- counts object required
- done number required
- failed number required
- scheduled number required
- skipped number required
- next null | string required
- runs object[] required
- at string (date-time) required
- automationId string required
- code null | string required
- dueAt null | string (date-time) required
- groupId string required
- groupName string required
- id string required
- kind "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- name null | string required
- outcome "done" | "failed" | "scheduled" | "skipped" required
- personId string required
- trigger "entered" | "left" required
- why null | string required
groups.automations
A group’s automations (what happens when someone joins or leaves) and their last runs
POST/api/v1/manage/groups/automations
- Read
- Permission groups.automations
const result = await shuffl.groups.automations({
"groupId": "<groupId>"
});Request fields (1)
- groupId string required
Response object
- automations object[] required
- config object required
- action null | object optional
- label string required
- path string required
- badgeId string optional
- body string[] optional
- channel "email" | "preferred" | "slack" optional
- channelId string optional
- channelName string optional
- communityId string optional
- note string optional
- personId string optional
- programId string optional
- questionId string optional
- subject string optional
- targetGroupId string optional
- action null | object optional
- createdAt string (date-time) required
- createdBy null | string required
- delayDays number required
- groupId string required
- id string required
- kind "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- lastRunAt null | string (date-time) required
- runs number required
- state "active" | "paused" required
- summary string required
- target null | object required
- id string required
- name null | string required
- trigger "entered" | "left" required
- updatedAt string (date-time) required
- when string required
- config object required
- groupId string required
- runs object[] required
- at string (date-time) required
- automationId string required
- code null | string required
- dueAt null | string (date-time) required
- id string required
- kind "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- name null | string required
- outcome "done" | "failed" | "scheduled" | "skipped" required
- personId string required
- trigger "entered" | "left" required
- why null | string required
groups.directory
List the groups shown on profiles, yours first, with a few faces each
POST/api/v1/manage/groups/directory
- Read
- Permission groups.directory
const result = await shuffl.groups.directory();Request fields (none)
This operation takes no input.
Response object
- groups object[] required
- description string required
- faces object[] required
- id string required
- name string required
- photoUrl null | string required
- title null | string required
- hrTeam boolean required
- id string required
- memberCount number required
- mine boolean required
- name string required
- source "directory" | "scim" | "shuffl" | "slack" required
groups.directoryGroup
Read one group shown on profiles and everyone in it
POST/api/v1/manage/groups/directoryGroup
- Read
- Permission groups.directoryGroup
const result = await shuffl.groups.directoryGroup({
"id": "<id>"
});Request fields (1)
- id string required
Response object
- description string required
- hrTeam boolean required
- id string required
- memberCount number required
- members object[] required
- id string required
- name string required
- photoUrl null | string required
- title null | string required
- mine boolean required
- name string required
- source "directory" | "scim" | "shuffl" | "slack" required
groups.export
A group’s members as a CSV file: name, email, title, department, manager and when they joined
POST/api/v1/manage/groups/export
- Read
- Permission groups.export
const result = await shuffl.groups.export({
"id": "<id>"
});Request fields (1)
- id string required
Response object
- csv string required
- filename string required
- people number required
groups.get
Read one group: its rules, members and recent entries and exits
POST/api/v1/manage/groups/get
- Read
- Permission groups.get
const result = await shuffl.groups.get({
"id": "<id>"
});Request fields (1)
- id string required
Response object
- automations number required
- createdAt string (date-time) required
- createdBy null | string required
- criteria object required
- all object[] required
- Option 1 object optional
- attribute string required
- operator string required
- value string | number | false | true | string[] optional
- Option 2 object optional
- any object[] required
- Option 1 object optional
- all object[] required
- department boolean required
- description string required
- entered7 number required
- events object[] required
- at string (date-time) required
- kind "entered" | "left" required
- name string required
- personId string required
- hrTeam boolean required
- id string required
- kind "dynamic" | "list" required
- left7 number required
- memberCount number required
- members object required
- members object[] required
- detail null | string required
- enteredAt string (date-time) required
- id string required
- name string required
- offset number required
- total number required
- members object[] required
- name string required
- names object required
- onProfile boolean required
- refreshError null | string required
- refreshedAt null | string (date-time) required
- series object[] required
- day string required
- members number required
- source "directory" | "scim" | "shuffl" | "slack" required
- suggestion null | string required
- summary string required
- updatedAt string (date-time) required
groups.glance
One group at a glance: size, joins, departments, tenure and time zones
POST/api/v1/manage/groups/glance
- Read
- Permission groups.glance
const result = await shuffl.groups.glance({
"id": "<id>"
});Request fields (1)
- id string required
Response object
- averageTenureYears null | number required
- dated number required
- departments object[] required
- label string required
- value number required
- enough boolean required
- growth object[] required
- at string required
- value number required
- headcount number required
- hiredThisYear number required
- leftThisYear null | number required
- me null | object required
- joinedAfter number required
- joinedBefore number required
- start string required
- monthly object[] required
- headcount number required
- joined number required
- month string required
- tenure object[] required
- label string required
- value number required
- timezones object[] required
- label string required
- value number required
- topics string[] required
- undated number required
groups.list
List the workspace’s groups with who is in each
POST/api/v1/manage/groups/list
- Read
- Permission groups.list
const result = await shuffl.groups.list();Request fields (none)
This operation takes no input.
Response object
- groups object[] required
- automations number required
- createdAt string (date-time) required
- createdBy null | string required
- criteria object required
- all object[] required
- Option 1 object optional
- attribute string required
- operator string required
- value string | number | false | true | string[] optional
- Option 2 object optional
- any object[] required
- Option 1 object optional
- all object[] required
- department boolean required
- description string required
- hrTeam boolean required
- id string required
- kind "dynamic" | "list" required
- memberCount number required
- name string required
- onProfile boolean required
- refreshError null | string required
- refreshedAt null | string (date-time) required
- source "directory" | "scim" | "shuffl" | "slack" required
- suggestion null | string required
- summary string required
- updatedAt string (date-time) required
- week number[] required
- weekChange number required
- totals object required
- dynamic number required
- groups number required
- people number required
groups.members
One page of a group’s members
POST/api/v1/manage/groups/members
- Read
- Permission groups.members
const result = await shuffl.groups.members({
"id": "<id>"
});Request fields (4)
- id string required
- limit number optional
- offset number optional
- search string optional
Response object
- members object[] required
- detail null | string required
- enteredAt string (date-time) required
- id string required
- name string required
- offset number required
- total number required
groups.message
One message to a group: its words, who it would reach now and how it reads to one member
POST/api/v1/manage/groups/message
- Read
- Permission groups.message
const result = await shuffl.groups.message({
"id": "<id>"
});Request fields (1)
- id string required
Response object
- action null | object required
- label string required
- path string required
- automationId null | string required
- body string[] required
- channel "email" | "preferred" | "slack" required
- createdAt string (date-time) required
- createdBy null | string required
- discardedAt null | string (date-time) required
- groupId string required
- id string required
- preview object required
- action null | object required
- label string required
- path string required
- as null | string required
- body string[] required
- channels "email" | "slack" | "teams"[] required
- from string required
- subject string required
- url null | string required
- action null | object required
- queued number required
- reach object required
- alreadyToday number required
- reachable number required
- recipients number required
- unreachable number required
- recipients number required
- sentAt null | string (date-time) required
- sentBy null | string required
- skipped number required
- status "discarded" | "draft" | "sending" | "sent" required
- subject string required
groups.messages
The drafts and sends of messages to a group, newest first
POST/api/v1/manage/groups/messages
- Read
- Permission groups.messages
const result = await shuffl.groups.messages({
"groupId": "<groupId>"
});Request fields (1)
- groupId string required
Response object
- messages object[] required
- action null | object required
- label string required
- path string required
- automationId null | string required
- body string[] required
- channel "email" | "preferred" | "slack" required
- createdAt string (date-time) required
- createdBy null | string required
- discardedAt null | string (date-time) required
- groupId string required
- id string required
- queued number required
- recipients number required
- sentAt null | string (date-time) required
- sentBy null | string required
- skipped number required
- status "discarded" | "draft" | "sending" | "sent" required
- subject string required
- action null | object required
groups.options
The departments, teams, communities, programs, titles, locations and time zones a rule may name
POST/api/v1/manage/groups/options
- Read
- Permission groups.options
const result = await shuffl.groups.options();Request fields (none)
This operation takes no input.
Response object
- communities object[] required
- id string required
- name string required
- departments object[] required
- id string required
- name string required
- groups object[] required
- id string required
- kind "dynamic" | "list" required
- name string required
- locations string[] required
- programs object[] required
- id string required
- name string required
- timezones string[] required
- titles string[] required
groups.preview
Count and sample who a set of rules would hold today
POST/api/v1/manage/groups/preview
- Read
- Permission groups.preview
const result = await shuffl.groups.preview({
"criteria": {
"all": [
{
"attribute": "<attribute>",
"operator": "<operator>"
}
]
}
});Request fields (1)
- criteria object required
- all object[] required
- Option 1 object optional
- attribute string required
- operator string required
- value string | number | false | true | string[] optional
- Option 2 object optional
- any object[] required
- Option 1 object optional
- all object[] required
Response object
- count number required
- problems string[] required
- sample object[] required
- detail null | string required
- id string required
- name string required
groups.searchPeople
Find people by name to pick for a group
POST/api/v1/manage/groups/searchPeople
- Read
- Permission groups.searchPeople
const result = await shuffl.groups.searchPeople({});Request fields (1)
- search string optional
Response object[]
- detail null | string required
- id string required
- name string required
groups.suggestions
Starter groups not made yet, with how many people each would hold
POST/api/v1/manage/groups/suggestions
- Read
- Permission groups.suggestions
const result = await shuffl.groups.suggestions();Request fields (none)
This operation takes no input.
Response object[]
- count number required
- criteria object required
- all object[] required
- Option 1 object optional
- attribute string required
- operator string required
- value string | number | false | true | string[] optional
- Option 2 object optional
- any object[] required
- Option 1 object optional
- all object[] required
- description string required
- name string required
- suggestion string required
groups.discardMessage
Drop a drafted message to a group
POST/api/v1/manage/groups/discardMessage
- Write
- Permission groups.discardMessage
- Needs a requestKey
- Needs confirm set to groups.discardMessage
const result = await shuffl.groups.discardMessage({
"id": "<id>",
"confirm": "groups.discardMessage",
"requestKey": "a-new-unique-key"
});Request fields (3)
- id string required
- confirm "groups.discardMessage" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- discarded true required
- id string required
groups.prepareMessage
Write a message to everyone in a group and see who it would reach; nothing is sent
POST/api/v1/manage/groups/prepareMessage
- Write
- Permission groups.prepareMessage
- Needs a requestKey
- Needs confirm set to groups.prepareMessage
const result = await shuffl.groups.prepareMessage({
"body": [
"<body>"
],
"groupId": "<groupId>",
"subject": "<subject>",
"confirm": "groups.prepareMessage",
"requestKey": "a-new-unique-key"
});Request fields (7)
- action null | object optional
- label string required
- path string required
- body string[] required
- channel null | "email" | "preferred" | "slack" optional
- groupId string required
- subject string required
- confirm "groups.prepareMessage" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- action null | object required
- label string required
- path string required
- automationId null | string required
- body string[] required
- channel "email" | "preferred" | "slack" required
- createdAt string (date-time) required
- createdBy null | string required
- discardedAt null | string (date-time) required
- groupId string required
- id string required
- preview object required
- action null | object required
- label string required
- path string required
- as null | string required
- body string[] required
- channels "email" | "slack" | "teams"[] required
- from string required
- subject string required
- url null | string required
- action null | object required
- queued number required
- reach object required
- alreadyToday number required
- reachable number required
- recipients number required
- unreachable number required
- recipients number required
- sentAt null | string (date-time) required
- sentBy null | string required
- skipped number required
- status "discarded" | "draft" | "sending" | "sent" required
- subject string required
- action null | object required
groups.refresh
Re-evaluate a dynamic group’s rules now
POST/api/v1/manage/groups/refresh
- Write
- Permission groups.refresh
- Needs a requestKey
- Needs confirm set to groups.refresh
const result = await shuffl.groups.refresh({
"id": "<id>",
"confirm": "groups.refresh",
"requestKey": "a-new-unique-key"
});Request fields (3)
- id string required
- confirm "groups.refresh" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- entered number required
- errors object[] required
- groupId string required
- message string required
- failed number required
- groups number required
- left number required
- moves object[] required
- entered string[] required
- groupId string required
- left string[] required
groups.remove
Remove a group
POST/api/v1/manage/groups/remove
- Write
- Permission groups.remove
- Needs a requestKey
- Needs confirm set to groups.remove
const result = await shuffl.groups.remove({
"id": "<id>",
"confirm": "groups.remove",
"requestKey": "a-new-unique-key"
});Request fields (3)
- id string required
- confirm "groups.remove" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- removed boolean required
groups.removeAutomation
Remove an automation from a group, with its runs
POST/api/v1/manage/groups/removeAutomation
- Write
- Permission groups.removeAutomation
- Needs a requestKey
- Needs confirm set to groups.removeAutomation
const result = await shuffl.groups.removeAutomation({
"id": "<id>",
"confirm": "groups.removeAutomation",
"requestKey": "a-new-unique-key"
});Request fields (3)
- id string required
- confirm "groups.removeAutomation" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- id string required
- removed boolean required
groups.save
Create or change a group or a department: a list of people or rules that keep it up to date
POST/api/v1/manage/groups/save
- Write
- Permission groups.save
- Needs a requestKey
- Needs confirm set to groups.save
const result = await shuffl.groups.save({
"kind": "dynamic",
"name": "<name>",
"confirm": "groups.save",
"requestKey": "a-new-unique-key"
});Request fields (11)
- criteria object optional
- all object[] required
- Option 1 object optional
- attribute string required
- operator string required
- value string | number | false | true | string[] optional
- Option 2 object optional
- any object[] required
- Option 1 object optional
- all object[] required
- department false | true optional
- description string optional
- id string optional
- kind "dynamic" | "list" required
- name string required
- onProfile false | true optional
- personIds string[] optional
- suggestion null | string optional
- confirm "groups.save" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- id string required
groups.sendMessage
Send a drafted message to a group once per request key, on each person’s chosen channel
POST/api/v1/manage/groups/sendMessage
- Write
- Permission groups.sendMessage
- Needs a requestKey
- Needs confirm set to groups.sendMessage
const result = await shuffl.groups.sendMessage({
"id": "<id>",
"requestKey": "a-new-unique-key",
"confirm": "groups.sendMessage"
});Request fields (3)
- id string required
- requestKey string required1 to 128 characters
- confirm "groups.sendMessage" required
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- Option 1 object optional
- action null | object required
- label string required
- path string required
- automationId null | string required
- body string[] required
- channel "email" | "preferred" | "slack" required
- createdAt string (date-time) required
- createdBy null | string required
- discardedAt null | string (date-time) required
- groupId string required
- id string required
- queued number required
- recipients number required
- replayed true required
- sentAt null | string (date-time) required
- sentBy null | string required
- skipped number required
- status "discarded" | "draft" | "sending" | "sent" required
- subject string required
- action null | object required
- Option 2 object optional
- action null | object required
- label string required
- path string required
- automationId null | string required
- body string[] required
- channel "email" | "preferred" | "slack" required
- createdAt string (date-time) required
- createdBy null | string required
- discardedAt null | string (date-time) required
- groupId string required
- id string required
- queued number required
- recipients number required
- replayed false required
- sentAt null | string (date-time) required
- sentBy null | string required
- skipped number required
- status "discarded" | "draft" | "sending" | "sent" required
- subject string required
- action null | object required
- Option 1 object optional
groups.setAutomation
Add or change an automation on a group: send a message, ask a Pulse question, start a playbook, invite to a community, add to Connections, give a badge, add to or remove from another group, add to or post in a Slack channel (`config.channelId`, read back from Slack), or tell HR, their manager or someone named, right away or days later; a new one starts paused
POST/api/v1/manage/groups/setAutomation
- Write
- Permission groups.setAutomation
- Needs a requestKey
- Needs confirm set to groups.setAutomation
const result = await shuffl.groups.setAutomation({
"groupId": "<groupId>",
"kind": "add_to_group",
"trigger": "entered",
"confirm": "groups.setAutomation",
"requestKey": "a-new-unique-key"
});Request fields (8)
- config null | object optional
- action null | object optional
- label string required
- path string required
- badgeId string optional
- body string[] optional
- channel "email" | "preferred" | "slack" optional
- channelId string optional
- communityId string optional
- note string optional
- personId string optional
- programId string optional
- questionId string optional
- subject string optional
- targetGroupId string optional
- action null | object optional
- delayDays number optional
- groupId string required
- id string optional
- kind "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- trigger "entered" | "left" required
- confirm "groups.setAutomation" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- action string required
- config object required
- action null | object optional
- label string required
- path string required
- badgeId string optional
- body string[] optional
- channel "email" | "preferred" | "slack" optional
- channelId string optional
- channelName string optional
- communityId string optional
- note string optional
- personId string optional
- programId string optional
- questionId string optional
- subject string optional
- targetGroupId string optional
- action null | object optional
- createdAt string (date-time) required
- createdBy null | string required
- delayDays number required
- groupId string required
- id string required
- kind "add_to_group" | "add_to_program" | "ask_pulse" | "give_badge" | "invite_community" | "remove_from_group" | "send_message" | "slack_invite" | "slack_post" | "start_playbook" | "tell_hr" | "tell_manager" | "tell_person" required
- lastRunAt null | string (date-time) required
- runs number required
- state "active" | "paused" required
- summary string required
- target null | object required
- id string required
- name null | string required
- trigger "entered" | "left" required
- updatedAt string (date-time) required
- when string required
groups.setAutomationState
Pause or resume an automation on a group
POST/api/v1/manage/groups/setAutomationState
- Write
- Permission groups.setAutomationState
- Needs a requestKey
- Needs confirm set to groups.setAutomationState
const result = await shuffl.groups.setAutomationState({
"id": "<id>",
"state": "active",
"confirm": "groups.setAutomationState",
"requestKey": "a-new-unique-key"
});Request fields (4)
- id string required
- state "active" | "paused" required
- confirm "groups.setAutomationState" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
- id string required
- state "active" | "paused" required
groups.setPlaybookAutoStart
Turn on, pause or remove a playbook’s automation that starts it on each new hire’s start date, or a leaving playbook’s on each last day, for everyone or one group
POST/api/v1/manage/groups/setPlaybookAutoStart
- Write
- Permission groups.setPlaybookAutoStart
- Needs a requestKey
- Needs confirm set to groups.setPlaybookAutoStart
const result = await shuffl.groups.setPlaybookAutoStart({
"programId": "<programId>",
"state": "active",
"confirm": "groups.setPlaybookAutoStart",
"requestKey": "a-new-unique-key"
});Request fields (5)
- groupId null | string optional
- programId string required
- state "active" | "off" | "paused" required
- confirm "groups.setPlaybookAutoStart" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
- id string required
- state "active" | "off" | "paused" required