Skip to content
shuffl

Searches the public product guides only. Nothing from a workspace is read, and questions are not saved.

Reference

Pulse API

24 operations. Generated from the OpenAPI document, so this page always matches the API.

OpenAPI documentErrors and rate limitsSDK and CLI recipes

On this page

pulse.actions

List Pulse actions: what is being done about each result, its owner, due date and before and after

POST/api/v1/manage/pulse/actions

const result = await shuffl.pulse.actions({});
Request fields (3)
  • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" optional
  • sendId string optional
  • status "all" | "open" | "overdue" optional
Response object
  • actions object[] required
    • after null | object required
      • answered number required
      • enps null | number required
      • favourablePct null | number required
      • floor number required
      • floorMet boolean required
      • invited number required
      • open boolean required
      • respondents number required
      • scheduledFor string (date-time) required
      • sendId string required
    • before object required
      • answered number required
      • enps null | number required
      • favourablePct null | number required
      • floor number required
      • floorMet boolean required
      • invited number required
      • open boolean required
      • respondents number required
      • scheduledFor string (date-time) required
      • sendId string required
    • change null | number required
    • completedAt null | string (date-time) required
    • createdAt string (date-time) required
    • detail null | string required
    • dueOn string required
    • id string required
    • overdue boolean required
    • owner null | object required
      • id string required
      • name string required
    • post object required
      • channelName null | string required
      • delivery null | object required
        • channel null | "delivered" | "failed" | "held" | "pending" required
        • delivered number required
        • failed number required
        • held number required
        • pending number required
        • people number required
      • dms boolean required
      • draftedBy null | "ai" | "person" | "rule" required
      • postedAt null | string (date-time) required
      • text null | string required
    • question object required
      • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
      • driverLabel string required
      • groupLabel null | string required
      • scale string required
      • sendId string required
      • text string required
    • recheck object required
      • on null | string required
      • state "closed" | "off" | "open" | "waiting" required
    • revision number required
    • status "done" | "dropped" | "in_progress" | "planned" required
    • title string required
  • aiEnabled boolean required

pulse.asked

List the Pulse questions asked so far

POST/api/v1/manage/pulse/asked

const result = await shuffl.pulse.asked();
Request fields (none)

This operation takes no input.

Response object[]
  • closesAt string (date-time) required
  • driver string required
  • id string required
  • questionText string required
  • result null | object required
    • respondents number required
    • unit "eNPS" | "favourable" required
    • value number required
  • scheduledFor string (date-time) required
  • status "closed" | "open" required

pulse.groupTrends

Read each group's Pulse results over time, period by period, with the change since the start (published group totals only)

POST/api/v1/manage/pulse/groupTrends

const result = await shuffl.pulse.groupTrends({});
Request fields (1)
  • days 30 | 90 | 180 optional
Response object
  • days 30 | 90 | 180 required
  • dimensions object required
    • department object[] required
      • label string required
      • segment string required
      • series object[] required
        • change null | number required
        • latest null | number required
        • metric "ai_adoption" | "belonging" | "clarity" | "engagement" | "enps" | "favourable" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
        • points object[] required
    • group object[] required
      • label string required
      • segment string required
      • series object[] required
        • change null | number required
        • latest null | number required
        • metric "ai_adoption" | "belonging" | "clarity" | "engagement" | "enps" | "favourable" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
        • points object[] required
    • role object[] required
      • label string required
      • segment string required
      • series object[] required
        • change null | number required
        • latest null | number required
        • metric "ai_adoption" | "belonging" | "clarity" | "engagement" | "enps" | "favourable" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
        • points object[] required
    • tenure object[] required
      • label string required
      • segment string required
      • series object[] required
        • change null | number required
        • latest null | number required
        • metric "ai_adoption" | "belonging" | "clarity" | "engagement" | "enps" | "favourable" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
        • points object[] required
  • enpsPeriods string[] required
  • everyone object[] required
    • change null | number required
    • latest null | number required
    • metric "ai_adoption" | "belonging" | "clarity" | "engagement" | "enps" | "favourable" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • points object[] required
      • seen boolean required
      • value null | number required
  • metrics object[] required
    • label string required
    • metric "ai_adoption" | "belonging" | "clarity" | "engagement" | "enps" | "favourable" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
  • periods string[] required
  • unit "fortnight" | "month" | "week" required

