@rippling/rippling-sdk 0.2.0-alpha.54 → 0.2.0-alpha.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,1482 +16,1618 @@ export interface WorkflowActionExecutionCreateResponse {
16
16
  */
17
17
  result: unknown;
18
18
  }
19
- export interface WorkflowActionExecutionCreateParams {
20
- action_type: 'send_email' | 'send_slack' | 'create_app_notification' | 'send_sms' | 'send_push_notification' | 'send_http_request' | 'delete_custom_object_record' | 'send_survey' | 'evaluate_rql' | 'upsert_custom_object' | 'update_custom_object_record' | 'create_gcal_event' | 'send_teams' | 'assign_review' | 'send_report_sftp' | 'run_query' | 'enroll_into_course' | 'enroll_into_learning_path' | 'report_email' | 'send_document' | 'accrue_leave' | 'make_payment';
21
- /**
22
- * An action that sends an email.
23
- * <helpdocslink href='https://help.rippling.com/article?articleId=69745350310'>Help
24
- * docs</helpdocslink>
25
- */
26
- payload: WorkflowActionExecutionCreateParams.SendEmailPayload | WorkflowActionExecutionCreateParams.SendSlackSingleDirectMessagePayload | WorkflowActionExecutionCreateParams.SendSlackGroupDirectMessagePayload | WorkflowActionExecutionCreateParams.SendSlackPublicChannelMessagePayload | WorkflowActionExecutionCreateParams.SendSlackPrivateChannelMessagePayload | WorkflowActionExecutionCreateParams.CreateAppNotificationPayload | WorkflowActionExecutionCreateParams.SendSMSPayload | WorkflowActionExecutionCreateParams.SendPushNotificationPayload | WorkflowActionExecutionCreateParams.SendHTTPRequestPayload | WorkflowActionExecutionCreateParams.DeleteCustomObjectRecordPayload | WorkflowActionExecutionCreateParams.SendSurveyPayload | WorkflowActionExecutionCreateParams.EvaluateRqlSelectionPayload | WorkflowActionExecutionCreateParams.EvaluateRqlQueryPayload | WorkflowActionExecutionCreateParams.UpsertCustomObjectPayload | WorkflowActionExecutionCreateParams.UpdateCustomObjectRecordPayload | WorkflowActionExecutionCreateParams.CreateGcalEventWorkflowOwnerNullPayload | WorkflowActionExecutionCreateParams.CreateGcalEventWorkflowOwnerDailyPayload | WorkflowActionExecutionCreateParams.CreateGcalEventWorkflowOwnerWeeklyPayload | WorkflowActionExecutionCreateParams.CreateGcalEventWorkflowOwnerMonthlyPayload | WorkflowActionExecutionCreateParams.CreateGcalEventWorkflowOwnerYearlyPayload | WorkflowActionExecutionCreateParams.CreateGcalEventSupergroupNullPayload | WorkflowActionExecutionCreateParams.CreateGcalEventSupergroupDailyPayload | WorkflowActionExecutionCreateParams.CreateGcalEventSupergroupWeeklyPayload | WorkflowActionExecutionCreateParams.CreateGcalEventSupergroupMonthlyPayload | WorkflowActionExecutionCreateParams.CreateGcalEventSupergroupYearlyPayload | WorkflowActionExecutionCreateParams.SendTeamsPublicChannelMessagePayload | WorkflowActionExecutionCreateParams.SendTeamsSingleDirectMessagePayload | WorkflowActionExecutionCreateParams.AssignReviewReviewerRelativeToRevieweePayload | WorkflowActionExecutionCreateParams.AssignReviewReviewerRelativeToTriggerPayload | WorkflowActionExecutionCreateParams.SendReportSftpPasswordExcelPayload | WorkflowActionExecutionCreateParams.SendReportSftpPasswordCsvPayload | WorkflowActionExecutionCreateParams.SendReportSftpSSHKeyExcelPayload | WorkflowActionExecutionCreateParams.SendReportSftpSSHKeyCsvPayload | WorkflowActionExecutionCreateParams.EnrollIntoCourse1WeekPayload | WorkflowActionExecutionCreateParams.EnrollIntoCourse2WeeksPayload | WorkflowActionExecutionCreateParams.EnrollIntoCourse1MonthPayload | WorkflowActionExecutionCreateParams.EnrollIntoCourse3MonthsPayload | WorkflowActionExecutionCreateParams.EnrollIntoCourse6MonthsPayload | WorkflowActionExecutionCreateParams.EnrollIntoCourse12MonthsPayload | WorkflowActionExecutionCreateParams.EnrollIntoCourseCustomPayload | WorkflowActionExecutionCreateParams.EnrollIntoLearningPathPayload | WorkflowActionExecutionCreateParams.SendReportEmailExcelPayload | WorkflowActionExecutionCreateParams.SendReportEmailCsvPayload | WorkflowActionExecutionCreateParams.SendDocumentPayload | WorkflowActionExecutionCreateParams.AccrueLeaveLeavePolicyPayload | WorkflowActionExecutionCreateParams.AccrueLeaveCompanyLeaveTypePayload | WorkflowActionExecutionCreateParams.MakePaymentPayload | WorkflowActionExecutionCreateParams.RunQueryPayload;
27
- workflow_definition_id?: string;
28
- }
19
+ export type WorkflowActionExecutionCreateParams = WorkflowActionExecutionCreateParams.SendEmailActionRequest | WorkflowActionExecutionCreateParams.SendSlackActionRequest | WorkflowActionExecutionCreateParams.CreateAppNotificationActionRequest | WorkflowActionExecutionCreateParams.SendSMSActionRequest | WorkflowActionExecutionCreateParams.SendPushNotificationActionRequest | WorkflowActionExecutionCreateParams.SendHTTPRequestActionRequest | WorkflowActionExecutionCreateParams.DeleteCustomObjectRecordActionRequest | WorkflowActionExecutionCreateParams.SendSurveyActionRequest | WorkflowActionExecutionCreateParams.EvaluateRqlActionRequest | WorkflowActionExecutionCreateParams.UpsertCustomObjectActionRequest | WorkflowActionExecutionCreateParams.UpdateCustomObjectRecordActionRequest | WorkflowActionExecutionCreateParams.CreateGcalEventActionRequest | WorkflowActionExecutionCreateParams.SendTeamsActionRequest | WorkflowActionExecutionCreateParams.AssignReviewActionRequest | WorkflowActionExecutionCreateParams.SendReportSftpActionRequest | WorkflowActionExecutionCreateParams.EnrollIntoCourseActionRequest | WorkflowActionExecutionCreateParams.EnrollIntoLearningPathActionRequest | WorkflowActionExecutionCreateParams.SendReportEmailActionRequest | WorkflowActionExecutionCreateParams.SendDocumentActionRequest | WorkflowActionExecutionCreateParams.AccrueLeaveActionRequest | WorkflowActionExecutionCreateParams.MakePaymentActionRequest | WorkflowActionExecutionCreateParams.RunQueryActionRequest;
29
20
  export declare namespace WorkflowActionExecutionCreateParams {
30
- /**
31
- * An action that sends an email.
32
- * <helpdocslink href='https://help.rippling.com/article?articleId=69745350310'>Help
33
- * docs</helpdocslink>
34
- */
35
- interface SendEmailPayload {
36
- /**
37
- * Email mode
38
- */
39
- action_type: 'INDIVIDUAL_EMAILS' | 'GROUP_EMAIL';
40
- body: string;
41
- send_to: SendEmailPayload.SendTo;
42
- subject: string;
21
+ interface SendEmailActionRequest {
22
+ action_type: 'send_email';
43
23
  /**
44
- * Maximum total attachment size: 20MB
24
+ * An action that sends an email.
45
25
  */
46
- attachments?: Array<SendEmailPayload.Attachment> | null;
26
+ payload: SendEmailActionRequest.Payload;
27
+ workflow_definition_id: string;
47
28
  }
48
- namespace SendEmailPayload {
49
- interface SendTo {
50
- bcc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
51
- cc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
52
- to?: SendTo.Recipient1 | SendTo.Recipient2 | null;
29
+ namespace SendEmailActionRequest {
30
+ /**
31
+ * An action that sends an email.
32
+ */
33
+ interface Payload {
34
+ /**
35
+ * Email mode
36
+ */
37
+ action_type: 'INDIVIDUAL_EMAILS' | 'GROUP_EMAIL';
38
+ body: string;
39
+ send_to: Payload.SendTo;
40
+ subject: string;
41
+ /**
42
+ * Maximum total attachment size: 20MB
43
+ */
44
+ attachments?: Array<Payload.Attachment> | null;
53
45
  }
54
- namespace SendTo {
55
- interface Recipient1 {
56
- supergroup: Array<string>;
57
- /**
58
- * Email type
59
- */
60
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
61
- externalEmails?: Array<string> | null;
46
+ namespace Payload {
47
+ interface SendTo {
48
+ bcc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
49
+ cc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
50
+ to?: SendTo.Recipient1 | SendTo.Recipient2 | null;
62
51
  }
63
- interface Recipient2 {
64
- externalEmails: Array<string>;
65
- /**
66
- * Email type
67
- */
68
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
69
- supergroup?: Array<string> | null;
52
+ namespace SendTo {
53
+ interface Recipient1 {
54
+ supergroup: string;
55
+ /**
56
+ * Email type
57
+ */
58
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
59
+ externalEmails?: Array<string> | null;
60
+ }
61
+ interface Recipient2 {
62
+ externalEmails: Array<string>;
63
+ /**
64
+ * Email type
65
+ */
66
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
67
+ supergroup?: string | null;
68
+ }
69
+ interface Recipient1 {
70
+ supergroup: string;
71
+ /**
72
+ * Email type
73
+ */
74
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
75
+ externalEmails?: Array<string> | null;
76
+ }
77
+ interface Recipient2 {
78
+ externalEmails: Array<string>;
79
+ /**
80
+ * Email type
81
+ */
82
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
83
+ supergroup?: string | null;
84
+ }
85
+ interface Recipient1 {
86
+ supergroup: string;
87
+ /**
88
+ * Email type
89
+ */
90
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
91
+ externalEmails?: Array<string> | null;
92
+ }
93
+ interface Recipient2 {
94
+ externalEmails: Array<string>;
95
+ /**
96
+ * Email type
97
+ */
98
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
99
+ supergroup?: string | null;
100
+ }
70
101
  }
71
- interface Recipient1 {
72
- supergroup: Array<string>;
73
- /**
74
- * Email type
75
- */
76
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
77
- externalEmails?: Array<string> | null;
78
- }
79
- interface Recipient2 {
80
- externalEmails: Array<string>;
81
- /**
82
- * Email type
83
- */
84
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
85
- supergroup?: Array<string> | null;
86
- }
87
- interface Recipient1 {
88
- supergroup: Array<string>;
89
- /**
90
- * Email type
91
- */
92
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
93
- externalEmails?: Array<string> | null;
94
- }
95
- interface Recipient2 {
96
- externalEmails: Array<string>;
97
- /**
98
- * Email type
99
- */
100
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
101
- supergroup?: Array<string> | null;
102
+ interface Attachment {
103
+ fileName: string;
102
104
  }
103
105
  }
104
- interface Attachment {
105
- fileName: string;
106
- }
107
106
  }
108
- /**
109
- * An action that sends a slack message
110
- * <helpdocslink href='https://help.rippling.com/article?articleId=921068789043'>Help
111
- * docs</helpdocslink>
112
- */
113
- interface SendSlackSingleDirectMessagePayload {
114
- action_type: 'SINGLE_DIRECT_MESSAGE';
107
+ interface SendSlackActionRequest {
108
+ action_type: 'send_slack';
115
109
  /**
116
- * Advanced formatting (Slack mentions, links, and channels) is supported through
117
- * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
118
- * markup options</a>
110
+ * An action that sends a slack message
119
111
  */
120
- body: string;
121
- recipients: Array<string>;
112
+ payload: SendSlackActionRequest.SendSlackSingleDirectMessagePayload | SendSlackActionRequest.SendSlackGroupDirectMessagePayload | SendSlackActionRequest.SendSlackPublicChannelMessagePayload | SendSlackActionRequest.SendSlackPrivateChannelMessagePayload;
113
+ workflow_definition_id: string;
122
114
  }
123
- /**
124
- * An action that sends a slack message
125
- * <helpdocslink href='https://help.rippling.com/article?articleId=921068789043'>Help
126
- * docs</helpdocslink>
127
- */
128
- interface SendSlackGroupDirectMessagePayload {
129
- action_type: 'GROUP_DIRECT_MESSAGE';
115
+ namespace SendSlackActionRequest {
116
+ /**
117
+ * An action that sends a slack message
118
+ */
119
+ interface SendSlackSingleDirectMessagePayload {
120
+ action_type: 'SINGLE_DIRECT_MESSAGE';
121
+ /**
122
+ * Advanced formatting (Slack mentions, links, and channels) is supported through
123
+ * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
124
+ * markup options</a>
125
+ */
126
+ body: string;
127
+ recipients: string;
128
+ }
130
129
  /**
131
- * Advanced formatting (Slack mentions, links, and channels) is supported through
132
- * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
133
- * markup options</a>
134
- */
135
- body: string;
136
- recipients: Array<string>;
130
+ * An action that sends a slack message
131
+ */
132
+ interface SendSlackGroupDirectMessagePayload {
133
+ action_type: 'GROUP_DIRECT_MESSAGE';
134
+ /**
135
+ * Advanced formatting (Slack mentions, links, and channels) is supported through
136
+ * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
137
+ * markup options</a>
138
+ */
139
+ body: string;
140
+ recipients: string;
141
+ }
142
+ /**
143
+ * An action that sends a slack message
144
+ */
145
+ interface SendSlackPublicChannelMessagePayload {
146
+ action_type: 'PUBLIC_CHANNEL_MESSAGE';
147
+ /**
148
+ * Advanced formatting (Slack mentions, links, and channels) is supported through
149
+ * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
150
+ * markup options</a>
151
+ */
152
+ body: string;
153
+ channel: string;
154
+ }
155
+ /**
156
+ * An action that sends a slack message
157
+ */
158
+ interface SendSlackPrivateChannelMessagePayload {
159
+ action_type: 'PRIVATE_CHANNEL_MESSAGE';
160
+ /**
161
+ * Advanced formatting (Slack mentions, links, and channels) is supported through
162
+ * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
163
+ * markup options</a>
164
+ */
165
+ body: string;
166
+ channel: string;
167
+ }
137
168
  }
138
- /**
139
- * An action that sends a slack message
140
- * <helpdocslink href='https://help.rippling.com/article?articleId=921068789043'>Help
141
- * docs</helpdocslink>
142
- */
143
- interface SendSlackPublicChannelMessagePayload {
144
- action_type: 'PUBLIC_CHANNEL_MESSAGE';
169
+ interface CreateAppNotificationActionRequest {
170
+ action_type: 'create_app_notification';
145
171
  /**
146
- * Advanced formatting (Slack mentions, links, and channels) is supported through
147
- * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
148
- * markup options</a>
172
+ * Assign tasks to configurable recipients
149
173
  */
150
- body: string;
151
- channel: string;
174
+ payload: CreateAppNotificationActionRequest.Payload;
175
+ workflow_definition_id: string;
152
176
  }
153
- /**
154
- * An action that sends a slack message
155
- * <helpdocslink href='https://help.rippling.com/article?articleId=921068789043'>Help
156
- * docs</helpdocslink>
157
- */
158
- interface SendSlackPrivateChannelMessagePayload {
159
- action_type: 'PRIVATE_CHANNEL_MESSAGE';
177
+ namespace CreateAppNotificationActionRequest {
160
178
  /**
161
- * Advanced formatting (Slack mentions, links, and channels) is supported through
162
- * <a href="https://help.rippling.com/article?articleId=921068789043#add-a-step-to-send-a-slack-message">Slack
163
- * markup options</a>
179
+ * Assign tasks to configurable recipients
164
180
  */
165
- body: string;
166
- channel: string;
167
- }
168
- /**
169
- * Assign tasks to configurable recipients
170
- * <helpdocslink href='https://help.rippling.com/article?articleId=31954759021'>Help
171
- * docs</helpdocslink>
172
- */
173
- interface CreateAppNotificationPayload {
174
- description: string;
175
- recipients: Array<string>;
176
- subject: string;
177
- dueDate?: CreateAppNotificationPayload.DueDate | CreateAppNotificationPayload.DueDate1 | null;
178
- }
179
- namespace CreateAppNotificationPayload {
180
- interface DueDate {
181
- date: string;
181
+ interface Payload {
182
+ description: string;
183
+ recipients: string;
184
+ subject: string;
185
+ dueDate?: Payload.DueDate | Payload.DueDate1 | null;
182
186
  }
183
- interface DueDate1 {
184
- daysFromNow: number;
187
+ namespace Payload {
188
+ interface DueDate {
189
+ date: string;
190
+ }
191
+ interface DueDate1 {
192
+ daysFromNow: number | string;
193
+ }
185
194
  }
186
195
  }
187
- /**
188
- * An action that sends a text message.
189
- * <helpdocslink href='https://help.rippling.com/article?articleId=750790843425'>Help
190
- * docs</helpdocslink>
191
- */
192
- interface SendSMSPayload {
196
+ interface SendSMSActionRequest {
197
+ action_type: 'send_sms';
193
198
  /**
194
- * Maximum characters: 500
199
+ * An action that sends a text message.
195
200
  */
196
- message: string;
197
- recipients: Array<string>;
201
+ payload: SendSMSActionRequest.Payload;
202
+ workflow_definition_id: string;
198
203
  }
199
- /**
200
- * Sends a push notification to mobile devices. Recipients require the Rippling
201
- * mobile app to receive this notification.
202
- * <helpdocslink href='https://help.rippling.com/article?articleId=778925762874'>Help
203
- * docs</helpdocslink>
204
- */
205
- interface SendPushNotificationPayload {
204
+ namespace SendSMSActionRequest {
206
205
  /**
207
- * Maximum character count: 65
206
+ * An action that sends a text message.
208
207
  */
209
- header: string;
210
- /**
211
- * In many devices, your description will be truncated after 178 characters.
212
- */
213
- message: string;
214
- recipients: Array<string>;
215
- }
216
- /**
217
- * An action that sends an HTTP request with a JSON payload. The following keys -
218
- * Authorization, Api-Key, and Token - in URL query parameters and custom headers
219
- * are masked due to their sensitive nature
220
- * <helpdocslink href='https://help.rippling.com/article?articleId=441988386018'>Help
221
- * docs</helpdocslink>
222
- */
223
- interface SendHTTPRequestPayload {
224
- url: string;
225
- customHTTPHeaders?: {
226
- [key: string]: string;
227
- } | null;
228
- expectedResponseSchema?: unknown | null;
229
- /**
230
- * HTTP method
231
- */
232
- method?: 'POST' | 'GET' | 'PUT' | 'PATCH' | 'DELETE' | null;
233
- payload?: unknown | null;
234
- queryParams?: {
235
- [key: string]: string;
236
- } | null;
237
- }
238
- /**
239
- * An action that deletes a custom object record.
240
- * <helpdocslink href='https://help.rippling.com/article?articleId=226426887042'>Help
241
- * docs</helpdocslink>
242
- */
243
- interface DeleteCustomObjectRecordPayload {
244
- customObjectAPIName: string;
245
- recordID: string;
246
- }
247
- /**
248
- * An action that sends a survey.
249
- * <helpdocslink href='https://help.rippling.com/article?articleId=942946267690'>Help
250
- * docs</helpdocslink>
251
- */
252
- interface SendSurveyPayload {
253
- body: string;
254
- recipients: Array<string>;
255
- subject: string;
256
- surveyID: string;
257
- expiryDays?: number | null;
258
- }
259
- /**
260
- * Query and retrieve specific records from Rippling
261
- * <helpdocslink href='https://help.rippling.com/article?articleId=104232871210'>Help
262
- * docs</helpdocslink>
263
- */
264
- interface EvaluateRqlSelectionPayload {
265
- queryType: 'SELECTION';
266
- rqlModelName?: string | null;
208
+ interface Payload {
209
+ /**
210
+ * Maximum characters: 500
211
+ */
212
+ message: string;
213
+ recipients: string;
214
+ }
267
215
  }
268
- /**
269
- * Query and retrieve specific records from Rippling
270
- * <helpdocslink href='https://help.rippling.com/article?articleId=104232871210'>Help
271
- * docs</helpdocslink>
272
- */
273
- interface EvaluateRqlQueryPayload {
274
- queryType: 'QUERY';
216
+ interface SendPushNotificationActionRequest {
217
+ action_type: 'send_push_notification';
275
218
  /**
276
- * Data type
219
+ * Sends a push notification to mobile devices. Recipients require the Rippling
220
+ * mobile app to receive this notification.
277
221
  */
278
- dataType?: 'STRING' | 'NUMBER' | 'BOOLEAN' | 'OBJECT_ID' | 'DATE' | 'DATETIME' | null;
279
- isAList?: boolean | null;
280
- rqlFormula?: EvaluateRqlQueryPayload.RqlFormula | null;
281
- }
282
- namespace EvaluateRqlQueryPayload {
283
- interface RqlFormula {
284
- rqlFormula?: string | null;
285
- }
286
- }
287
- /**
288
- * An action that creates a custom object record.
289
- * <helpdocslink href='https://help.rippling.com/article?articleId=226426887042'>Help
290
- * docs</helpdocslink>
291
- */
292
- interface UpsertCustomObjectPayload {
293
- customObjectAPIName: string;
294
- }
295
- /**
296
- * An action that updates a custom object record.
297
- * <helpdocslink href='https://help.rippling.com/article?articleId=226426887042'>Help
298
- * docs</helpdocslink>
299
- */
300
- interface UpdateCustomObjectRecordPayload {
301
- customObjectAPIName: string;
302
- }
303
- /**
304
- * This action will create a Google Calendar event with the specified organizer and
305
- * attendees
306
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
307
- * docs</helpdocslink>
308
- */
309
- interface CreateGcalEventWorkflowOwnerNullPayload {
310
- attendees: Array<string>;
311
- description: string;
312
- end: CreateGcalEventWorkflowOwnerNullPayload.End;
313
- organizer_type: 'WORKFLOW_OWNER';
314
- recurrence_frequency: 'null';
315
- spoke_owner: string;
316
- start: CreateGcalEventWorkflowOwnerNullPayload.Start;
317
- timezone: string;
318
- title: string;
319
- all_day_event?: boolean | null;
320
- guestsCanInviteOthers?: boolean | null;
321
- guestsCanModify?: boolean | null;
322
- guestsCanSeeOtherGuests?: boolean | null;
323
- /**
324
- * Show me as
325
- */
326
- transparency?: 'opaque' | 'transparent' | null;
327
- /**
328
- * Calendar Visibility
329
- */
330
- visibility?: 'default' | 'public' | 'private' | null;
331
- }
332
- namespace CreateGcalEventWorkflowOwnerNullPayload {
333
- interface End {
334
- date: string;
335
- time: string;
336
- }
337
- interface Start {
338
- date: string;
339
- time: string;
340
- }
341
- }
342
- /**
343
- * This action will create a Google Calendar event with the specified organizer and
344
- * attendees
345
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
346
- * docs</helpdocslink>
347
- */
348
- interface CreateGcalEventWorkflowOwnerDailyPayload {
349
- attendees: Array<string>;
350
- description: string;
351
- end: CreateGcalEventWorkflowOwnerDailyPayload.End;
352
- organizer_type: 'WORKFLOW_OWNER';
353
- recurrence_frequency: 'DAILY';
354
- spoke_owner: string;
355
- start: CreateGcalEventWorkflowOwnerDailyPayload.Start;
356
- timezone: string;
357
- title: string;
358
- all_day_event?: boolean | null;
359
- guestsCanInviteOthers?: boolean | null;
360
- guestsCanModify?: boolean | null;
361
- guestsCanSeeOtherGuests?: boolean | null;
362
- recurrence_has_end?: boolean | null;
363
- /**
364
- * Show me as
365
- */
366
- transparency?: 'opaque' | 'transparent' | null;
367
- /**
368
- * Calendar Visibility
369
- */
370
- visibility?: 'default' | 'public' | 'private' | null;
371
- }
372
- namespace CreateGcalEventWorkflowOwnerDailyPayload {
373
- interface End {
374
- date: string;
375
- time: string;
376
- }
377
- interface Start {
378
- date: string;
379
- time: string;
380
- }
381
- }
382
- /**
383
- * This action will create a Google Calendar event with the specified organizer and
384
- * attendees
385
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
386
- * docs</helpdocslink>
387
- */
388
- interface CreateGcalEventWorkflowOwnerWeeklyPayload {
389
- attendees: Array<string>;
390
- description: string;
391
- end: CreateGcalEventWorkflowOwnerWeeklyPayload.End;
392
- organizer_type: 'WORKFLOW_OWNER';
393
- recurrence_frequency: 'WEEKLY';
394
- spoke_owner: string;
395
- start: CreateGcalEventWorkflowOwnerWeeklyPayload.Start;
396
- timezone: string;
397
- title: string;
398
- all_day_event?: boolean | null;
399
- guestsCanInviteOthers?: boolean | null;
400
- guestsCanModify?: boolean | null;
401
- guestsCanSeeOtherGuests?: boolean | null;
402
- recurrence_has_end?: boolean | null;
403
- /**
404
- * Show me as
405
- */
406
- transparency?: 'opaque' | 'transparent' | null;
407
- /**
408
- * Calendar Visibility
409
- */
410
- visibility?: 'default' | 'public' | 'private' | null;
411
- }
412
- namespace CreateGcalEventWorkflowOwnerWeeklyPayload {
413
- interface End {
414
- date: string;
415
- time: string;
416
- }
417
- interface Start {
418
- date: string;
419
- time: string;
420
- }
421
- }
422
- /**
423
- * This action will create a Google Calendar event with the specified organizer and
424
- * attendees
425
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
426
- * docs</helpdocslink>
427
- */
428
- interface CreateGcalEventWorkflowOwnerMonthlyPayload {
429
- attendees: Array<string>;
430
- description: string;
431
- end: CreateGcalEventWorkflowOwnerMonthlyPayload.End;
432
- organizer_type: 'WORKFLOW_OWNER';
433
- recurrence_frequency: 'MONTHLY';
434
- spoke_owner: string;
435
- start: CreateGcalEventWorkflowOwnerMonthlyPayload.Start;
436
- timezone: string;
437
- title: string;
438
- all_day_event?: boolean | null;
439
- guestsCanInviteOthers?: boolean | null;
440
- guestsCanModify?: boolean | null;
441
- guestsCanSeeOtherGuests?: boolean | null;
442
- recurrence_has_end?: boolean | null;
443
- /**
444
- * Show me as
445
- */
446
- transparency?: 'opaque' | 'transparent' | null;
447
- /**
448
- * Calendar Visibility
449
- */
450
- visibility?: 'default' | 'public' | 'private' | null;
451
- }
452
- namespace CreateGcalEventWorkflowOwnerMonthlyPayload {
453
- interface End {
454
- date: string;
455
- time: string;
456
- }
457
- interface Start {
458
- date: string;
459
- time: string;
460
- }
461
- }
462
- /**
463
- * This action will create a Google Calendar event with the specified organizer and
464
- * attendees
465
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
466
- * docs</helpdocslink>
467
- */
468
- interface CreateGcalEventWorkflowOwnerYearlyPayload {
469
- attendees: Array<string>;
470
- description: string;
471
- end: CreateGcalEventWorkflowOwnerYearlyPayload.End;
472
- organizer_type: 'WORKFLOW_OWNER';
473
- recurrence_frequency: 'YEARLY';
474
- spoke_owner: string;
475
- start: CreateGcalEventWorkflowOwnerYearlyPayload.Start;
476
- timezone: string;
477
- title: string;
478
- all_day_event?: boolean | null;
479
- guestsCanInviteOthers?: boolean | null;
480
- guestsCanModify?: boolean | null;
481
- guestsCanSeeOtherGuests?: boolean | null;
482
- recurrence_has_end?: boolean | null;
483
- /**
484
- * Show me as
485
- */
486
- transparency?: 'opaque' | 'transparent' | null;
487
- /**
488
- * Calendar Visibility
489
- */
490
- visibility?: 'default' | 'public' | 'private' | null;
491
- }
492
- namespace CreateGcalEventWorkflowOwnerYearlyPayload {
493
- interface End {
494
- date: string;
495
- time: string;
496
- }
497
- interface Start {
498
- date: string;
499
- time: string;
500
- }
501
- }
502
- /**
503
- * This action will create a Google Calendar event with the specified organizer and
504
- * attendees
505
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
506
- * docs</helpdocslink>
507
- */
508
- interface CreateGcalEventSupergroupNullPayload {
509
- attendees: Array<string>;
510
- description: string;
511
- end: CreateGcalEventSupergroupNullPayload.End;
512
- organizer: Array<string>;
513
- organizer_type: 'SUPERGROUP';
514
- recurrence_frequency: 'null';
515
- spoke_owner: string;
516
- start: CreateGcalEventSupergroupNullPayload.Start;
517
- timezone: string;
518
- title: string;
519
- all_day_event?: boolean | null;
520
- guestsCanInviteOthers?: boolean | null;
521
- guestsCanModify?: boolean | null;
522
- guestsCanSeeOtherGuests?: boolean | null;
523
- /**
524
- * Show me as
525
- */
526
- transparency?: 'opaque' | 'transparent' | null;
527
- /**
528
- * Calendar Visibility
529
- */
530
- visibility?: 'default' | 'public' | 'private' | null;
531
- }
532
- namespace CreateGcalEventSupergroupNullPayload {
533
- interface End {
534
- date: string;
535
- time: string;
536
- }
537
- interface Start {
538
- date: string;
539
- time: string;
540
- }
541
- }
542
- /**
543
- * This action will create a Google Calendar event with the specified organizer and
544
- * attendees
545
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
546
- * docs</helpdocslink>
547
- */
548
- interface CreateGcalEventSupergroupDailyPayload {
549
- attendees: Array<string>;
550
- description: string;
551
- end: CreateGcalEventSupergroupDailyPayload.End;
552
- organizer: Array<string>;
553
- organizer_type: 'SUPERGROUP';
554
- recurrence_frequency: 'DAILY';
555
- spoke_owner: string;
556
- start: CreateGcalEventSupergroupDailyPayload.Start;
557
- timezone: string;
558
- title: string;
559
- all_day_event?: boolean | null;
560
- guestsCanInviteOthers?: boolean | null;
561
- guestsCanModify?: boolean | null;
562
- guestsCanSeeOtherGuests?: boolean | null;
563
- recurrence_has_end?: boolean | null;
564
- /**
565
- * Show me as
566
- */
567
- transparency?: 'opaque' | 'transparent' | null;
568
- /**
569
- * Calendar Visibility
570
- */
571
- visibility?: 'default' | 'public' | 'private' | null;
572
- }
573
- namespace CreateGcalEventSupergroupDailyPayload {
574
- interface End {
575
- date: string;
576
- time: string;
577
- }
578
- interface Start {
579
- date: string;
580
- time: string;
581
- }
222
+ payload: SendPushNotificationActionRequest.Payload;
223
+ workflow_definition_id: string;
582
224
  }
583
- /**
584
- * This action will create a Google Calendar event with the specified organizer and
585
- * attendees
586
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
587
- * docs</helpdocslink>
588
- */
589
- interface CreateGcalEventSupergroupWeeklyPayload {
590
- attendees: Array<string>;
591
- description: string;
592
- end: CreateGcalEventSupergroupWeeklyPayload.End;
593
- organizer: Array<string>;
594
- organizer_type: 'SUPERGROUP';
595
- recurrence_frequency: 'WEEKLY';
596
- spoke_owner: string;
597
- start: CreateGcalEventSupergroupWeeklyPayload.Start;
598
- timezone: string;
599
- title: string;
600
- all_day_event?: boolean | null;
601
- guestsCanInviteOthers?: boolean | null;
602
- guestsCanModify?: boolean | null;
603
- guestsCanSeeOtherGuests?: boolean | null;
604
- recurrence_has_end?: boolean | null;
605
- /**
606
- * Show me as
607
- */
608
- transparency?: 'opaque' | 'transparent' | null;
609
- /**
610
- * Calendar Visibility
611
- */
612
- visibility?: 'default' | 'public' | 'private' | null;
613
- }
614
- namespace CreateGcalEventSupergroupWeeklyPayload {
615
- interface End {
616
- date: string;
617
- time: string;
618
- }
619
- interface Start {
620
- date: string;
621
- time: string;
225
+ namespace SendPushNotificationActionRequest {
226
+ /**
227
+ * Sends a push notification to mobile devices. Recipients require the Rippling
228
+ * mobile app to receive this notification.
229
+ */
230
+ interface Payload {
231
+ /**
232
+ * Maximum character count: 65
233
+ */
234
+ header: string;
235
+ /**
236
+ * In many devices, your description will be truncated after 178 characters.
237
+ */
238
+ message: string;
239
+ recipients: string;
622
240
  }
623
241
  }
624
- /**
625
- * This action will create a Google Calendar event with the specified organizer and
626
- * attendees
627
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
628
- * docs</helpdocslink>
629
- */
630
- interface CreateGcalEventSupergroupMonthlyPayload {
631
- attendees: Array<string>;
632
- description: string;
633
- end: CreateGcalEventSupergroupMonthlyPayload.End;
634
- organizer: Array<string>;
635
- organizer_type: 'SUPERGROUP';
636
- recurrence_frequency: 'MONTHLY';
637
- spoke_owner: string;
638
- start: CreateGcalEventSupergroupMonthlyPayload.Start;
639
- timezone: string;
640
- title: string;
641
- all_day_event?: boolean | null;
642
- guestsCanInviteOthers?: boolean | null;
643
- guestsCanModify?: boolean | null;
644
- guestsCanSeeOtherGuests?: boolean | null;
645
- recurrence_has_end?: boolean | null;
646
- /**
647
- * Show me as
648
- */
649
- transparency?: 'opaque' | 'transparent' | null;
650
- /**
651
- * Calendar Visibility
652
- */
653
- visibility?: 'default' | 'public' | 'private' | null;
654
- }
655
- namespace CreateGcalEventSupergroupMonthlyPayload {
656
- interface End {
657
- date: string;
658
- time: string;
659
- }
660
- interface Start {
661
- date: string;
662
- time: string;
663
- }
664
- }
665
- /**
666
- * This action will create a Google Calendar event with the specified organizer and
667
- * attendees
668
- * <helpdocslink href='https://help.rippling.com/article?articleId=838646138324'>Help
669
- * docs</helpdocslink>
670
- */
671
- interface CreateGcalEventSupergroupYearlyPayload {
672
- attendees: Array<string>;
673
- description: string;
674
- end: CreateGcalEventSupergroupYearlyPayload.End;
675
- organizer: Array<string>;
676
- organizer_type: 'SUPERGROUP';
677
- recurrence_frequency: 'YEARLY';
678
- spoke_owner: string;
679
- start: CreateGcalEventSupergroupYearlyPayload.Start;
680
- timezone: string;
681
- title: string;
682
- all_day_event?: boolean | null;
683
- guestsCanInviteOthers?: boolean | null;
684
- guestsCanModify?: boolean | null;
685
- guestsCanSeeOtherGuests?: boolean | null;
686
- recurrence_has_end?: boolean | null;
687
- /**
688
- * Show me as
689
- */
690
- transparency?: 'opaque' | 'transparent' | null;
691
- /**
692
- * Calendar Visibility
693
- */
694
- visibility?: 'default' | 'public' | 'private' | null;
242
+ interface SendHTTPRequestActionRequest {
243
+ action_type: 'send_http_request';
244
+ /**
245
+ * An action that sends an HTTP request with a JSON payload. The following keys -
246
+ * Authorization, Api-Key, and Token - in URL query parameters and custom headers
247
+ * are masked due to their sensitive nature
248
+ */
249
+ payload: SendHTTPRequestActionRequest.Payload;
250
+ workflow_definition_id: string;
695
251
  }
696
- namespace CreateGcalEventSupergroupYearlyPayload {
697
- interface End {
698
- date: string;
699
- time: string;
700
- }
701
- interface Start {
702
- date: string;
703
- time: string;
252
+ namespace SendHTTPRequestActionRequest {
253
+ /**
254
+ * An action that sends an HTTP request with a JSON payload. The following keys -
255
+ * Authorization, Api-Key, and Token - in URL query parameters and custom headers
256
+ * are masked due to their sensitive nature
257
+ */
258
+ interface Payload {
259
+ url: string;
260
+ customHTTPHeaders?: {
261
+ [key: string]: string;
262
+ } | null;
263
+ expectedResponseSchema?: unknown | null;
264
+ /**
265
+ * HTTP method
266
+ */
267
+ method?: 'POST' | 'GET' | 'PUT' | 'PATCH' | 'DELETE' | null;
268
+ payload?: unknown | null;
269
+ queryParams?: {
270
+ [key: string]: string;
271
+ } | null;
704
272
  }
705
273
  }
706
- /**
707
- * An action that sends a teams message
708
- * <helpdocslink href='https://help.rippling.com/article?articleId=558988438231'>Help
709
- * docs</helpdocslink>
710
- */
711
- interface SendTeamsPublicChannelMessagePayload {
712
- action_type: 'PUBLIC_CHANNEL_MESSAGE';
713
- message: string;
274
+ interface DeleteCustomObjectRecordActionRequest {
275
+ action_type: 'delete_custom_object_record';
714
276
  /**
715
- * Functions Service run_id. When provided, the request returns 202 and completion
716
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
717
- * back to synchronous execution.
277
+ * An action that deletes a custom object record.
718
278
  */
719
- run_id?: string | null;
720
- team_id?: string | null;
279
+ payload: DeleteCustomObjectRecordActionRequest.Payload;
280
+ workflow_definition_id: string;
721
281
  }
722
- /**
723
- * An action that sends a teams message
724
- * <helpdocslink href='https://help.rippling.com/article?articleId=558988438231'>Help
725
- * docs</helpdocslink>
726
- */
727
- interface SendTeamsSingleDirectMessagePayload {
728
- action_type: 'SINGLE_DIRECT_MESSAGE';
729
- message: string;
730
- recipients?: Array<string> | null;
282
+ namespace DeleteCustomObjectRecordActionRequest {
731
283
  /**
732
- * Functions Service run_id. When provided, the request returns 202 and completion
733
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
734
- * back to synchronous execution.
284
+ * An action that deletes a custom object record.
735
285
  */
736
- run_id?: string | null;
286
+ interface Payload {
287
+ customObjectAPIName: string;
288
+ recordID: string;
289
+ }
737
290
  }
738
- /**
739
- * Select a cycle and reviewers for the employee that triggered the workflow
740
- * <helpdocslink href='https://help.rippling.com/article?articleId=3VFYAFaak1JPA70SmmvUiI'>Help
741
- * docs</helpdocslink>
742
- */
743
- interface AssignReviewReviewerRelativeToRevieweePayload {
744
- cycle_id: string;
745
- is_reviewer_relative_to_reviewee: 'REVIEWER_RELATIVE_TO_REVIEWEE';
746
- reviewees: Array<string>;
747
- /**
748
- * Maximum reviewees: 500
749
- */
750
- reviewers: Array<string>;
291
+ interface SendSurveyActionRequest {
292
+ action_type: 'send_survey';
751
293
  /**
752
- * Functions Service run_id. When provided, the request returns 202 and completion
753
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
754
- * back to synchronous execution.
294
+ * An action that sends a survey.
755
295
  */
756
- run_id?: string | null;
296
+ payload: SendSurveyActionRequest.Payload;
297
+ workflow_definition_id: string;
757
298
  }
758
- /**
759
- * Select a cycle and reviewers for the employee that triggered the workflow
760
- * <helpdocslink href='https://help.rippling.com/article?articleId=3VFYAFaak1JPA70SmmvUiI'>Help
761
- * docs</helpdocslink>
762
- */
763
- interface AssignReviewReviewerRelativeToTriggerPayload {
764
- cycle_id: string;
765
- is_reviewer_relative_to_reviewee: 'REVIEWER_RELATIVE_TO_TRIGGER';
766
- reviewees: Array<string>;
767
- /**
768
- * Maximum reviewees: 500
769
- */
770
- reviewers: Array<string>;
299
+ namespace SendSurveyActionRequest {
771
300
  /**
772
- * Functions Service run_id. When provided, the request returns 202 and completion
773
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
774
- * back to synchronous execution.
301
+ * An action that sends a survey.
775
302
  */
776
- run_id?: string | null;
303
+ interface Payload {
304
+ body: string;
305
+ recipients: string;
306
+ subject: string;
307
+ surveyID: string;
308
+ expiryDays?: number | string | null;
309
+ }
777
310
  }
778
- /**
779
- * Automatically generates a scheduled report and transfers it securely to a
780
- * specified SFTP server
781
- * <helpdocslink href='https://help.rippling.com/article?articleId=770718269869'>Help
782
- * docs</helpdocslink>
783
- */
784
- interface SendReportSftpPasswordExcelPayload {
785
- authentication_type: 'PASSWORD';
786
- /**
787
- * Specify the full path where the file should be stored on the remote server,
788
- * starting from the root directory. Example: /rippling-workflows
789
- */
790
- file_path: string;
791
- file_type: 'EXCEL';
792
- /**
793
- * sftp://username@[hostname]
794
- */
795
- host_name: string;
796
- /**
797
- * Not all report types are supported in workflows, like change and trend reports
798
- */
799
- report_id: string;
800
- /**
801
- * sftp://[username]@hostname
802
- */
803
- user_name: string;
804
- add_role_referenced_id_column?: boolean | null;
805
- /**
806
- * CSV quoting
807
- */
808
- csv_quoting?: 1 | 0 | 2 | 3 | null;
809
- /**
810
- * Currency field formatting
811
- */
812
- currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
813
- /**
814
- * Date & time formatting
815
- */
816
- date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
817
- /**
818
- * Files will be automatically named if the file name is empty
819
- */
820
- file_name?: string | null;
821
- /**
822
- * File name suffix
823
- */
824
- file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
825
- port?: number | null;
311
+ interface EvaluateRqlActionRequest {
312
+ action_type: 'evaluate_rql';
826
313
  /**
827
- * Functions Service run_id. When provided, the request returns 202 and completion
828
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
829
- * back to synchronous execution.
314
+ * Query and retrieve specific records from Rippling
830
315
  */
831
- run_id?: string | null;
832
- show_sub_totals?: boolean | null;
833
- /**
834
- * Time zones
835
- */
836
- time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
316
+ payload: EvaluateRqlActionRequest.EvaluateRqlSelectionPayload | EvaluateRqlActionRequest.EvaluateRqlQueryPayload;
317
+ workflow_definition_id: string;
837
318
  }
838
- /**
839
- * Automatically generates a scheduled report and transfers it securely to a
840
- * specified SFTP server
841
- * <helpdocslink href='https://help.rippling.com/article?articleId=770718269869'>Help
842
- * docs</helpdocslink>
843
- */
844
- interface SendReportSftpPasswordCsvPayload {
845
- authentication_type: 'PASSWORD';
319
+ namespace EvaluateRqlActionRequest {
846
320
  /**
847
- * Specify the full path where the file should be stored on the remote server,
848
- * starting from the root directory. Example: /rippling-workflows
321
+ * Query and retrieve specific records from Rippling
849
322
  */
850
- file_path: string;
851
- file_type: 'CSV';
852
- /**
853
- * sftp://username@[hostname]
854
- */
855
- host_name: string;
856
- /**
857
- * Not all report types are supported in workflows, like change and trend reports
858
- */
859
- report_id: string;
860
- /**
861
- * sftp://[username]@hostname
862
- */
863
- user_name: string;
864
- add_role_referenced_id_column?: boolean | null;
865
- /**
866
- * CSV quoting
867
- */
868
- csv_quoting?: 1 | 0 | 2 | 3 | null;
869
- /**
870
- * Custom separator
871
- */
872
- csv_separator?: ',' | ';' | '\t' | '|' | null;
873
- /**
874
- * Currency field formatting
875
- */
876
- currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
877
- /**
878
- * Date & time formatting
879
- */
880
- date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
881
- /**
882
- * Files will be automatically named if the file name is empty
883
- */
884
- file_name?: string | null;
885
- /**
886
- * File name suffix
887
- */
888
- file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
889
- port?: number | null;
890
- /**
891
- * Functions Service run_id. When provided, the request returns 202 and completion
892
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
893
- * back to synchronous execution.
894
- */
895
- run_id?: string | null;
896
- show_sub_totals?: boolean | null;
323
+ interface EvaluateRqlSelectionPayload {
324
+ queryType: 'SELECTION';
325
+ rqlModelName?: string | null;
326
+ }
897
327
  /**
898
- * Time zones
328
+ * Query and retrieve specific records from Rippling
899
329
  */
900
- time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
330
+ interface EvaluateRqlQueryPayload {
331
+ queryType: 'QUERY';
332
+ /**
333
+ * Data type
334
+ */
335
+ dataType?: 'STRING' | 'NUMBER' | 'BOOLEAN' | 'OBJECT_ID' | 'DATE' | 'DATETIME' | null;
336
+ isAList?: boolean | null;
337
+ rqlFormula?: EvaluateRqlQueryPayload.RqlFormula | null;
338
+ }
339
+ namespace EvaluateRqlQueryPayload {
340
+ interface RqlFormula {
341
+ rqlFormula?: string | null;
342
+ }
343
+ }
901
344
  }
902
- /**
903
- * Automatically generates a scheduled report and transfers it securely to a
904
- * specified SFTP server
905
- * <helpdocslink href='https://help.rippling.com/article?articleId=770718269869'>Help
906
- * docs</helpdocslink>
907
- */
908
- interface SendReportSftpSSHKeyExcelPayload {
909
- authentication_type: 'SSH_KEY';
910
- /**
911
- * Specify the full path where the file should be stored on the remote server,
912
- * starting from the root directory. Example: /rippling-workflows
913
- */
914
- file_path: string;
915
- file_type: 'EXCEL';
916
- /**
917
- * sftp://username@[hostname]
918
- */
919
- host_name: string;
920
- /**
921
- * Not all report types are supported in workflows, like change and trend reports
922
- */
923
- report_id: string;
924
- /**
925
- * sftp://[username]@hostname
926
- */
927
- user_name: string;
928
- add_role_referenced_id_column?: boolean | null;
345
+ interface UpsertCustomObjectActionRequest {
346
+ action_type: 'upsert_custom_object';
929
347
  /**
930
- * CSV quoting
348
+ * An action that creates a custom object record.
931
349
  */
932
- csv_quoting?: 1 | 0 | 2 | 3 | null;
933
- /**
934
- * Currency field formatting
935
- */
936
- currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
937
- /**
938
- * Date & time formatting
939
- */
940
- date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
941
- /**
942
- * Files will be automatically named if the file name is empty
943
- */
944
- file_name?: string | null;
945
- /**
946
- * File name suffix
947
- */
948
- file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
949
- port?: number | null;
950
- /**
951
- * Functions Service run_id. When provided, the request returns 202 and completion
952
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
953
- * back to synchronous execution.
954
- */
955
- run_id?: string | null;
956
- show_sub_totals?: boolean | null;
350
+ payload: UpsertCustomObjectActionRequest.Payload;
351
+ workflow_definition_id: string;
352
+ }
353
+ namespace UpsertCustomObjectActionRequest {
957
354
  /**
958
- * Time zones
355
+ * An action that creates a custom object record.
959
356
  */
960
- time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
357
+ interface Payload {
358
+ customObjectAPIName: string;
359
+ }
961
360
  }
962
- /**
963
- * Automatically generates a scheduled report and transfers it securely to a
964
- * specified SFTP server
965
- * <helpdocslink href='https://help.rippling.com/article?articleId=770718269869'>Help
966
- * docs</helpdocslink>
967
- */
968
- interface SendReportSftpSSHKeyCsvPayload {
969
- authentication_type: 'SSH_KEY';
361
+ interface UpdateCustomObjectRecordActionRequest {
362
+ action_type: 'update_custom_object_record';
970
363
  /**
971
- * Specify the full path where the file should be stored on the remote server,
972
- * starting from the root directory. Example: /rippling-workflows
364
+ * An action that updates a custom object record.
973
365
  */
974
- file_path: string;
975
- file_type: 'CSV';
366
+ payload: UpdateCustomObjectRecordActionRequest.Payload;
367
+ workflow_definition_id: string;
368
+ }
369
+ namespace UpdateCustomObjectRecordActionRequest {
976
370
  /**
977
- * sftp://username@[hostname]
371
+ * An action that updates a custom object record.
978
372
  */
979
- host_name: string;
373
+ interface Payload {
374
+ customObjectAPIName: string;
375
+ }
376
+ }
377
+ interface CreateGcalEventActionRequest {
378
+ action_type: 'create_gcal_event';
980
379
  /**
981
- * Not all report types are supported in workflows, like change and trend reports
380
+ * This action will create a Google Calendar event with the specified organizer and
381
+ * attendees
982
382
  */
983
- report_id: string;
383
+ payload: CreateGcalEventActionRequest.CreateGcalEventWorkflowOwnerNullPayload | CreateGcalEventActionRequest.CreateGcalEventWorkflowOwnerDailyPayload | CreateGcalEventActionRequest.CreateGcalEventWorkflowOwnerWeeklyPayload | CreateGcalEventActionRequest.CreateGcalEventWorkflowOwnerMonthlyPayload | CreateGcalEventActionRequest.CreateGcalEventWorkflowOwnerYearlyPayload | CreateGcalEventActionRequest.CreateGcalEventSupergroupNullPayload | CreateGcalEventActionRequest.CreateGcalEventSupergroupDailyPayload | CreateGcalEventActionRequest.CreateGcalEventSupergroupWeeklyPayload | CreateGcalEventActionRequest.CreateGcalEventSupergroupMonthlyPayload | CreateGcalEventActionRequest.CreateGcalEventSupergroupYearlyPayload;
384
+ workflow_definition_id: string;
385
+ }
386
+ namespace CreateGcalEventActionRequest {
387
+ /**
388
+ * This action will create a Google Calendar event with the specified organizer and
389
+ * attendees
390
+ */
391
+ interface CreateGcalEventWorkflowOwnerNullPayload {
392
+ attendees: string;
393
+ description: string;
394
+ end: CreateGcalEventWorkflowOwnerNullPayload.End;
395
+ organizer_type: 'WORKFLOW_OWNER';
396
+ recurrence_frequency: 'null';
397
+ spoke_owner: string;
398
+ start: CreateGcalEventWorkflowOwnerNullPayload.Start;
399
+ timezone: string;
400
+ title: string;
401
+ all_day_event?: boolean | null;
402
+ guestsCanInviteOthers?: boolean | null;
403
+ guestsCanModify?: boolean | null;
404
+ guestsCanSeeOtherGuests?: boolean | null;
405
+ /**
406
+ * Show me as
407
+ */
408
+ transparency?: 'opaque' | 'transparent' | null;
409
+ /**
410
+ * Calendar Visibility
411
+ */
412
+ visibility?: 'default' | 'public' | 'private' | null;
413
+ }
414
+ namespace CreateGcalEventWorkflowOwnerNullPayload {
415
+ interface End {
416
+ date: string;
417
+ time: string;
418
+ }
419
+ interface Start {
420
+ date: string;
421
+ time: string;
422
+ }
423
+ }
984
424
  /**
985
- * sftp://[username]@hostname
986
- */
987
- user_name: string;
988
- add_role_referenced_id_column?: boolean | null;
425
+ * This action will create a Google Calendar event with the specified organizer and
426
+ * attendees
427
+ */
428
+ interface CreateGcalEventWorkflowOwnerDailyPayload {
429
+ attendees: string;
430
+ description: string;
431
+ end: CreateGcalEventWorkflowOwnerDailyPayload.End;
432
+ organizer_type: 'WORKFLOW_OWNER';
433
+ recurrence_frequency: 'DAILY';
434
+ spoke_owner: string;
435
+ start: CreateGcalEventWorkflowOwnerDailyPayload.Start;
436
+ timezone: string;
437
+ title: string;
438
+ all_day_event?: boolean | null;
439
+ guestsCanInviteOthers?: boolean | null;
440
+ guestsCanModify?: boolean | null;
441
+ guestsCanSeeOtherGuests?: boolean | null;
442
+ recurrence_has_end?: boolean | null;
443
+ /**
444
+ * Show me as
445
+ */
446
+ transparency?: 'opaque' | 'transparent' | null;
447
+ /**
448
+ * Calendar Visibility
449
+ */
450
+ visibility?: 'default' | 'public' | 'private' | null;
451
+ }
452
+ namespace CreateGcalEventWorkflowOwnerDailyPayload {
453
+ interface End {
454
+ date: string;
455
+ time: string;
456
+ }
457
+ interface Start {
458
+ date: string;
459
+ time: string;
460
+ }
461
+ }
989
462
  /**
990
- * CSV quoting
991
- */
992
- csv_quoting?: 1 | 0 | 2 | 3 | null;
463
+ * This action will create a Google Calendar event with the specified organizer and
464
+ * attendees
465
+ */
466
+ interface CreateGcalEventWorkflowOwnerWeeklyPayload {
467
+ attendees: string;
468
+ description: string;
469
+ end: CreateGcalEventWorkflowOwnerWeeklyPayload.End;
470
+ organizer_type: 'WORKFLOW_OWNER';
471
+ recurrence_frequency: 'WEEKLY';
472
+ spoke_owner: string;
473
+ start: CreateGcalEventWorkflowOwnerWeeklyPayload.Start;
474
+ timezone: string;
475
+ title: string;
476
+ all_day_event?: boolean | null;
477
+ guestsCanInviteOthers?: boolean | null;
478
+ guestsCanModify?: boolean | null;
479
+ guestsCanSeeOtherGuests?: boolean | null;
480
+ recurrence_has_end?: boolean | null;
481
+ /**
482
+ * Show me as
483
+ */
484
+ transparency?: 'opaque' | 'transparent' | null;
485
+ /**
486
+ * Calendar Visibility
487
+ */
488
+ visibility?: 'default' | 'public' | 'private' | null;
489
+ }
490
+ namespace CreateGcalEventWorkflowOwnerWeeklyPayload {
491
+ interface End {
492
+ date: string;
493
+ time: string;
494
+ }
495
+ interface Start {
496
+ date: string;
497
+ time: string;
498
+ }
499
+ }
993
500
  /**
994
- * Custom separator
995
- */
996
- csv_separator?: ',' | ';' | '\t' | '|' | null;
501
+ * This action will create a Google Calendar event with the specified organizer and
502
+ * attendees
503
+ */
504
+ interface CreateGcalEventWorkflowOwnerMonthlyPayload {
505
+ attendees: string;
506
+ description: string;
507
+ end: CreateGcalEventWorkflowOwnerMonthlyPayload.End;
508
+ organizer_type: 'WORKFLOW_OWNER';
509
+ recurrence_frequency: 'MONTHLY';
510
+ spoke_owner: string;
511
+ start: CreateGcalEventWorkflowOwnerMonthlyPayload.Start;
512
+ timezone: string;
513
+ title: string;
514
+ all_day_event?: boolean | null;
515
+ guestsCanInviteOthers?: boolean | null;
516
+ guestsCanModify?: boolean | null;
517
+ guestsCanSeeOtherGuests?: boolean | null;
518
+ recurrence_has_end?: boolean | null;
519
+ /**
520
+ * Show me as
521
+ */
522
+ transparency?: 'opaque' | 'transparent' | null;
523
+ /**
524
+ * Calendar Visibility
525
+ */
526
+ visibility?: 'default' | 'public' | 'private' | null;
527
+ }
528
+ namespace CreateGcalEventWorkflowOwnerMonthlyPayload {
529
+ interface End {
530
+ date: string;
531
+ time: string;
532
+ }
533
+ interface Start {
534
+ date: string;
535
+ time: string;
536
+ }
537
+ }
997
538
  /**
998
- * Currency field formatting
999
- */
1000
- currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
539
+ * This action will create a Google Calendar event with the specified organizer and
540
+ * attendees
541
+ */
542
+ interface CreateGcalEventWorkflowOwnerYearlyPayload {
543
+ attendees: string;
544
+ description: string;
545
+ end: CreateGcalEventWorkflowOwnerYearlyPayload.End;
546
+ organizer_type: 'WORKFLOW_OWNER';
547
+ recurrence_frequency: 'YEARLY';
548
+ spoke_owner: string;
549
+ start: CreateGcalEventWorkflowOwnerYearlyPayload.Start;
550
+ timezone: string;
551
+ title: string;
552
+ all_day_event?: boolean | null;
553
+ guestsCanInviteOthers?: boolean | null;
554
+ guestsCanModify?: boolean | null;
555
+ guestsCanSeeOtherGuests?: boolean | null;
556
+ recurrence_has_end?: boolean | null;
557
+ /**
558
+ * Show me as
559
+ */
560
+ transparency?: 'opaque' | 'transparent' | null;
561
+ /**
562
+ * Calendar Visibility
563
+ */
564
+ visibility?: 'default' | 'public' | 'private' | null;
565
+ }
566
+ namespace CreateGcalEventWorkflowOwnerYearlyPayload {
567
+ interface End {
568
+ date: string;
569
+ time: string;
570
+ }
571
+ interface Start {
572
+ date: string;
573
+ time: string;
574
+ }
575
+ }
1001
576
  /**
1002
- * Date & time formatting
1003
- */
1004
- date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
577
+ * This action will create a Google Calendar event with the specified organizer and
578
+ * attendees
579
+ */
580
+ interface CreateGcalEventSupergroupNullPayload {
581
+ attendees: string;
582
+ description: string;
583
+ end: CreateGcalEventSupergroupNullPayload.End;
584
+ organizer: string;
585
+ organizer_type: 'SUPERGROUP';
586
+ recurrence_frequency: 'null';
587
+ spoke_owner: string;
588
+ start: CreateGcalEventSupergroupNullPayload.Start;
589
+ timezone: string;
590
+ title: string;
591
+ all_day_event?: boolean | null;
592
+ guestsCanInviteOthers?: boolean | null;
593
+ guestsCanModify?: boolean | null;
594
+ guestsCanSeeOtherGuests?: boolean | null;
595
+ /**
596
+ * Show me as
597
+ */
598
+ transparency?: 'opaque' | 'transparent' | null;
599
+ /**
600
+ * Calendar Visibility
601
+ */
602
+ visibility?: 'default' | 'public' | 'private' | null;
603
+ }
604
+ namespace CreateGcalEventSupergroupNullPayload {
605
+ interface End {
606
+ date: string;
607
+ time: string;
608
+ }
609
+ interface Start {
610
+ date: string;
611
+ time: string;
612
+ }
613
+ }
1005
614
  /**
1006
- * Files will be automatically named if the file name is empty
1007
- */
1008
- file_name?: string | null;
615
+ * This action will create a Google Calendar event with the specified organizer and
616
+ * attendees
617
+ */
618
+ interface CreateGcalEventSupergroupDailyPayload {
619
+ attendees: string;
620
+ description: string;
621
+ end: CreateGcalEventSupergroupDailyPayload.End;
622
+ organizer: string;
623
+ organizer_type: 'SUPERGROUP';
624
+ recurrence_frequency: 'DAILY';
625
+ spoke_owner: string;
626
+ start: CreateGcalEventSupergroupDailyPayload.Start;
627
+ timezone: string;
628
+ title: string;
629
+ all_day_event?: boolean | null;
630
+ guestsCanInviteOthers?: boolean | null;
631
+ guestsCanModify?: boolean | null;
632
+ guestsCanSeeOtherGuests?: boolean | null;
633
+ recurrence_has_end?: boolean | null;
634
+ /**
635
+ * Show me as
636
+ */
637
+ transparency?: 'opaque' | 'transparent' | null;
638
+ /**
639
+ * Calendar Visibility
640
+ */
641
+ visibility?: 'default' | 'public' | 'private' | null;
642
+ }
643
+ namespace CreateGcalEventSupergroupDailyPayload {
644
+ interface End {
645
+ date: string;
646
+ time: string;
647
+ }
648
+ interface Start {
649
+ date: string;
650
+ time: string;
651
+ }
652
+ }
1009
653
  /**
1010
- * File name suffix
1011
- */
1012
- file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
1013
- port?: number | null;
654
+ * This action will create a Google Calendar event with the specified organizer and
655
+ * attendees
656
+ */
657
+ interface CreateGcalEventSupergroupWeeklyPayload {
658
+ attendees: string;
659
+ description: string;
660
+ end: CreateGcalEventSupergroupWeeklyPayload.End;
661
+ organizer: string;
662
+ organizer_type: 'SUPERGROUP';
663
+ recurrence_frequency: 'WEEKLY';
664
+ spoke_owner: string;
665
+ start: CreateGcalEventSupergroupWeeklyPayload.Start;
666
+ timezone: string;
667
+ title: string;
668
+ all_day_event?: boolean | null;
669
+ guestsCanInviteOthers?: boolean | null;
670
+ guestsCanModify?: boolean | null;
671
+ guestsCanSeeOtherGuests?: boolean | null;
672
+ recurrence_has_end?: boolean | null;
673
+ /**
674
+ * Show me as
675
+ */
676
+ transparency?: 'opaque' | 'transparent' | null;
677
+ /**
678
+ * Calendar Visibility
679
+ */
680
+ visibility?: 'default' | 'public' | 'private' | null;
681
+ }
682
+ namespace CreateGcalEventSupergroupWeeklyPayload {
683
+ interface End {
684
+ date: string;
685
+ time: string;
686
+ }
687
+ interface Start {
688
+ date: string;
689
+ time: string;
690
+ }
691
+ }
1014
692
  /**
1015
- * Functions Service run_id. When provided, the request returns 202 and completion
1016
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
1017
- * back to synchronous execution.
1018
- */
1019
- run_id?: string | null;
1020
- show_sub_totals?: boolean | null;
693
+ * This action will create a Google Calendar event with the specified organizer and
694
+ * attendees
695
+ */
696
+ interface CreateGcalEventSupergroupMonthlyPayload {
697
+ attendees: string;
698
+ description: string;
699
+ end: CreateGcalEventSupergroupMonthlyPayload.End;
700
+ organizer: string;
701
+ organizer_type: 'SUPERGROUP';
702
+ recurrence_frequency: 'MONTHLY';
703
+ spoke_owner: string;
704
+ start: CreateGcalEventSupergroupMonthlyPayload.Start;
705
+ timezone: string;
706
+ title: string;
707
+ all_day_event?: boolean | null;
708
+ guestsCanInviteOthers?: boolean | null;
709
+ guestsCanModify?: boolean | null;
710
+ guestsCanSeeOtherGuests?: boolean | null;
711
+ recurrence_has_end?: boolean | null;
712
+ /**
713
+ * Show me as
714
+ */
715
+ transparency?: 'opaque' | 'transparent' | null;
716
+ /**
717
+ * Calendar Visibility
718
+ */
719
+ visibility?: 'default' | 'public' | 'private' | null;
720
+ }
721
+ namespace CreateGcalEventSupergroupMonthlyPayload {
722
+ interface End {
723
+ date: string;
724
+ time: string;
725
+ }
726
+ interface Start {
727
+ date: string;
728
+ time: string;
729
+ }
730
+ }
1021
731
  /**
1022
- * Time zones
1023
- */
1024
- time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
732
+ * This action will create a Google Calendar event with the specified organizer and
733
+ * attendees
734
+ */
735
+ interface CreateGcalEventSupergroupYearlyPayload {
736
+ attendees: string;
737
+ description: string;
738
+ end: CreateGcalEventSupergroupYearlyPayload.End;
739
+ organizer: string;
740
+ organizer_type: 'SUPERGROUP';
741
+ recurrence_frequency: 'YEARLY';
742
+ spoke_owner: string;
743
+ start: CreateGcalEventSupergroupYearlyPayload.Start;
744
+ timezone: string;
745
+ title: string;
746
+ all_day_event?: boolean | null;
747
+ guestsCanInviteOthers?: boolean | null;
748
+ guestsCanModify?: boolean | null;
749
+ guestsCanSeeOtherGuests?: boolean | null;
750
+ recurrence_has_end?: boolean | null;
751
+ /**
752
+ * Show me as
753
+ */
754
+ transparency?: 'opaque' | 'transparent' | null;
755
+ /**
756
+ * Calendar Visibility
757
+ */
758
+ visibility?: 'default' | 'public' | 'private' | null;
759
+ }
760
+ namespace CreateGcalEventSupergroupYearlyPayload {
761
+ interface End {
762
+ date: string;
763
+ time: string;
764
+ }
765
+ interface Start {
766
+ date: string;
767
+ time: string;
768
+ }
769
+ }
1025
770
  }
1026
- /**
1027
- * Automatically enroll people into a course
1028
- */
1029
- interface EnrollIntoCourse1WeekPayload {
771
+ interface SendTeamsActionRequest {
772
+ action_type: 'send_teams';
1030
773
  /**
1031
- * Select a course to enroll people in
774
+ * An action that sends a teams message
1032
775
  */
1033
- course_id: string;
1034
- due_date: '1_week';
1035
- /**
1036
- * Select people to enroll in this course
1037
- */
1038
- role_ids: Array<string>;
1039
- /**
1040
- * Skip enrollment if the employee already has a valid certificate for this course
1041
- */
1042
- skip_if_certified?: boolean | null;
776
+ payload: SendTeamsActionRequest.SendTeamsPublicChannelMessagePayload | SendTeamsActionRequest.SendTeamsSingleDirectMessagePayload;
777
+ workflow_definition_id: string;
1043
778
  }
1044
- /**
1045
- * Automatically enroll people into a course
1046
- */
1047
- interface EnrollIntoCourse2WeeksPayload {
1048
- /**
1049
- * Select a course to enroll people in
1050
- */
1051
- course_id: string;
1052
- due_date: '2_weeks';
1053
- /**
1054
- * Select people to enroll in this course
1055
- */
1056
- role_ids: Array<string>;
779
+ namespace SendTeamsActionRequest {
780
+ /**
781
+ * An action that sends a teams message
782
+ */
783
+ interface SendTeamsPublicChannelMessagePayload {
784
+ action_type: 'PUBLIC_CHANNEL_MESSAGE';
785
+ message: string;
786
+ /**
787
+ * Functions Service run_id. When provided, the request returns 202 and completion
788
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
789
+ * back to synchronous execution.
790
+ */
791
+ run_id?: string | null;
792
+ team_id?: string | null;
793
+ }
1057
794
  /**
1058
- * Skip enrollment if the employee already has a valid certificate for this course
1059
- */
1060
- skip_if_certified?: boolean | null;
795
+ * An action that sends a teams message
796
+ */
797
+ interface SendTeamsSingleDirectMessagePayload {
798
+ action_type: 'SINGLE_DIRECT_MESSAGE';
799
+ message: string;
800
+ recipients?: string | null;
801
+ /**
802
+ * Functions Service run_id. When provided, the request returns 202 and completion
803
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
804
+ * back to synchronous execution.
805
+ */
806
+ run_id?: string | null;
807
+ }
1061
808
  }
1062
- /**
1063
- * Automatically enroll people into a course
1064
- */
1065
- interface EnrollIntoCourse1MonthPayload {
1066
- /**
1067
- * Select a course to enroll people in
1068
- */
1069
- course_id: string;
1070
- due_date: '1_month';
1071
- /**
1072
- * Select people to enroll in this course
1073
- */
1074
- role_ids: Array<string>;
809
+ interface AssignReviewActionRequest {
810
+ action_type: 'assign_review';
1075
811
  /**
1076
- * Skip enrollment if the employee already has a valid certificate for this course
812
+ * Select a cycle and reviewers for the employee that triggered the workflow
1077
813
  */
1078
- skip_if_certified?: boolean | null;
814
+ payload: AssignReviewActionRequest.AssignReviewReviewerRelativeToRevieweePayload | AssignReviewActionRequest.AssignReviewReviewerRelativeToTriggerPayload;
815
+ workflow_definition_id: string;
1079
816
  }
1080
- /**
1081
- * Automatically enroll people into a course
1082
- */
1083
- interface EnrollIntoCourse3MonthsPayload {
1084
- /**
1085
- * Select a course to enroll people in
1086
- */
1087
- course_id: string;
1088
- due_date: '3_months';
1089
- /**
1090
- * Select people to enroll in this course
1091
- */
1092
- role_ids: Array<string>;
817
+ namespace AssignReviewActionRequest {
818
+ /**
819
+ * Select a cycle and reviewers for the employee that triggered the workflow
820
+ */
821
+ interface AssignReviewReviewerRelativeToRevieweePayload {
822
+ cycle_id: string;
823
+ is_reviewer_relative_to_reviewee: 'REVIEWER_RELATIVE_TO_REVIEWEE';
824
+ reviewees: string;
825
+ /**
826
+ * Maximum reviewees: 500
827
+ */
828
+ reviewers: string;
829
+ /**
830
+ * Functions Service run_id. When provided, the request returns 202 and completion
831
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
832
+ * back to synchronous execution.
833
+ */
834
+ run_id?: string | null;
835
+ }
1093
836
  /**
1094
- * Skip enrollment if the employee already has a valid certificate for this course
1095
- */
1096
- skip_if_certified?: boolean | null;
837
+ * Select a cycle and reviewers for the employee that triggered the workflow
838
+ */
839
+ interface AssignReviewReviewerRelativeToTriggerPayload {
840
+ cycle_id: string;
841
+ is_reviewer_relative_to_reviewee: 'REVIEWER_RELATIVE_TO_TRIGGER';
842
+ reviewees: string;
843
+ /**
844
+ * Maximum reviewees: 500
845
+ */
846
+ reviewers: string;
847
+ /**
848
+ * Functions Service run_id. When provided, the request returns 202 and completion
849
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
850
+ * back to synchronous execution.
851
+ */
852
+ run_id?: string | null;
853
+ }
1097
854
  }
1098
- /**
1099
- * Automatically enroll people into a course
1100
- */
1101
- interface EnrollIntoCourse6MonthsPayload {
1102
- /**
1103
- * Select a course to enroll people in
1104
- */
1105
- course_id: string;
1106
- due_date: '6_months';
855
+ interface SendReportSftpActionRequest {
856
+ action_type: 'send_report_sftp';
1107
857
  /**
1108
- * Select people to enroll in this course
858
+ * Automatically generates a scheduled report and transfers it securely to a
859
+ * specified SFTP server
1109
860
  */
1110
- role_ids: Array<string>;
1111
- /**
1112
- * Skip enrollment if the employee already has a valid certificate for this course
1113
- */
1114
- skip_if_certified?: boolean | null;
861
+ payload: SendReportSftpActionRequest.SendReportSftpPasswordExcelPayload | SendReportSftpActionRequest.SendReportSftpPasswordCsvPayload | SendReportSftpActionRequest.SendReportSftpSSHKeyExcelPayload | SendReportSftpActionRequest.SendReportSftpSSHKeyCsvPayload;
862
+ workflow_definition_id: string;
1115
863
  }
1116
- /**
1117
- * Automatically enroll people into a course
1118
- */
1119
- interface EnrollIntoCourse12MonthsPayload {
864
+ namespace SendReportSftpActionRequest {
865
+ /**
866
+ * Automatically generates a scheduled report and transfers it securely to a
867
+ * specified SFTP server
868
+ */
869
+ interface SendReportSftpPasswordExcelPayload {
870
+ authentication_type: 'PASSWORD';
871
+ /**
872
+ * Specify the full path where the file should be stored on the remote server,
873
+ * starting from the root directory. Example: /rippling-workflows
874
+ */
875
+ file_path: string;
876
+ file_type: 'EXCEL';
877
+ /**
878
+ * sftp://username@[hostname]
879
+ */
880
+ host_name: string;
881
+ /**
882
+ * Not all report types are supported in workflows, like change and trend reports
883
+ */
884
+ report_id: string;
885
+ /**
886
+ * sftp://[username]@hostname
887
+ */
888
+ user_name: string;
889
+ add_role_referenced_id_column?: boolean | null;
890
+ /**
891
+ * CSV quoting
892
+ */
893
+ csv_quoting?: 1 | 0 | 2 | 3 | null;
894
+ /**
895
+ * Currency field formatting
896
+ */
897
+ currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
898
+ /**
899
+ * Date & time formatting
900
+ */
901
+ date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
902
+ /**
903
+ * Files will be automatically named if the file name is empty
904
+ */
905
+ file_name?: string | null;
906
+ /**
907
+ * File name suffix
908
+ */
909
+ file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
910
+ port?: number | null;
911
+ /**
912
+ * Functions Service run_id. When provided, the request returns 202 and completion
913
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
914
+ * back to synchronous execution.
915
+ */
916
+ run_id?: string | null;
917
+ show_sub_totals?: boolean | null;
918
+ /**
919
+ * Time zones
920
+ */
921
+ time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
922
+ }
1120
923
  /**
1121
- * Select a course to enroll people in
1122
- */
1123
- course_id: string;
1124
- due_date: '12_months';
924
+ * Automatically generates a scheduled report and transfers it securely to a
925
+ * specified SFTP server
926
+ */
927
+ interface SendReportSftpPasswordCsvPayload {
928
+ authentication_type: 'PASSWORD';
929
+ /**
930
+ * Specify the full path where the file should be stored on the remote server,
931
+ * starting from the root directory. Example: /rippling-workflows
932
+ */
933
+ file_path: string;
934
+ file_type: 'CSV';
935
+ /**
936
+ * sftp://username@[hostname]
937
+ */
938
+ host_name: string;
939
+ /**
940
+ * Not all report types are supported in workflows, like change and trend reports
941
+ */
942
+ report_id: string;
943
+ /**
944
+ * sftp://[username]@hostname
945
+ */
946
+ user_name: string;
947
+ add_role_referenced_id_column?: boolean | null;
948
+ /**
949
+ * CSV quoting
950
+ */
951
+ csv_quoting?: 1 | 0 | 2 | 3 | null;
952
+ /**
953
+ * Custom separator
954
+ */
955
+ csv_separator?: ',' | ';' | '\t' | '|' | null;
956
+ /**
957
+ * Currency field formatting
958
+ */
959
+ currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
960
+ /**
961
+ * Date & time formatting
962
+ */
963
+ date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
964
+ /**
965
+ * Files will be automatically named if the file name is empty
966
+ */
967
+ file_name?: string | null;
968
+ /**
969
+ * File name suffix
970
+ */
971
+ file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
972
+ port?: number | null;
973
+ /**
974
+ * Functions Service run_id. When provided, the request returns 202 and completion
975
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
976
+ * back to synchronous execution.
977
+ */
978
+ run_id?: string | null;
979
+ show_sub_totals?: boolean | null;
980
+ /**
981
+ * Time zones
982
+ */
983
+ time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
984
+ }
1125
985
  /**
1126
- * Select people to enroll in this course
1127
- */
1128
- role_ids: Array<string>;
986
+ * Automatically generates a scheduled report and transfers it securely to a
987
+ * specified SFTP server
988
+ */
989
+ interface SendReportSftpSSHKeyExcelPayload {
990
+ authentication_type: 'SSH_KEY';
991
+ /**
992
+ * Specify the full path where the file should be stored on the remote server,
993
+ * starting from the root directory. Example: /rippling-workflows
994
+ */
995
+ file_path: string;
996
+ file_type: 'EXCEL';
997
+ /**
998
+ * sftp://username@[hostname]
999
+ */
1000
+ host_name: string;
1001
+ /**
1002
+ * Not all report types are supported in workflows, like change and trend reports
1003
+ */
1004
+ report_id: string;
1005
+ /**
1006
+ * sftp://[username]@hostname
1007
+ */
1008
+ user_name: string;
1009
+ add_role_referenced_id_column?: boolean | null;
1010
+ /**
1011
+ * CSV quoting
1012
+ */
1013
+ csv_quoting?: 1 | 0 | 2 | 3 | null;
1014
+ /**
1015
+ * Currency field formatting
1016
+ */
1017
+ currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
1018
+ /**
1019
+ * Date & time formatting
1020
+ */
1021
+ date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
1022
+ /**
1023
+ * Files will be automatically named if the file name is empty
1024
+ */
1025
+ file_name?: string | null;
1026
+ /**
1027
+ * File name suffix
1028
+ */
1029
+ file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
1030
+ port?: number | null;
1031
+ /**
1032
+ * Functions Service run_id. When provided, the request returns 202 and completion
1033
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1034
+ * back to synchronous execution.
1035
+ */
1036
+ run_id?: string | null;
1037
+ show_sub_totals?: boolean | null;
1038
+ /**
1039
+ * Time zones
1040
+ */
1041
+ time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
1042
+ }
1129
1043
  /**
1130
- * Skip enrollment if the employee already has a valid certificate for this course
1131
- */
1132
- skip_if_certified?: boolean | null;
1044
+ * Automatically generates a scheduled report and transfers it securely to a
1045
+ * specified SFTP server
1046
+ */
1047
+ interface SendReportSftpSSHKeyCsvPayload {
1048
+ authentication_type: 'SSH_KEY';
1049
+ /**
1050
+ * Specify the full path where the file should be stored on the remote server,
1051
+ * starting from the root directory. Example: /rippling-workflows
1052
+ */
1053
+ file_path: string;
1054
+ file_type: 'CSV';
1055
+ /**
1056
+ * sftp://username@[hostname]
1057
+ */
1058
+ host_name: string;
1059
+ /**
1060
+ * Not all report types are supported in workflows, like change and trend reports
1061
+ */
1062
+ report_id: string;
1063
+ /**
1064
+ * sftp://[username]@hostname
1065
+ */
1066
+ user_name: string;
1067
+ add_role_referenced_id_column?: boolean | null;
1068
+ /**
1069
+ * CSV quoting
1070
+ */
1071
+ csv_quoting?: 1 | 0 | 2 | 3 | null;
1072
+ /**
1073
+ * Custom separator
1074
+ */
1075
+ csv_separator?: ',' | ';' | '\t' | '|' | null;
1076
+ /**
1077
+ * Currency field formatting
1078
+ */
1079
+ currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
1080
+ /**
1081
+ * Date & time formatting
1082
+ */
1083
+ date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
1084
+ /**
1085
+ * Files will be automatically named if the file name is empty
1086
+ */
1087
+ file_name?: string | null;
1088
+ /**
1089
+ * File name suffix
1090
+ */
1091
+ file_suffix?: 'DEFAULT_FORMAT' | 'EPOCH_FORMAT' | 'NO_SUFFIX' | null;
1092
+ port?: number | null;
1093
+ /**
1094
+ * Functions Service run_id. When provided, the request returns 202 and completion
1095
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1096
+ * back to synchronous execution.
1097
+ */
1098
+ run_id?: string | null;
1099
+ show_sub_totals?: boolean | null;
1100
+ /**
1101
+ * Time zones
1102
+ */
1103
+ time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
1104
+ }
1133
1105
  }
1134
- /**
1135
- * Automatically enroll people into a course
1136
- */
1137
- interface EnrollIntoCourseCustomPayload {
1138
- /**
1139
- * Select a course to enroll people in
1140
- */
1141
- course_id: string;
1142
- due_date: 'custom';
1143
- /**
1144
- * Select people to enroll in this course
1145
- */
1146
- role_ids: Array<string>;
1147
- /**
1148
- * Time unit
1149
- */
1150
- custom_due_duration?: 'day' | 'week' | 'month' | 'year' | null;
1106
+ interface EnrollIntoCourseActionRequest {
1107
+ action_type: 'enroll_into_course';
1151
1108
  /**
1152
- * Number of days/weeks/months/years
1109
+ * Automatically enroll people into a course
1153
1110
  */
1154
- custom_due_value?: number | null;
1155
- /**
1156
- * Skip enrollment if the employee already has a valid certificate for this course
1157
- */
1158
- skip_if_certified?: boolean | null;
1111
+ payload: EnrollIntoCourseActionRequest.EnrollIntoCourse1WeekPayload | EnrollIntoCourseActionRequest.EnrollIntoCourse2WeeksPayload | EnrollIntoCourseActionRequest.EnrollIntoCourse1MonthPayload | EnrollIntoCourseActionRequest.EnrollIntoCourse3MonthsPayload | EnrollIntoCourseActionRequest.EnrollIntoCourse6MonthsPayload | EnrollIntoCourseActionRequest.EnrollIntoCourse12MonthsPayload | EnrollIntoCourseActionRequest.EnrollIntoCourseCustomPayload;
1112
+ workflow_definition_id: string;
1159
1113
  }
1160
- /**
1161
- * Automatically enroll people into a learning path
1162
- */
1163
- interface EnrollIntoLearningPathPayload {
1164
- /**
1165
- * Select a learning path to enroll people in
1166
- */
1167
- learning_path_id: string;
1168
- /**
1169
- * Select people to enroll in this learning path
1170
- */
1171
- role_ids: Array<string>;
1172
- /**
1173
- * Time unit
1174
- */
1175
- custom_due_unit?: 'day' | 'week' | 'month' | 'year' | null;
1114
+ namespace EnrollIntoCourseActionRequest {
1115
+ /**
1116
+ * Automatically enroll people into a course
1117
+ */
1118
+ interface EnrollIntoCourse1WeekPayload {
1119
+ /**
1120
+ * Select a course to enroll people in
1121
+ */
1122
+ course_id: string;
1123
+ due_date: '1_week';
1124
+ /**
1125
+ * Select people to enroll in this course
1126
+ */
1127
+ role_ids: string;
1128
+ /**
1129
+ * Skip enrollment if the employee already has a valid certificate for this course
1130
+ */
1131
+ skip_if_certified?: boolean | null;
1132
+ }
1176
1133
  /**
1177
- * Number of days/weeks/months/years
1178
- */
1179
- custom_due_value?: number | null;
1134
+ * Automatically enroll people into a course
1135
+ */
1136
+ interface EnrollIntoCourse2WeeksPayload {
1137
+ /**
1138
+ * Select a course to enroll people in
1139
+ */
1140
+ course_id: string;
1141
+ due_date: '2_weeks';
1142
+ /**
1143
+ * Select people to enroll in this course
1144
+ */
1145
+ role_ids: string;
1146
+ /**
1147
+ * Skip enrollment if the employee already has a valid certificate for this course
1148
+ */
1149
+ skip_if_certified?: boolean | null;
1150
+ }
1180
1151
  /**
1181
- * Number of days after completing one course before the next is due
1182
- */
1183
- days_between_courses?: number | null;
1152
+ * Automatically enroll people into a course
1153
+ */
1154
+ interface EnrollIntoCourse1MonthPayload {
1155
+ /**
1156
+ * Select a course to enroll people in
1157
+ */
1158
+ course_id: string;
1159
+ due_date: '1_month';
1160
+ /**
1161
+ * Select people to enroll in this course
1162
+ */
1163
+ role_ids: string;
1164
+ /**
1165
+ * Skip enrollment if the employee already has a valid certificate for this course
1166
+ */
1167
+ skip_if_certified?: boolean | null;
1168
+ }
1184
1169
  /**
1185
- * Due date type
1186
- */
1187
- due_date_type?: 'global' | 'relative' | null;
1170
+ * Automatically enroll people into a course
1171
+ */
1172
+ interface EnrollIntoCourse3MonthsPayload {
1173
+ /**
1174
+ * Select a course to enroll people in
1175
+ */
1176
+ course_id: string;
1177
+ due_date: '3_months';
1178
+ /**
1179
+ * Select people to enroll in this course
1180
+ */
1181
+ role_ids: string;
1182
+ /**
1183
+ * Skip enrollment if the employee already has a valid certificate for this course
1184
+ */
1185
+ skip_if_certified?: boolean | null;
1186
+ }
1188
1187
  /**
1189
- * Due in
1190
- */
1191
- due_in?: '1_week' | '2_weeks' | '1_month' | '3_months' | '6_months' | '12_months' | 'custom' | null;
1188
+ * Automatically enroll people into a course
1189
+ */
1190
+ interface EnrollIntoCourse6MonthsPayload {
1191
+ /**
1192
+ * Select a course to enroll people in
1193
+ */
1194
+ course_id: string;
1195
+ due_date: '6_months';
1196
+ /**
1197
+ * Select people to enroll in this course
1198
+ */
1199
+ role_ids: string;
1200
+ /**
1201
+ * Skip enrollment if the employee already has a valid certificate for this course
1202
+ */
1203
+ skip_if_certified?: boolean | null;
1204
+ }
1192
1205
  /**
1193
- * Give credit for courses the employee has already completed
1194
- */
1195
- induct_completed_enrollments?: boolean | null;
1206
+ * Automatically enroll people into a course
1207
+ */
1208
+ interface EnrollIntoCourse12MonthsPayload {
1209
+ /**
1210
+ * Select a course to enroll people in
1211
+ */
1212
+ course_id: string;
1213
+ due_date: '12_months';
1214
+ /**
1215
+ * Select people to enroll in this course
1216
+ */
1217
+ role_ids: string;
1218
+ /**
1219
+ * Skip enrollment if the employee already has a valid certificate for this course
1220
+ */
1221
+ skip_if_certified?: boolean | null;
1222
+ }
1196
1223
  /**
1197
- * Skip enrollment if the employee already completed this learning path
1198
- */
1199
- skip_if_completed?: boolean | null;
1224
+ * Automatically enroll people into a course
1225
+ */
1226
+ interface EnrollIntoCourseCustomPayload {
1227
+ /**
1228
+ * Select a course to enroll people in
1229
+ */
1230
+ course_id: string;
1231
+ due_date: 'custom';
1232
+ /**
1233
+ * Select people to enroll in this course
1234
+ */
1235
+ role_ids: string;
1236
+ /**
1237
+ * Time unit
1238
+ */
1239
+ custom_due_duration?: 'day' | 'week' | 'month' | 'year' | null;
1240
+ /**
1241
+ * Number of days/weeks/months/years
1242
+ */
1243
+ custom_due_value?: number | null;
1244
+ /**
1245
+ * Skip enrollment if the employee already has a valid certificate for this course
1246
+ */
1247
+ skip_if_certified?: boolean | null;
1248
+ }
1200
1249
  }
1201
- /**
1202
- * Send Report via Email.
1203
- * <helpdocslink href='https://help.rippling.com/article?articleId=382019482598'>Help
1204
- * docs</helpdocslink>
1205
- */
1206
- interface SendReportEmailExcelPayload {
1207
- file_type: 'EXCEL';
1250
+ interface EnrollIntoLearningPathActionRequest {
1251
+ action_type: 'enroll_into_learning_path';
1208
1252
  /**
1209
- * Not all report types are supported in workflows, like change and trend reports
1253
+ * Automatically enroll people into a learning path
1210
1254
  */
1211
- report_id: string;
1212
- /**
1213
- * Whose report view should be used to generate this report? (Only the workflow
1214
- * owner's access level will be available if external emails are included.)
1215
- */
1216
- run_report_perms: 'RECIPIENT' | 'WORKFLOW_OWNER';
1217
- send_to: SendReportEmailExcelPayload.SendTo;
1218
- add_role_referenced_id_column?: boolean | null;
1219
- /**
1220
- * CSV quoting
1221
- */
1222
- csv_quoting?: 1 | 0 | 2 | 3 | null;
1223
- /**
1224
- * Currency field formatting
1225
- */
1226
- currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
1227
- /**
1228
- * Date & time formatting
1229
- */
1230
- date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
1231
- /**
1232
- * Functions Service run_id. When provided, the request returns 202 and completion
1233
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
1234
- * back to synchronous execution.
1235
- */
1236
- run_id?: string | null;
1237
- show_sub_totals?: boolean | null;
1238
- /**
1239
- * Time zones
1240
- */
1241
- time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
1255
+ payload: EnrollIntoLearningPathActionRequest.Payload;
1256
+ workflow_definition_id: string;
1242
1257
  }
1243
- namespace SendReportEmailExcelPayload {
1244
- interface SendTo {
1245
- bcc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1246
- cc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1247
- to?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1248
- }
1249
- namespace SendTo {
1250
- interface Recipient1 {
1251
- supergroup: Array<string>;
1252
- /**
1253
- * Email type
1254
- */
1255
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1256
- externalEmails?: Array<string> | null;
1257
- }
1258
- interface Recipient2 {
1259
- externalEmails: Array<string>;
1260
- /**
1261
- * Email type
1262
- */
1263
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1264
- supergroup?: Array<string> | null;
1265
- }
1266
- interface Recipient1 {
1267
- supergroup: Array<string>;
1268
- /**
1269
- * Email type
1270
- */
1271
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1272
- externalEmails?: Array<string> | null;
1273
- }
1274
- interface Recipient2 {
1275
- externalEmails: Array<string>;
1276
- /**
1277
- * Email type
1278
- */
1279
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1280
- supergroup?: Array<string> | null;
1281
- }
1282
- interface Recipient1 {
1283
- supergroup: Array<string>;
1284
- /**
1285
- * Email type
1286
- */
1287
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1288
- externalEmails?: Array<string> | null;
1289
- }
1290
- interface Recipient2 {
1291
- externalEmails: Array<string>;
1292
- /**
1293
- * Email type
1294
- */
1295
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1296
- supergroup?: Array<string> | null;
1297
- }
1258
+ namespace EnrollIntoLearningPathActionRequest {
1259
+ /**
1260
+ * Automatically enroll people into a learning path
1261
+ */
1262
+ interface Payload {
1263
+ /**
1264
+ * Select a learning path to enroll people in
1265
+ */
1266
+ learning_path_id: string;
1267
+ /**
1268
+ * Select people to enroll in this learning path
1269
+ */
1270
+ role_ids: string;
1271
+ /**
1272
+ * Time unit
1273
+ */
1274
+ custom_due_unit?: 'day' | 'week' | 'month' | 'year' | null;
1275
+ /**
1276
+ * Number of days/weeks/months/years
1277
+ */
1278
+ custom_due_value?: number | null;
1279
+ /**
1280
+ * Number of days after completing one course before the next is due
1281
+ */
1282
+ days_between_courses?: number | null;
1283
+ /**
1284
+ * Due date type
1285
+ */
1286
+ due_date_type?: 'global' | 'relative' | null;
1287
+ /**
1288
+ * Due in
1289
+ */
1290
+ due_in?: '1_week' | '2_weeks' | '1_month' | '3_months' | '6_months' | '12_months' | 'custom' | null;
1291
+ /**
1292
+ * Give credit for courses the employee has already completed
1293
+ */
1294
+ induct_completed_enrollments?: boolean | null;
1295
+ /**
1296
+ * Skip enrollment if the employee already completed this learning path
1297
+ */
1298
+ skip_if_completed?: boolean | null;
1298
1299
  }
1299
1300
  }
1300
- /**
1301
- * Send Report via Email.
1302
- * <helpdocslink href='https://help.rippling.com/article?articleId=382019482598'>Help
1303
- * docs</helpdocslink>
1304
- */
1305
- interface SendReportEmailCsvPayload {
1306
- file_type: 'CSV';
1307
- /**
1308
- * Not all report types are supported in workflows, like change and trend reports
1309
- */
1310
- report_id: string;
1301
+ interface SendReportEmailActionRequest {
1302
+ action_type: 'report_email';
1311
1303
  /**
1312
- * Whose report view should be used to generate this report? (Only the workflow
1313
- * owner's access level will be available if external emails are included.)
1304
+ * Send Report via Email.
1314
1305
  */
1315
- run_report_perms: 'RECIPIENT' | 'WORKFLOW_OWNER';
1316
- send_to: SendReportEmailCsvPayload.SendTo;
1317
- add_role_referenced_id_column?: boolean | null;
1318
- /**
1319
- * CSV quoting
1320
- */
1321
- csv_quoting?: 1 | 0 | 2 | 3 | null;
1322
- /**
1323
- * Custom separator
1324
- */
1325
- csv_separator?: ',' | ';' | '\t' | '|' | null;
1326
- /**
1327
- * Currency field formatting
1328
- */
1329
- currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
1330
- /**
1331
- * Date & time formatting
1332
- */
1333
- date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
1334
- /**
1335
- * Functions Service run_id. When provided, the request returns 202 and completion
1336
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
1337
- * back to synchronous execution.
1338
- */
1339
- run_id?: string | null;
1340
- show_sub_totals?: boolean | null;
1341
- /**
1342
- * Time zones
1343
- */
1344
- time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
1306
+ payload: SendReportEmailActionRequest.SendReportEmailExcelPayload | SendReportEmailActionRequest.SendReportEmailCsvPayload;
1307
+ workflow_definition_id: string;
1345
1308
  }
1346
- namespace SendReportEmailCsvPayload {
1347
- interface SendTo {
1348
- bcc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1349
- cc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1350
- to?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1309
+ namespace SendReportEmailActionRequest {
1310
+ /**
1311
+ * Send Report via Email.
1312
+ */
1313
+ interface SendReportEmailExcelPayload {
1314
+ file_type: 'EXCEL';
1315
+ /**
1316
+ * Not all report types are supported in workflows, like change and trend reports
1317
+ */
1318
+ report_id: string;
1319
+ /**
1320
+ * Whose report view should be used to generate this report? (Only the workflow
1321
+ * owner's access level will be available if external emails are included.)
1322
+ */
1323
+ run_report_perms: 'RECIPIENT' | 'WORKFLOW_OWNER';
1324
+ send_to: SendReportEmailExcelPayload.SendTo;
1325
+ add_role_referenced_id_column?: boolean | null;
1326
+ /**
1327
+ * CSV quoting
1328
+ */
1329
+ csv_quoting?: 1 | 0 | 2 | 3 | null;
1330
+ /**
1331
+ * Currency field formatting
1332
+ */
1333
+ currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
1334
+ /**
1335
+ * Date & time formatting
1336
+ */
1337
+ date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
1338
+ /**
1339
+ * Functions Service run_id. When provided, the request returns 202 and completion
1340
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1341
+ * back to synchronous execution.
1342
+ */
1343
+ run_id?: string | null;
1344
+ show_sub_totals?: boolean | null;
1345
+ /**
1346
+ * Time zones
1347
+ */
1348
+ time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
1351
1349
  }
1352
- namespace SendTo {
1353
- interface Recipient1 {
1354
- supergroup: Array<string>;
1355
- /**
1356
- * Email type
1357
- */
1358
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1359
- externalEmails?: Array<string> | null;
1350
+ namespace SendReportEmailExcelPayload {
1351
+ interface SendTo {
1352
+ bcc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1353
+ cc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1354
+ to?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1360
1355
  }
1361
- interface Recipient2 {
1362
- externalEmails: Array<string>;
1363
- /**
1364
- * Email type
1365
- */
1366
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1367
- supergroup?: Array<string> | null;
1356
+ namespace SendTo {
1357
+ interface Recipient1 {
1358
+ supergroup: string;
1359
+ /**
1360
+ * Email type
1361
+ */
1362
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1363
+ externalEmails?: Array<string> | null;
1364
+ }
1365
+ interface Recipient2 {
1366
+ externalEmails: Array<string>;
1367
+ /**
1368
+ * Email type
1369
+ */
1370
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1371
+ supergroup?: string | null;
1372
+ }
1373
+ interface Recipient1 {
1374
+ supergroup: string;
1375
+ /**
1376
+ * Email type
1377
+ */
1378
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1379
+ externalEmails?: Array<string> | null;
1380
+ }
1381
+ interface Recipient2 {
1382
+ externalEmails: Array<string>;
1383
+ /**
1384
+ * Email type
1385
+ */
1386
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1387
+ supergroup?: string | null;
1388
+ }
1389
+ interface Recipient1 {
1390
+ supergroup: string;
1391
+ /**
1392
+ * Email type
1393
+ */
1394
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1395
+ externalEmails?: Array<string> | null;
1396
+ }
1397
+ interface Recipient2 {
1398
+ externalEmails: Array<string>;
1399
+ /**
1400
+ * Email type
1401
+ */
1402
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1403
+ supergroup?: string | null;
1404
+ }
1368
1405
  }
1369
- interface Recipient1 {
1370
- supergroup: Array<string>;
1371
- /**
1372
- * Email type
1373
- */
1374
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1375
- externalEmails?: Array<string> | null;
1376
- }
1377
- interface Recipient2 {
1378
- externalEmails: Array<string>;
1379
- /**
1380
- * Email type
1381
- */
1382
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1383
- supergroup?: Array<string> | null;
1384
- }
1385
- interface Recipient1 {
1386
- supergroup: Array<string>;
1387
- /**
1388
- * Email type
1389
- */
1390
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1391
- externalEmails?: Array<string> | null;
1406
+ }
1407
+ /**
1408
+ * Send Report via Email.
1409
+ */
1410
+ interface SendReportEmailCsvPayload {
1411
+ file_type: 'CSV';
1412
+ /**
1413
+ * Not all report types are supported in workflows, like change and trend reports
1414
+ */
1415
+ report_id: string;
1416
+ /**
1417
+ * Whose report view should be used to generate this report? (Only the workflow
1418
+ * owner's access level will be available if external emails are included.)
1419
+ */
1420
+ run_report_perms: 'RECIPIENT' | 'WORKFLOW_OWNER';
1421
+ send_to: SendReportEmailCsvPayload.SendTo;
1422
+ add_role_referenced_id_column?: boolean | null;
1423
+ /**
1424
+ * CSV quoting
1425
+ */
1426
+ csv_quoting?: 1 | 0 | 2 | 3 | null;
1427
+ /**
1428
+ * Custom separator
1429
+ */
1430
+ csv_separator?: ',' | ';' | '\t' | '|' | null;
1431
+ /**
1432
+ * Currency field formatting
1433
+ */
1434
+ currency_fields?: 'WITH_CURRENCY_TYPE' | 'WITHOUT_CURRENCY_TYPE' | null;
1435
+ /**
1436
+ * Date & time formatting
1437
+ */
1438
+ date_and_time_formatting?: 'ISO_FORMAT' | 'LOCALE_FORMAT' | null;
1439
+ /**
1440
+ * Functions Service run_id. When provided, the request returns 202 and completion
1441
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1442
+ * back to synchronous execution.
1443
+ */
1444
+ run_id?: string | null;
1445
+ show_sub_totals?: boolean | null;
1446
+ /**
1447
+ * Time zones
1448
+ */
1449
+ time_zones?: 'UTC' | 'PRESERVE_TZ' | 'VIEWER_LOCALE' | null;
1450
+ }
1451
+ namespace SendReportEmailCsvPayload {
1452
+ interface SendTo {
1453
+ bcc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1454
+ cc?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1455
+ to?: SendTo.Recipient1 | SendTo.Recipient2 | null;
1392
1456
  }
1393
- interface Recipient2 {
1394
- externalEmails: Array<string>;
1395
- /**
1396
- * Email type
1397
- */
1398
- emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1399
- supergroup?: Array<string> | null;
1457
+ namespace SendTo {
1458
+ interface Recipient1 {
1459
+ supergroup: string;
1460
+ /**
1461
+ * Email type
1462
+ */
1463
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1464
+ externalEmails?: Array<string> | null;
1465
+ }
1466
+ interface Recipient2 {
1467
+ externalEmails: Array<string>;
1468
+ /**
1469
+ * Email type
1470
+ */
1471
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1472
+ supergroup?: string | null;
1473
+ }
1474
+ interface Recipient1 {
1475
+ supergroup: string;
1476
+ /**
1477
+ * Email type
1478
+ */
1479
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1480
+ externalEmails?: Array<string> | null;
1481
+ }
1482
+ interface Recipient2 {
1483
+ externalEmails: Array<string>;
1484
+ /**
1485
+ * Email type
1486
+ */
1487
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1488
+ supergroup?: string | null;
1489
+ }
1490
+ interface Recipient1 {
1491
+ supergroup: string;
1492
+ /**
1493
+ * Email type
1494
+ */
1495
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1496
+ externalEmails?: Array<string> | null;
1497
+ }
1498
+ interface Recipient2 {
1499
+ externalEmails: Array<string>;
1500
+ /**
1501
+ * Email type
1502
+ */
1503
+ emailType?: 'work_or_personal_email' | 'work_email_only' | 'personal_email_only' | 'work_and_personal_email' | null;
1504
+ supergroup?: string | null;
1505
+ }
1400
1506
  }
1401
1507
  }
1402
1508
  }
1403
- /**
1404
- * Sends a document to employees
1405
- * <helpdocslink href='https://help.rippling.com/article?articleId=5M7eDUNcGIZndtJQv99mjW'>Help
1406
- * docs</helpdocslink>
1407
- */
1408
- interface SendDocumentPayload {
1409
- document: string;
1410
- /**
1411
- * Maximum recipients: 500
1412
- */
1413
- recipients: Array<string>;
1509
+ interface SendDocumentActionRequest {
1510
+ action_type: 'send_document';
1414
1511
  /**
1415
- * Functions Service run_id. When provided, the request returns 202 and completion
1416
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
1417
- * back to synchronous execution.
1512
+ * Sends a document to employees
1418
1513
  */
1419
- run_id?: string | null;
1514
+ payload: SendDocumentActionRequest.Payload;
1515
+ workflow_definition_id: string;
1420
1516
  }
1421
- /**
1422
- * Adjust time off balance of a leave policy or a leave type
1423
- * <helpdocslink href='https://help.rippling.com/article?articleId=807953794978'>Help
1424
- * docs</helpdocslink>
1425
- */
1426
- interface AccrueLeaveLeavePolicyPayload {
1427
- /**
1428
- * Choose how to adjust the employee's leave balance
1429
- */
1430
- balance_action_type: 'ADD_BALANCE' | 'DEDUCT_BALANCE';
1431
- balance_increment: number;
1432
- /**
1433
- * The unit of time to accrue leave in
1434
- */
1435
- balance_unit: 'HOURS' | 'DAYS' | 'WEEKS';
1436
- leave_policy: string;
1437
- pto_type: 'LEAVE_POLICY';
1438
- recipients: Array<string>;
1439
- /**
1440
- * Functions Service run_id. When provided, the request returns 202 and completion
1441
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
1442
- * back to synchronous execution.
1443
- */
1444
- run_id?: string | null;
1517
+ namespace SendDocumentActionRequest {
1518
+ /**
1519
+ * Sends a document to employees
1520
+ */
1521
+ interface Payload {
1522
+ document: string;
1523
+ /**
1524
+ * Maximum recipients: 500
1525
+ */
1526
+ recipients: string;
1527
+ /**
1528
+ * Functions Service run_id. When provided, the request returns 202 and completion
1529
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1530
+ * back to synchronous execution.
1531
+ */
1532
+ run_id?: string | null;
1533
+ }
1445
1534
  }
1446
- /**
1447
- * Adjust time off balance of a leave policy or a leave type
1448
- * <helpdocslink href='https://help.rippling.com/article?articleId=807953794978'>Help
1449
- * docs</helpdocslink>
1450
- */
1451
- interface AccrueLeaveCompanyLeaveTypePayload {
1452
- /**
1453
- * Choose how to adjust the employee's leave balance
1454
- */
1455
- balance_action_type: 'ADD_BALANCE' | 'DEDUCT_BALANCE';
1456
- balance_increment: number;
1535
+ interface AccrueLeaveActionRequest {
1536
+ action_type: 'accrue_leave';
1457
1537
  /**
1458
- * The unit of time to accrue leave in
1538
+ * Adjust time off balance of a leave policy or a leave type
1459
1539
  */
1460
- balance_unit: 'HOURS' | 'DAYS' | 'WEEKS';
1461
- company_leave_type: string;
1462
- pto_type: 'COMPANY_LEAVE_TYPE';
1463
- recipients: Array<string>;
1464
- /**
1465
- * Functions Service run_id. When provided, the request returns 202 and completion
1466
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
1467
- * back to synchronous execution.
1468
- */
1469
- run_id?: string | null;
1540
+ payload: AccrueLeaveActionRequest.AccrueLeaveLeavePolicyPayload | AccrueLeaveActionRequest.AccrueLeaveCompanyLeaveTypePayload;
1541
+ workflow_definition_id: string;
1470
1542
  }
1471
- /**
1472
- * Send a payment to employee(s). This payment will be applied to the next upcoming
1473
- * payroll run.
1474
- * <helpdocslink href='https://help.rippling.com/article?articleId=2AcZ3Rsql2FVUy3ghiFCFt'>Help
1475
- * docs</helpdocslink>
1476
- */
1477
- interface MakePaymentPayload {
1543
+ namespace AccrueLeaveActionRequest {
1544
+ /**
1545
+ * Adjust time off balance of a leave policy or a leave type
1546
+ */
1547
+ interface AccrueLeaveLeavePolicyPayload {
1548
+ /**
1549
+ * Choose how to adjust the employee's leave balance
1550
+ */
1551
+ balance_action_type: 'ADD_BALANCE' | 'DEDUCT_BALANCE';
1552
+ balance_increment: number | string;
1553
+ /**
1554
+ * The unit of time to accrue leave in
1555
+ */
1556
+ balance_unit: 'HOURS' | 'DAYS' | 'WEEKS';
1557
+ leave_policy: string;
1558
+ pto_type: 'LEAVE_POLICY';
1559
+ recipients: string;
1560
+ /**
1561
+ * Functions Service run_id. When provided, the request returns 202 and completion
1562
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1563
+ * back to synchronous execution.
1564
+ */
1565
+ run_id?: string | null;
1566
+ }
1478
1567
  /**
1479
- * Set a max amount that can be earned under this workflow
1480
- */
1481
- apply_cap: boolean;
1482
- description: string;
1483
- payment_amount: number;
1484
- recipients: Array<string>;
1568
+ * Adjust time off balance of a leave policy or a leave type
1569
+ */
1570
+ interface AccrueLeaveCompanyLeaveTypePayload {
1571
+ /**
1572
+ * Choose how to adjust the employee's leave balance
1573
+ */
1574
+ balance_action_type: 'ADD_BALANCE' | 'DEDUCT_BALANCE';
1575
+ balance_increment: number | string;
1576
+ /**
1577
+ * The unit of time to accrue leave in
1578
+ */
1579
+ balance_unit: 'HOURS' | 'DAYS' | 'WEEKS';
1580
+ company_leave_type: string;
1581
+ pto_type: 'COMPANY_LEAVE_TYPE';
1582
+ recipients: string;
1583
+ /**
1584
+ * Functions Service run_id. When provided, the request returns 202 and completion
1585
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1586
+ * back to synchronous execution.
1587
+ */
1588
+ run_id?: string | null;
1589
+ }
1590
+ }
1591
+ interface MakePaymentActionRequest {
1592
+ action_type: 'make_payment';
1485
1593
  /**
1486
- * Functions Service run_id. When provided, the request returns 202 and completion
1487
- * is delivered back to the run via SendRunEvent. When omitted, the action falls
1488
- * back to synchronous execution.
1594
+ * Send a payment to employee(s). This payment will be applied to the next upcoming
1595
+ * payroll run.
1489
1596
  */
1490
- run_id?: string | null;
1597
+ payload: MakePaymentActionRequest.Payload;
1598
+ workflow_definition_id: string;
1599
+ }
1600
+ namespace MakePaymentActionRequest {
1601
+ /**
1602
+ * Send a payment to employee(s). This payment will be applied to the next upcoming
1603
+ * payroll run.
1604
+ */
1605
+ interface Payload {
1606
+ /**
1607
+ * Set a max amount that can be earned under this workflow
1608
+ */
1609
+ apply_cap: boolean;
1610
+ description: string;
1611
+ payment_amount: number | string;
1612
+ recipients: string;
1613
+ /**
1614
+ * Functions Service run_id. When provided, the request returns 202 and completion
1615
+ * is delivered back to the run via SendRunEvent. When omitted, the action falls
1616
+ * back to synchronous execution.
1617
+ */
1618
+ run_id?: string | null;
1619
+ }
1620
+ }
1621
+ interface RunQueryActionRequest {
1622
+ action_type: 'run_query';
1623
+ payload: RunQueryActionRequest.Payload;
1624
+ workflow_definition_id: string;
1491
1625
  }
1492
- interface RunQueryPayload {
1493
- query: string;
1494
- product_name?: string | null;
1626
+ namespace RunQueryActionRequest {
1627
+ interface Payload {
1628
+ query: string;
1629
+ product_name?: string | null;
1630
+ }
1495
1631
  }
1496
1632
  }
1497
1633
  export declare namespace WorkflowActionExecutions {