pulse.insights

Read Pulse totals and trends (groups of seven or more)

POST/api/v1/manage/pulse/insights

const result = await shuffl.pulse.insights({});
Request fields (1)
  • days 30 | 90 | 180 optional
Response object
  • answered number required
  • days 30 | 90 | 180 required
  • drivers object[] required
    • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • favourablePct null | number required
    • label string required
    • respondents number required
    • sends number required
  • enps object required
    • latest null | object required
      • answered number required
      • closedAt null | string (date-time) required
      • distribution null | object required
      • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
      • driverLabel string required
      • enps null | object required
        • detractors number required
        • passives number required
        • promoters number required
        • score number required
      • favourablePct null | number required
      • floor number required
      • floorMet boolean required
      • groupLabel null | string required
      • id string required
      • invited number required
      • mean null | number required
      • questionText string required
      • respondents number required
      • scale string required
      • scheduledFor string (date-time) required
    • previous null | object required
      • answered number required
      • closedAt null | string (date-time) required
      • distribution null | object required
      • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
      • driverLabel string required
      • enps null | object required
        • detractors number required
        • passives number required
        • promoters number required
        • score number required
      • favourablePct null | number required
      • floor number required
      • floorMet boolean required
      • groupLabel null | string required
      • id string required
      • invited number required
      • mean null | number required
      • questionText string required
      • respondents number required
      • scale string required
      • scheduledFor string (date-time) required
    • trend object[] required
      • answered number required
      • closedAt null | string (date-time) required
      • distribution null | object required
      • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
      • driverLabel string required
      • enps null | object required
        • detractors number required
        • passives number required
        • promoters number required
        • score number required
      • favourablePct null | number required
      • floor number required
      • floorMet boolean required
      • groupLabel null | string required
      • id string required
      • invited number required
      • mean null | number required
      • questionText string required
      • respondents number required
      • scale string required
      • scheduledFor string (date-time) required
  • everClosed boolean required
  • favourablePct null | number required
  • groups object required
    • dimensions object required
      • department object[] required
        • drivers object required
        • enps object required
        • favourablePct null | number required
        • label string required
        • respondents number required
        • seen boolean required
        • segment string required
      • group object[] required
        • drivers object required
        • enps object required
        • favourablePct null | number required
        • label string required
        • respondents number required
        • seen boolean required
        • segment string required
      • role object[] required
        • drivers object required
        • enps object required
        • favourablePct null | number required
        • label string required
        • respondents number required
        • seen boolean required
        • segment string required
      • tenure object[] required
        • drivers object required
        • enps object required
        • favourablePct null | number required
        • label string required
        • respondents number required
        • seen boolean required
        • segment string required
    • drivers "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload"[] required
  • history object[] required
    • answered number required
    • closedAt null | string (date-time) required
    • distribution null | object required
    • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • driverLabel string required
    • enps null | object required
      • detractors number required
      • passives number required
      • promoters number required
      • score number required
    • favourablePct null | number required
    • floor number required
    • floorMet boolean required
    • groupLabel null | string required
    • id string required
    • invited number required
    • mean null | number required
    • questionText string required
    • respondents number required
    • scale string required
    • scheduledFor string (date-time) required
  • invited number required
  • latest null | object required
    • answered number required
    • closedAt null | string (date-time) required
    • distribution null | object required
    • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • driverLabel string required
    • enps null | object required
      • detractors number required
      • passives number required
      • promoters number required
      • score number required
    • favourablePct null | number required
    • floor number required
    • floorMet boolean required
    • groupLabel null | string required
    • id string required
    • invited number required
    • mean null | number required
    • questionText string required
    • respondents number required
    • scale string required
    • scheduledFor string (date-time) required
  • open null | object required
    • answered number required
    • closesAt string (date-time) required
    • driverLabel string required
    • id string required
    • invited number required
    • questionText string required
    • scheduledFor string (date-time) required
  • participationPct null | number required
  • previousParticipationPct null | number required
  • published number required
  • respondents number required
  • sends number required
  • weekly object[] required
    • value number required
    • week string required
  • weeks string[] required
  • windowEnd string (date-time) required
  • windowStart string (date-time) required
  • withheld number required

pulse.latestRead

Read what stands out in a closed Pulse question’s result

POST/api/v1/manage/pulse/latestRead

const result = await shuffl.pulse.latestRead({});
Request fields (1)
  • sendId string optional
Response null | object

The response is null | object.

pulse.mine

Read your own Pulse streak, how many took part, and what changed because of it

POST/api/v1/manage/pulse/mine

const result = await shuffl.pulse.mine();
Request fields (none)

This operation takes no input.

Response object
  • answered number required
  • open null | object required
    • answered number required
    • floor number required
  • participation object[] required
    • closedAt string (date-time) required
    • pct number required
    • sendId string required
  • published object[] required
    • after null | number required
    • before null | number required
    • change null | number required
    • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • driverLabel string required
    • id string required
    • ownerName null | string required
    • postedAt string (date-time) required
    • questionText string required
    • text null | string required
    • title string required
    • unit "eNPS" | "favourable" required
  • rounds object[] required
    • driverLabel string required
    • scheduledFor string (date-time) required
    • sendId string required
    • status "answered" | "missed" | "open" | "skipped" required
  • streak number required

pulse.program

Read the Pulse settings

POST/api/v1/manage/pulse/program

const result = await shuffl.pulse.program();
Request fields (none)

This operation takes no input.

Response object
  • activatedAt null | string (date-time) required
  • audience number required
  • cadence string required
  • enps object required
    • lastSentAt null | string (date-time) required
  • expectedCost object required
    • audience number required
    • cost number required
    • free boolean required
    • text string required
  • nextSendAt null | string (date-time) required
  • openSend null | object required
    • closesAt string (date-time) required
    • id string required
    • questionText string required
  • questions object required
    • active number required
    • retired number required
  • revision number required
  • settings object required
    • aiAnalysis boolean required
    • enpsEnabled boolean required
    • enpsEveryMonths 1 | 3 | 6 required
    • openHours number required
    • reportingFloor number required
    • sendDays number[] required
    • sendEvery number required
    • sendHour number required
    • sendMinute number required
    • sendMonthWeek null | 1 | 2 | 3 | 4 | 5 required
    • sendStart null | string required
    • sendUnit "day" | "month" | "week" required
    • shareResults boolean required
    • timezone string required
  • slackReachable number required
  • status "active" | "draft" | "paused" required

pulse.proposals

List the Pulse questions Mello suggested that wait for approval

POST/api/v1/manage/pulse/proposals

const result = await shuffl.pulse.proposals();
Request fields (none)

This operation takes no input.

Response object
  • aiAnalysis boolean required
  • lastRunAt null | string (date-time) required
  • proposals object[] required
    • checkReasons string[] required
    • createdAt string (date-time) required
    • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • id string required
    • origin "mello" | "requested" | "weekly" required
    • reason string required
    • revision number required
    • scale "agree_5" | "rating_5" | "yes_no" required
    • text string required
    • topic null | string required

pulse.questionDetail

Read one closed Pulse question: its answer spread, every time it was asked, and results by group (groups of seven or more)

POST/api/v1/manage/pulse/questionDetail

const result = await shuffl.pulse.questionDetail({
"sendId": "<sendId>"
});
Request fields (1)
  • sendId string required
Response object
  • closesAt string (date-time) required
  • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
  • driverLabel string required
  • groupLabel null | string required
  • groups object required
    • department object[] required
      • drivers object required
        • ai_adoption object optional
        • belonging object optional
        • clarity object optional
        • engagement object optional
        • growth object optional
        • manager object optional
        • recognition object optional
        • safety object optional
        • tools object optional
        • workload object optional
      • enps object required
        • score null | number required
        • seen boolean required
      • favourablePct null | number required
      • label string required
      • respondents number required
      • seen boolean required
      • segment string required
    • group object[] required
      • drivers object required
        • ai_adoption object optional
        • belonging object optional
        • clarity object optional
        • engagement object optional
        • growth object optional
        • manager object optional
        • recognition object optional
        • safety object optional
        • tools object optional
        • workload object optional
      • enps object required
        • score null | number required
        • seen boolean required
      • favourablePct null | number required
      • label string required
      • respondents number required
      • seen boolean required
      • segment string required
    • role object[] required
      • drivers object required
        • ai_adoption object optional
        • belonging object optional
        • clarity object optional
        • engagement object optional
        • growth object optional
        • manager object optional
        • recognition object optional
        • safety object optional
        • tools object optional
        • workload object optional
      • enps object required
        • score null | number required
        • seen boolean required
      • favourablePct null | number required
      • label string required
      • respondents number required
      • seen boolean required
      • segment string required
    • tenure object[] required
      • drivers object required
        • ai_adoption object optional
        • belonging object optional
        • clarity object optional
        • engagement object optional
        • growth object optional
        • manager object optional
        • recognition object optional
        • safety object optional
        • tools object optional
        • workload object optional
      • enps object required
        • score null | number required
        • seen boolean required
      • favourablePct null | number required
      • label string required
      • respondents number required
      • seen boolean required
      • segment string required
  • id string required
  • questionText string required
  • questionVersion number required
  • report null | object required
    • answered number required
    • enps null | object required
      • detractors number required
      • passives number required
      • promoters number required
      • score number required
    • favourablePct null | number required
    • floor number required
    • floorMet boolean required
    • invited number required
    • respondents number required
    • spread null | object[] required
      • count number required
      • label string required
      • value number required
  • scale "agree_5" | "nps_11" | "rating_5" | "yes_no" required
  • scheduledFor string (date-time) required
  • status "closed" | "open" required
  • trend object[] required
    • enps null | number required
    • favourablePct null | number required
    • floor number required
    • floorMet boolean required
    • id string required
    • scheduledFor string (date-time) required
    • version number required

pulse.questions

List the Pulse question library

POST/api/v1/manage/pulse/questions

const result = await shuffl.pulse.questions();
Request fields (none)

This operation takes no input.

Response object[]
  • createdAt string (date-time) required
  • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
  • groupId null | string required
  • groupLabel null | string required
  • id string required
  • lastAskedAt null | string (date-time) required
  • libraryKey null | string required
  • position number required
  • scale "agree_5" | "nps_11" | "rating_5" | "yes_no" required
  • source "ai_proposal" | "hr" | "library" required
  • status "active" | "retired" required
  • text string required
  • version number required

pulse.today

Read today’s Pulse question

POST/api/v1/manage/pulse/today

const result = await shuffl.pulse.today();
Request fields (none)

This operation takes no input.

Response object
  • floor number required
  • lastClosed null | object required
    • closedAt string (date-time) required
    • participationPct number required
    • questionText string required
  • nextSendAt null | string (date-time) required
  • send null | object required
    • closesAt string (date-time) required
    • driver string required
    • id string required
    • options object[] required
      • label string required
      • value number required
    • questionText string required
    • scale "agree_5" | "nps_11" | "rating_5" | "yes_no" required
    • scheduledFor string (date-time) required
  • status "answered" | "closed" | "not_invited" | "pending" | "skipped" required
  • timezone string required

pulse.addQuestion

Add a Pulse question to the library

POST/api/v1/manage/pulse/addQuestion

  • Write
  • Permission pulse.addQuestion
  • Needs a requestKey
  • Needs confirm set to pulse.addQuestion
const result = await shuffl.pulse.addQuestion({
"driver": "ai_adoption",
"scale": "agree_5",
"text": "<text>",
"confirm": "pulse.addQuestion",
"requestKey": "a-new-unique-key"
});
Request fields (6)
  • driver "ai_adoption" | "belonging" | "clarity" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
  • groupId null | string optional
  • scale "agree_5" | "rating_5" | "yes_no" required
  • text string required
  • confirm "pulse.addQuestion" 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
    • targeted boolean required

pulse.addTemplate

Add a Pulse question set from a template

POST/api/v1/manage/pulse/addTemplate

  • Write
  • Permission pulse.addTemplate
  • Needs a requestKey
  • Needs confirm set to pulse.addTemplate
const result = await shuffl.pulse.addTemplate({
"templateId": "<templateId>",
"confirm": "pulse.addTemplate",
"requestKey": "a-new-unique-key"
});
Request fields (3)
  • templateId string required
  • confirm "pulse.addTemplate" 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
    • added number required

pulse.answer

Answer today’s Pulse question as yourself

POST/api/v1/manage/pulse/answer

  • Write
  • Permission pulse.answer
  • Needs a requestKey
  • Needs confirm set to pulse.answer
const result = await shuffl.pulse.answer({
"sendId": "<sendId>",
"value": 0,
"confirm": "pulse.answer",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • sendId string required
  • value number required
  • confirm "pulse.answer" 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
    • outcome "closed" | "invalid" | "not_invited" | "recorded" required

pulse.createAction

Plan an action about a closed Pulse question, with an owner and a due date

POST/api/v1/manage/pulse/createAction

  • Write
  • Permission pulse.createAction
  • Needs a requestKey
  • Needs confirm set to pulse.createAction
const result = await shuffl.pulse.createAction({
"dueOn": "<dueOn>",
"sendId": "<sendId>",
"title": "<title>",
"confirm": "pulse.createAction",
"requestKey": "a-new-unique-key"
});
Request fields (8)
  • detail null | string optional
  • dueOn string required
  • ownerPersonId null | string optional
  • recheck false | true optional
  • sendId string required
  • title string required
  • confirm "pulse.createAction" 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
    • driver "ai_adoption" | "belonging" | "clarity" | "engagement" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • id string required
    • owner boolean required
    • recheck boolean required

pulse.decideProposal

Approve a suggested Pulse question so it is asked next, or dismiss it

POST/api/v1/manage/pulse/decideProposal

const result = await shuffl.pulse.decideProposal({
"decision": "approve",
"expectedRevision": 0,
"proposalId": "<proposalId>",
"confirm": "pulse.decideProposal",
"requestKey": "a-new-unique-key"
});
Request fields (5)
  • decision "approve" | "reject" required
  • expectedRevision number required
  • proposalId string required
  • confirm "pulse.decideProposal" 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
    • decision "approve" | "reject" required
    • edited boolean required
    • id string required
    • origin "mello" | "requested" | "weekly" required
    • questionId null | string required

pulse.editProposal

Reword a suggested Pulse question before approving it

POST/api/v1/manage/pulse/editProposal

  • Write
  • Permission pulse.editProposal
  • Needs a requestKey
  • Needs confirm set to pulse.editProposal
const result = await shuffl.pulse.editProposal({
"driver": "ai_adoption",
"expectedRevision": 0,
"proposalId": "<proposalId>",
"scale": "agree_5",
"text": "<text>",
"confirm": "pulse.editProposal",
"requestKey": "a-new-unique-key"
});
Request fields (7)
  • driver "ai_adoption" | "belonging" | "clarity" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
  • expectedRevision number required
  • proposalId string required
  • scale "agree_5" | "rating_5" | "yes_no" required
  • text string required
  • confirm "pulse.editProposal" 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
    • checkReasons string[] required
    • id string required
    • revision number required

pulse.proposeQuestions

Save drafted Pulse questions as suggestions for HR to approve (never asked until approved)

POST/api/v1/manage/pulse/proposeQuestions

const result = await shuffl.pulse.proposeQuestions({
"questions": [
{
"driver": "ai_adoption",
"scale": "agree_5",
"text": "<text>"
}
],
"confirm": "pulse.proposeQuestions",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • questions object[] required
    • driver "ai_adoption" | "belonging" | "clarity" | "growth" | "manager" | "recognition" | "safety" | "tools" | "workload" required
    • reason string optional
    • scale "agree_5" | "rating_5" | "yes_no" required
    • text string required
  • topic string optional
  • confirm "pulse.proposeQuestions" 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
    • created number required
    • duplicates number required
    • flagged number required

pulse.requestProposals

Ask Mello to suggest Pulse questions from recent results, optionally about a topic

POST/api/v1/manage/pulse/requestProposals

const result = await shuffl.pulse.requestProposals({
"confirm": "pulse.requestProposals",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • count number optional
  • topic string optional
  • confirm "pulse.requestProposals" 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
    • created number required
    • duplicates number required
    • flagged number required

pulse.saveProgram

Save Pulse settings; enabling Pulse schedules questions to everyone

POST/api/v1/manage/pulse/saveProgram

  • Write
  • Permission pulse.saveProgram
  • Needs a requestKey
  • Needs confirm set to pulse.saveProgram
const result = await shuffl.pulse.saveProgram({
"aiAnalysis": false,
"expectedRevision": 0,
"openHours": 0,
"reportingFloor": 0,
"sendDays": [
0
],
"sendHour": 0,
"sendMinute": 0,
"status": "active",
"timezone": "<timezone>",
"confirm": "pulse.saveProgram",
"requestKey": "a-new-unique-key"
});
Request fields (18)
  • aiAnalysis boolean required
  • enpsEnabled false | true optional
  • enpsEveryMonths 1 | 3 | 6 optional
  • expectedRevision number required
  • openHours number required
  • reportingFloor number required
  • sendDays number[] required
  • sendEvery number optional
  • sendHour number required
  • sendMinute number required
  • sendMonthWeek null | 1 | 2 | 3 | 4 | 5 optional
  • sendStart null | string optional
  • sendUnit "day" | "month" | "week" optional
  • shareResults false | true optional
  • status "active" | "draft" | "paused" required
  • timezone string required
  • confirm "pulse.saveProgram" 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
    • Option 1 object optional
      • changed boolean required
      • nextSendAt any optional
      • revision number required
      • seeded number required
    • Option 2 object optional
      • changed boolean required
      • nextSendAt null | string (date-time) required
      • revision number required
      • seeded number required

pulse.setQuestionGroup

Aim a Pulse question at one of the workspace’s groups, or at everyone

POST/api/v1/manage/pulse/setQuestionGroup

const result = await shuffl.pulse.setQuestionGroup({
"groupId": "<groupId>",
"questionId": "<questionId>",
"confirm": "pulse.setQuestionGroup",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • groupId null | string required
  • questionId string required
  • confirm "pulse.setQuestionGroup" 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
    • groupId null | string required
    • label string required

pulse.setQuestionStatus

Retire or restore a Pulse question

POST/api/v1/manage/pulse/setQuestionStatus

const result = await shuffl.pulse.setQuestionStatus({
"questionId": "<questionId>",
"status": "active",
"confirm": "pulse.setQuestionStatus",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • questionId string required
  • status "active" | "retired" required
  • confirm "pulse.setQuestionStatus" 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
    • status "active" | "retired" required

pulse.skip

Skip today’s Pulse question

POST/api/v1/manage/pulse/skip

  • Write
  • Permission pulse.skip
  • Needs a requestKey
  • Needs confirm set to pulse.skip
const result = await shuffl.pulse.skip({
"sendId": "<sendId>",
"confirm": "pulse.skip",
"requestKey": "a-new-unique-key"
});
Request fields (3)
  • sendId string required
  • confirm "pulse.skip" 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
    • outcome "closed" | "not_invited" | "skipped" required

pulse.updateAction

Change a Pulse action’s wording, owner, due date or status

POST/api/v1/manage/pulse/updateAction

  • Write
  • Permission pulse.updateAction
  • Needs a requestKey
  • Needs confirm set to pulse.updateAction
const result = await shuffl.pulse.updateAction({
"actionId": "<actionId>",
"dueOn": "<dueOn>",
"expectedRevision": 0,
"status": "done",
"title": "<title>",
"confirm": "pulse.updateAction",
"requestKey": "a-new-unique-key"
});
Request fields (10)
  • actionId string required
  • detail null | string optional
  • dueOn string required
  • expectedRevision number required
  • ownerPersonId null | string optional
  • recheck false | true optional
  • status "done" | "dropped" | "in_progress" | "planned" required
  • title string required
  • confirm "pulse.updateAction" 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
    • revision number required
    • status "done" | "dropped" | "in_progress" | "planned" required
    • statusChanged boolean required