@fourier-labs/harbour-contracts 0.84.0 → 0.86.0
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.
- package/README.md +3 -3
- package/contract-release.json +22 -22
- package/dist/gen-ts/app-integrations-declaration.d.ts +47 -2
- package/dist/gen-ts/contract-release.d.ts +6 -6
- package/dist/gen-ts/contract-release.js +6 -6
- package/dist/gen-ts/data-grant-v2.d.ts +4 -4
- package/dist/gen-ts/integration-execute-input-rules.d.ts +1195 -1
- package/dist/gen-ts/integration-execute-input-rules.js +393 -1
- package/dist/gen-ts/integration-execute-request.d.ts +152 -27
- package/dist/gen-ts/integration-execute-result.d.ts +237 -7
- package/dist/gen-ts/integration-operations.d.ts +315 -0
- package/dist/gen-ts/integration-operations.js +405 -0
- package/dist/gen-ts/saas-connection.d.ts +9 -9
- package/gen-ts/app-integrations-declaration.ts +47 -2
- package/gen-ts/contract-release.ts +6 -6
- package/gen-ts/data-grant-v2.ts +48 -3
- package/gen-ts/integration-execute-input-rules.ts +391 -2
- package/gen-ts/integration-execute-request.ts +196 -26
- package/gen-ts/integration-execute-result.ts +237 -7
- package/gen-ts/integration-operations.ts +405 -0
- package/gen-ts/saas-connection.ts +66 -8
- package/package.json +1 -1
- package/schema/app-integrations-declaration.schema.json +976 -36
- package/schema/data-grant-v2.schema.json +3 -3
- package/schema/integration-execute-request.schema.json +2322 -57
- package/schema/integration-execute-result.schema.json +934 -30
- package/schema/saas-connection.schema.json +139 -8
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://schemas.harbour.dev/integration-execute-request.schema.json",
|
|
4
4
|
"title": "IntegrationExecuteRequest",
|
|
5
|
-
"description": "Body of POST /_harbour/integrations/execute (app SDK), forwarded unchanged to the governance development and runtime execute routes. Exactly one declared operation against one declared resource. The identity mode is fixed by the operation for every operation but the declared-mode Slack operations (slack.channel.history, slack.message.post, slack.message.update, slack.message.delete; 0.71.0 widened history), and always enforced from an approved grant; any identity/userId/scope field is rejected by additionalProperties. A declared-mode operation runs as the app (for a post: the IT-approved per-app name from the grant, plus a \"Posted by <app> on Isomorph\" footer) or as the signed-in person (no name, no footer) \u2014 the same input either way \u2014 and since 0.55.0 the call names which of the app's approved modes it runs under (`mode`): required when IT approved both modes for the app (MODE_REQUIRED otherwise), optional when it approved one (that one is used), and a named mode without an approved grant is refused (MODE_NOT_GRANTED) rather than served under the other, so approval order never decides what a call does. Per-operation input bounds (0.71.0, ADR 0018): slack.channel.history {limit? 1..100, default 15, cursor?, oldest?, latest?}; slack.message.post {text 1..4000 chars, threadId?, format? plain|mrkdwn} and a required idempotencyKey retained across retries of one explicit Send; slack.message.update {messageId, text, format?}; slack.message.delete {messageId}; slack.dm.send {to 1..8 addresses, text, format?} (app mode only) with a required idempotencyKey; slack.user.lookup {email}; gmail.thread.list {limit? 1..50, default 15, q?, labelIds? default [INBOX], pageToken?}; gmail.thread.read {threadId}; gmail.message.read {messageId}; gmail.attachment.read {messageId, attachmentId}; gmail.message.send {to 1..50 addresses (to+cc+bcc <= 50 in total), cc?, bcc?, subject 1..256 chars, text 1..4000 chars, html? <= 64 KiB, attachments? 1..5 of <= 2 MiB each as base64, replyToMessageId?} and a required idempotencyKey like slack.message.post; warehouse.view.read {columns? 1..32, where? 1..16 filters, groupBy? 1..8 columns, aggregates? 1..16, orderBy? 1..8, limit? 1..1000, default 100} (0.70.0: a plain read names columns, an aggregate read names aggregates and optionally groupBy; the cross-field rules \u2014 exactly one of columns or aggregates, groupBy needs aggregates, a filter value that fits its op, orderBy naming a returned column, every named column approved \u2014 are enforced by governance, not expressible here; ADR 0017). Basecamp (0.76.0, ADR 0022; every id a string of 1..20 digits, every operation user mode): basecamp.project.list {pageToken?, projectStatus? active|archived} on the fixed `account` alias; on a project alias basecamp.todolist.list {pageToken?}; basecamp.todo.list {todolistId, completed?, pageToken?}; basecamp.todo.create {todolistId, content 1..1000 (the to-do title), description? <= 16384, contentFormat? plain|html, dueOn? YYYY-MM-DD, assigneeIds? 1..20, notify?} with a required idempotencyKey; basecamp.todo.complete {todoId} (idempotent at Basecamp, so no key); basecamp.message.list {pageToken?}; basecamp.message.post {subject 1..256, content 1..65536, contentFormat?} with a required idempotencyKey; basecamp.comment.list {recordingId, pageToken?}; basecamp.comment.post {recordingId, content 1..16384, contentFormat?} with a required idempotencyKey; basecamp.campfire.post {content 1..4000, contentFormat?} with a required idempotencyKey; basecamp.people.list {pageToken?}. `pageToken` is the previous page's `nextPageToken` (a Basecamp page number as digits). SharePoint (0.78.0, ADR 0024; every id a Microsoft Graph id
|
|
5
|
+
"description": "Body of POST /_harbour/integrations/execute (app SDK), forwarded unchanged to the governance development and runtime execute routes. Exactly one declared operation against one declared resource. The identity mode is fixed by the operation for every operation but the declared-mode Slack operations (slack.channel.history, slack.message.post, slack.message.update, slack.message.delete; 0.71.0 widened history), and always enforced from an approved grant; any identity/userId/scope field is rejected by additionalProperties. A declared-mode operation runs as the app (for a post: the IT-approved per-app name from the grant, plus a \"Posted by <app> on Isomorph\" footer) or as the signed-in person (no name, no footer) \u2014 the same input either way \u2014 and since 0.55.0 the call names which of the app's approved modes it runs under (`mode`): required when IT approved both modes for the app (MODE_REQUIRED otherwise), optional when it approved one (that one is used), and a named mode without an approved grant is refused (MODE_NOT_GRANTED) rather than served under the other, so approval order never decides what a call does. Per-operation input bounds (0.71.0, ADR 0018): slack.channel.history {limit? 1..100, default 15, cursor?, oldest?, latest?}; slack.message.post {text 1..4000 chars, threadId?, format? plain|mrkdwn} and a required idempotencyKey retained across retries of one explicit Send; slack.message.update {messageId, text, format?}; slack.message.delete {messageId}; slack.dm.send {to 1..8 addresses, text, format?} (app mode only) with a required idempotencyKey; slack.user.lookup {email}; gmail.thread.list {limit? 1..50, default 15, q?, labelIds? default [INBOX], pageToken?}; gmail.thread.read {threadId}; gmail.message.read {messageId}; gmail.attachment.read {messageId, attachmentId}; gmail.message.send {to 1..50 addresses (to+cc+bcc <= 50 in total), cc?, bcc?, subject 1..256 chars, text 1..4000 chars, html? <= 64 KiB, attachments? 1..5 of <= 2 MiB each as base64, replyToMessageId?} and a required idempotencyKey like slack.message.post; warehouse.view.read {columns? 1..32, where? 1..16 filters, groupBy? 1..8 columns, aggregates? 1..16, orderBy? 1..8, limit? 1..1000, default 100} (0.70.0: a plain read names columns, an aggregate read names aggregates and optionally groupBy; the cross-field rules \u2014 exactly one of columns or aggregates, groupBy needs aggregates, a filter value that fits its op, orderBy naming a returned column, every named column approved \u2014 are enforced by governance, not expressible here; ADR 0017). Basecamp (0.76.0, ADR 0022; every id a string of 1..20 digits, every operation user mode): basecamp.project.list {pageToken?, projectStatus? active|archived} on the fixed `account` alias; on a project alias basecamp.todolist.list {pageToken?}; basecamp.todo.list {todolistId, completed?, pageToken?}; basecamp.todo.create {todolistId, content 1..1000 (the to-do title), description? <= 16384, contentFormat? plain|html, dueOn? YYYY-MM-DD, assigneeIds? 1..20, notify?} with a required idempotencyKey; basecamp.todo.complete {todoId} (idempotent at Basecamp, so no key); basecamp.message.list {pageToken?}; basecamp.message.post {subject 1..256, content 1..65536, contentFormat?} with a required idempotencyKey; basecamp.comment.list {recordingId, pageToken?}; basecamp.comment.post {recordingId, content 1..16384, contentFormat?} with a required idempotencyKey; basecamp.campfire.post {content 1..4000, contentFormat?} with a required idempotencyKey; basecamp.people.list {pageToken?}. `pageToken` is the previous page's `nextPageToken` (a Basecamp page number as digits). SharePoint (0.78.0, ADR 0024; every id a Microsoft Graph id \u2014 GraphId, 1..256 characters \u2014 every operation user mode on a site alias): sharepoint.list.list {pageToken?}; sharepoint.item.list {listId, filter? 1..512 (an OData filter on `fields/...`), pageToken?}; sharepoint.item.create {listId, fields (1..32 columns, each a string <= 4000, a number, a boolean or null)} with a required idempotencyKey; sharepoint.item.update {listId, itemId, fields} (a PATCH, idempotent at Graph, so no key); sharepoint.drive.list {pageToken?}; sharepoint.file.list {driveId?, folderId?, pageToken?} (no driveId: the site's default drive; no folderId: its root); sharepoint.file.search {q 1..256, driveId?, pageToken?}; sharepoint.file.read {fileId, driveId?}; sharepoint.file.upload {filename 1..255, contentType, dataBase64 <= 2 MiB, driveId?, folderId?, conflict? rename|replace|fail} with a required idempotencyKey. A SharePoint `pageToken` is Graph's `$skiptoken` (up to 2048 characters; the shared field is that wide, the Gmail and Basecamp operations narrow it back to 256). Google Workspace and Microsoft 365 (0.86.0, ADR 0032; every operation user mode; the seven personal providers run on their fixed alias, teams.* on a channel alias): calendar.calendar.list {pageToken?}; calendar.event.list {calendarId?, timeMin, timeMax, q?, pageToken?} (RFC 3339 date-times with a zone); calendar.event.read {calendarId?, eventId}; calendar.event.create {calendarId?, title 1..256, start, end, timeZone?, allDay?, description? <= 8000, location? <= 512, attendees? 1..100 emails, notify?} with a required idempotencyKey; calendar.event.update {calendarId?, eventId, title?, start?, end?, timeZone?, description?, location?, attendees?, notify?} and calendar.event.cancel {calendarId?, eventId, notify?} (both idempotent at Google, so no key); drive.file.list {folderId?, pageToken?}; drive.file.search {q, pageToken?}; drive.file.read {fileId, exportAs? text|csv|pdf} (exportAs renders a Google Docs, Sheets or Slides file; a binary file is downloaded as is); drive.file.upload {filename, contentType, dataBase64 <= 2 MiB, folderId?, conflict?} and drive.folder.create {title, folderId?} with a required idempotencyKey; docs.document.read {documentId}; docs.document.create {title, text? <= 64 KiB} with a required idempotencyKey; docs.document.append {documentId, text <= 64 KiB} and docs.text.replace {documentId, replacements 1..64 of {find 1..512, replace <= 4000, matchCase?}} (no key: the app owns the document's state); sheets.spreadsheet.read {spreadsheetId}; sheets.values.read {spreadsheetId, range} (A1 notation, 1..256); sheets.values.append {spreadsheetId, range, values, valueInput? raw|user} with a required idempotencyKey; sheets.values.update {spreadsheetId, range, values, valueInput?} and sheets.values.clear {spreadsheetId, range} (no key); sheets.spreadsheet.create {title, sheets? 1..20 titles} with a required idempotencyKey (`values` is 1..1000 rows of 1..100 cells, each a string <= 4000, a number, a boolean or null); outlook.message.list {folder?, q?, pageToken?}; outlook.message.read {messageId}; outlook.attachment.read {messageId, attachmentId}; outlook.message.send {to, cc?, bcc?, subject, text 1..4000, html?, attachments?} and outlook.message.reply {messageId, text 1..4000} with a required idempotencyKey like gmail.message.send; outlook.event.list {start, end, pageToken?}; outlook.event.read {eventId}; outlook.event.create (as calendar.event.create without calendarId) with a required idempotencyKey; outlook.event.update (as calendar.event.update without calendarId) and outlook.event.cancel {eventId, comment? <= 4000} (no key); onedrive.file.list, onedrive.file.search, onedrive.file.read {fileId}, onedrive.file.upload and onedrive.folder.create as the drive.* operations (Graph ids, no exportAs); excel.worksheet.list {fileId, driveId?}; excel.range.read {fileId, driveId?, worksheet, address? 1..64} (no address: the used range); excel.range.update {fileId, driveId?, worksheet, address, values} (no key: a PATCH); excel.table.list {fileId, driveId?, worksheet?}; excel.row.add {fileId, driveId?, tableName, values} and excel.worksheet.add {fileId, driveId?, title} with a required idempotencyKey; teams.message.list {pageToken?}; teams.message.post {text 1..4000, html?} and teams.reply.post {messageId, text, html?} with a required idempotencyKey. An Outlook or Teams `messageId` is a Graph id (the shared field widens to ^[A-Za-z0-9._=-]{1,256}$; the Gmail and Slack operations narrow it back to ^[A-Za-z0-9._-]{1,64}$ in their then-blocks, so their rules are unchanged), and `text` widens to 64 KiB for the Docs body (every other operation that takes it narrows it back to 4000). Each operation's then-block is the one statement of its input rules: propertyNames.enum names the fields it accepts, required the ones it needs, and per-field overrides (maximum, default) narrow the shared property. Codegen derives IntegrationExecuteInputRules and validateIntegrationExecuteInput (gen-ts/integration-execute-input-rules.ts, gen-go/integration_execute_input_rules.go) from exactly these blocks, so the governance execute route, the app SDK and the kit's local check refuse the same request with the same message. Transport limits (not expressible here): request <= 16 KiB except a gmail.message.send carrying attachments (governance sizes that route for the attachment bound) and a basecamp.message.post (its 64 KiB body; governance allows 80 KiB there) and a sharepoint.file.upload, drive.file.upload or onedrive.file.upload (its 2 MiB file as base64; governance sizes it like the Gmail attachment route), an outlook.message.send with attachments (the Gmail route), a docs.document.create or docs.document.append (its 64 KiB body; governance allows 80 KiB there, as for basecamp.message.post) and a sheets.values.append, sheets.values.update, excel.range.update or excel.row.add (its 64 KiB `values`), total deadline 10 s.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": [
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"text": {
|
|
34
34
|
"type": "string",
|
|
35
35
|
"minLength": 1,
|
|
36
|
-
"maxLength":
|
|
37
|
-
"description": "slack.message.post / slack.message.update / slack.dm.send / gmail.message.send: the body, 1..4000 characters (plain text, or Slack mrkdwn when `format` says so)."
|
|
36
|
+
"maxLength": 65536,
|
|
37
|
+
"description": "slack.message.post / slack.message.update / slack.dm.send / gmail.message.send / outlook.message.send / outlook.message.reply / teams.message.post / teams.reply.post: the body, 1..4000 characters (plain text, or Slack mrkdwn when `format` says so; the Outlook and Teams sends carry `html` beside it like Gmail). docs.document.create / docs.document.append (0.86.0): the document's plain-text body or the text appended to it, at most 64 KiB (the shared bound; every other operation narrows it back to 4000)."
|
|
38
38
|
},
|
|
39
39
|
"format": {
|
|
40
40
|
"$ref": "#/definitions/SlackMessageFormat",
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
},
|
|
48
48
|
"messageId": {
|
|
49
49
|
"type": "string",
|
|
50
|
-
"pattern": "^[A-Za-z0-9._
|
|
51
|
-
"description": "gmail.message.read / gmail.attachment.read: the Gmail message id a gmail.thread.list or gmail.thread.read result named. slack.message.update / slack.message.delete (0.71.0): the Slack message ts a post or history result named."
|
|
50
|
+
"pattern": "^[A-Za-z0-9._=-]{1,256}$",
|
|
51
|
+
"description": "gmail.message.read / gmail.attachment.read: the Gmail message id a gmail.thread.list or gmail.thread.read result named. slack.message.update / slack.message.delete (0.71.0): the Slack message ts a post or history result named. outlook.message.read / outlook.attachment.read / outlook.message.reply (0.86.0): the Graph message id an outlook.message.list result named (base64url with `=`, up to 256 characters; the shared bound, which the Gmail and Slack operations narrow back to ^[A-Za-z0-9._-]{1,64}$). teams.reply.post (0.86.0): the Teams message id a teams.message.list or teams.message.post result named."
|
|
52
52
|
},
|
|
53
53
|
"attachmentId": {
|
|
54
54
|
"type": "string",
|
|
55
55
|
"minLength": 1,
|
|
56
56
|
"maxLength": 512,
|
|
57
|
-
"description": "gmail.attachment.read (0.71.0): the attachment id a gmail.message.read or gmail.thread.read result named."
|
|
57
|
+
"description": "gmail.attachment.read (0.71.0): the attachment id a gmail.message.read or gmail.thread.read result named. outlook.attachment.read (0.86.0): the attachment id an outlook.message.read result named."
|
|
58
58
|
},
|
|
59
59
|
"cursor": {
|
|
60
60
|
"type": "string",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"type": "string",
|
|
79
79
|
"minLength": 1,
|
|
80
80
|
"maxLength": 256,
|
|
81
|
-
"description": "gmail.thread.list (0.71.0): a Gmail search query (the search-box syntax, e.g. `from:jane newer_than:7d`). sharepoint.file.search (0.78.0): the words to search a drive's file names and contents for."
|
|
81
|
+
"description": "gmail.thread.list (0.71.0): a Gmail search query (the search-box syntax, e.g. `from:jane newer_than:7d`). sharepoint.file.search (0.78.0): the words to search a drive's file names and contents for. drive.file.search / onedrive.file.search (0.86.0): the words to search the person's files for (name and contents). calendar.event.list: free text an event must match (Google's `q`). outlook.message.list: a Graph `$search` phrase over the folder's messages."
|
|
82
82
|
},
|
|
83
83
|
"labelIds": {
|
|
84
84
|
"type": "array",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"type": "string",
|
|
100
100
|
"minLength": 1,
|
|
101
101
|
"maxLength": 2048,
|
|
102
|
-
"description": "gmail.thread.list (0.71.0), every basecamp.*.list operation (0.76.0) and the paged sharepoint.* reads (0.78.0: list.list, item.list, drive.list, file.list, file.search): the `nextPageToken` of the previous page; absent reads the first page. At most 2048 characters for a Graph `$skiptoken`; the Gmail and Basecamp operations narrow it to 256."
|
|
102
|
+
"description": "gmail.thread.list (0.71.0), every basecamp.*.list operation (0.76.0) and the paged sharepoint.* reads (0.78.0: list.list, item.list, drive.list, file.list, file.search): the `nextPageToken` of the previous page; absent reads the first page. At most 2048 characters for a Graph `$skiptoken`; the Gmail and Basecamp operations narrow it to 256. Every paged 0.86.0 read (calendar.calendar.list, calendar.event.list, drive.file.list, drive.file.search, outlook.message.list, outlook.event.list, onedrive.file.list, onedrive.file.search, teams.message.list) pages the same way: a Google `nextPageToken` or a Graph `$skiptoken`."
|
|
103
103
|
},
|
|
104
104
|
"email": {
|
|
105
105
|
"$ref": "#/definitions/EmailAddress",
|
|
@@ -107,21 +107,21 @@
|
|
|
107
107
|
},
|
|
108
108
|
"to": {
|
|
109
109
|
"$ref": "#/definitions/EmailAddressList",
|
|
110
|
-
"description": "gmail.message.send: primary recipients. slack.dm.send (0.71.0): the workspace members to message, by email, 1..8; several open one group DM."
|
|
110
|
+
"description": "gmail.message.send: primary recipients. slack.dm.send (0.71.0): the workspace members to message, by email, 1..8; several open one group DM. outlook.message.send (0.86.0): primary recipients, as for Gmail."
|
|
111
111
|
},
|
|
112
112
|
"cc": {
|
|
113
113
|
"$ref": "#/definitions/EmailAddressList",
|
|
114
|
-
"description": "gmail.message.send: carbon-copy recipients."
|
|
114
|
+
"description": "gmail.message.send: carbon-copy recipients. outlook.message.send (0.86.0): the same."
|
|
115
115
|
},
|
|
116
116
|
"bcc": {
|
|
117
117
|
"$ref": "#/definitions/EmailAddressList",
|
|
118
|
-
"description": "gmail.message.send: blind-copy recipients."
|
|
118
|
+
"description": "gmail.message.send: blind-copy recipients. outlook.message.send (0.86.0): the same."
|
|
119
119
|
},
|
|
120
120
|
"subject": {
|
|
121
121
|
"type": "string",
|
|
122
122
|
"minLength": 1,
|
|
123
123
|
"maxLength": 256,
|
|
124
|
-
"description": "gmail.message.send: one-line subject (no line breaks). basecamp.message.post (0.76.0): the message's title."
|
|
124
|
+
"description": "gmail.message.send: one-line subject (no line breaks). basecamp.message.post (0.76.0): the message's title. outlook.message.send (0.86.0): the subject."
|
|
125
125
|
},
|
|
126
126
|
"replyToMessageId": {
|
|
127
127
|
"type": "string",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"type": "string",
|
|
133
133
|
"minLength": 1,
|
|
134
134
|
"maxLength": 65536,
|
|
135
|
-
"description": "gmail.message.send (0.71.0): an HTML body sent beside `text` (which stays the plain-text alternative), at most 64 KiB."
|
|
135
|
+
"description": "gmail.message.send (0.71.0): an HTML body sent beside `text` (which stays the plain-text alternative), at most 64 KiB. outlook.message.send / teams.message.post / teams.reply.post (0.86.0): an HTML body beside `text`, the same way."
|
|
136
136
|
},
|
|
137
137
|
"attachments": {
|
|
138
138
|
"type": "array",
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
"items": {
|
|
142
142
|
"$ref": "#/definitions/EmailAttachment"
|
|
143
143
|
},
|
|
144
|
-
"description": "gmail.message.send (0.71.0): files to attach, 1..5, each at most 2 MiB (2,796,203 base64 characters)."
|
|
144
|
+
"description": "gmail.message.send (0.71.0): files to attach, 1..5, each at most 2 MiB (2,796,203 base64 characters). outlook.message.send (0.86.0): the same, 1..5."
|
|
145
145
|
},
|
|
146
146
|
"todolistId": {
|
|
147
147
|
"$ref": "app-integrations-declaration.schema.json#/definitions/BasecampId",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
},
|
|
154
154
|
"recordingId": {
|
|
155
155
|
"$ref": "app-integrations-declaration.schema.json#/definitions/BasecampId",
|
|
156
|
-
"description": "basecamp.comment.list / basecamp.comment.post (0.76.0): the Basecamp recording commented on
|
|
156
|
+
"description": "basecamp.comment.list / basecamp.comment.post (0.76.0): the Basecamp recording commented on \u2014 a message, a to-do or any other id a basecamp.* result named."
|
|
157
157
|
},
|
|
158
158
|
"content": {
|
|
159
159
|
"type": "string",
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"type": "string",
|
|
170
170
|
"minLength": 1,
|
|
171
171
|
"maxLength": 16384,
|
|
172
|
-
"description": "basecamp.todo.create (0.76.0): the to-do's notes, at most 16 KiB, read the way `contentFormat` says."
|
|
172
|
+
"description": "basecamp.todo.create (0.76.0): the to-do's notes, at most 16 KiB, read the way `contentFormat` says. calendar.event.create / calendar.event.update / outlook.event.create / outlook.event.update (0.86.0): the event's description, at most 8000 characters."
|
|
173
173
|
},
|
|
174
174
|
"dueOn": {
|
|
175
175
|
"type": "string",
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
},
|
|
189
189
|
"notify": {
|
|
190
190
|
"type": "boolean",
|
|
191
|
-
"description": "basecamp.todo.create (0.76.0): whether Basecamp notifies the assignees; false when absent."
|
|
191
|
+
"description": "basecamp.todo.create (0.76.0): whether Basecamp notifies the assignees; false when absent. calendar.event.create / calendar.event.update / calendar.event.cancel / outlook.event.create / outlook.event.update (0.86.0): whether the attendees are emailed about the change; true when absent (the provider's default; governance applies it, a boolean input takes no contract default)."
|
|
192
192
|
},
|
|
193
193
|
"completed": {
|
|
194
194
|
"type": "boolean",
|
|
@@ -208,15 +208,15 @@
|
|
|
208
208
|
},
|
|
209
209
|
"driveId": {
|
|
210
210
|
"$ref": "app-integrations-declaration.schema.json#/definitions/GraphId",
|
|
211
|
-
"description": "sharepoint.file.list / sharepoint.file.search / sharepoint.file.read / sharepoint.file.upload (0.78.0): the document library, as a sharepoint.drive.list result named it; absent means the site's default drive (its Documents library)."
|
|
211
|
+
"description": "sharepoint.file.list / sharepoint.file.search / sharepoint.file.read / sharepoint.file.upload (0.78.0): the document library, as a sharepoint.drive.list result named it; absent means the site's default drive (its Documents library). excel.worksheet.list / excel.range.read / excel.range.update / excel.table.list / excel.row.add / excel.worksheet.add (0.86.0): the drive a shared workbook lives in; absent means the person's own OneDrive."
|
|
212
212
|
},
|
|
213
213
|
"folderId": {
|
|
214
214
|
"$ref": "app-integrations-declaration.schema.json#/definitions/GraphId",
|
|
215
|
-
"description": "sharepoint.file.list / sharepoint.file.upload (0.78.0): the folder to list or upload into, as a sharepoint.file.list result named it (an entry with isFolder); absent means the drive's root."
|
|
215
|
+
"description": "sharepoint.file.list / sharepoint.file.upload (0.78.0): the folder to list or upload into, as a sharepoint.file.list result named it (an entry with isFolder); absent means the drive's root. drive.file.list / drive.file.upload / drive.folder.create (0.86.0): a Google Drive folder id; absent means the root of My Drive. onedrive.file.list / onedrive.file.upload / onedrive.folder.create: a OneDrive folder id; absent means the drive's root."
|
|
216
216
|
},
|
|
217
217
|
"fileId": {
|
|
218
218
|
"$ref": "app-integrations-declaration.schema.json#/definitions/GraphId",
|
|
219
|
-
"description": "sharepoint.file.read (0.78.0): the file, as a sharepoint.file.list, sharepoint.file.search or sharepoint.file.upload result named it."
|
|
219
|
+
"description": "sharepoint.file.read (0.78.0): the file, as a sharepoint.file.list, sharepoint.file.search or sharepoint.file.upload result named it. drive.file.read (0.86.0): a Google Drive file id. onedrive.file.read: a OneDrive item id. excel.* (0.86.0): the workbook (an .xlsx drive item) the operation opens."
|
|
220
220
|
},
|
|
221
221
|
"fields": {
|
|
222
222
|
"type": "object",
|
|
@@ -249,25 +249,25 @@
|
|
|
249
249
|
},
|
|
250
250
|
"conflict": {
|
|
251
251
|
"$ref": "#/definitions/SharePointConflictBehavior",
|
|
252
|
-
"description": "sharepoint.file.upload (0.78.0): what happens when a file of that name already exists in the folder; rename when absent."
|
|
252
|
+
"description": "sharepoint.file.upload (0.78.0): what happens when a file of that name already exists in the folder; rename when absent. drive.file.upload / onedrive.file.upload (0.86.0): the same (for Drive, rename and replace are governance's: Drive itself allows duplicate names)."
|
|
253
253
|
},
|
|
254
254
|
"filename": {
|
|
255
255
|
"type": "string",
|
|
256
256
|
"minLength": 1,
|
|
257
257
|
"maxLength": 255,
|
|
258
|
-
"description": "sharepoint.file.upload (0.78.0): the name the file is stored under (the result's `filename` is the stored name, which `conflict` rename may have changed)."
|
|
258
|
+
"description": "sharepoint.file.upload (0.78.0): the name the file is stored under (the result's `filename` is the stored name, which `conflict` rename may have changed). drive.file.upload / onedrive.file.upload (0.86.0): the same."
|
|
259
259
|
},
|
|
260
260
|
"contentType": {
|
|
261
261
|
"type": "string",
|
|
262
262
|
"minLength": 1,
|
|
263
263
|
"maxLength": 128,
|
|
264
|
-
"description": "sharepoint.file.upload (0.78.0): the file's MIME type, e.g. application/pdf."
|
|
264
|
+
"description": "sharepoint.file.upload (0.78.0): the file's MIME type, e.g. application/pdf. drive.file.upload / onedrive.file.upload (0.86.0): the same."
|
|
265
265
|
},
|
|
266
266
|
"dataBase64": {
|
|
267
267
|
"type": "string",
|
|
268
268
|
"minLength": 1,
|
|
269
269
|
"maxLength": 2796203,
|
|
270
|
-
"description": "sharepoint.file.upload (0.78.0): the file bytes, standard base64, at most 2 MiB of bytes (2,796,203 base64 characters)
|
|
270
|
+
"description": "sharepoint.file.upload (0.78.0): the file bytes, standard base64, at most 2 MiB of bytes (2,796,203 base64 characters) \u2014 the Gmail attachment bound. drive.file.upload / onedrive.file.upload (0.86.0): the same bound."
|
|
271
271
|
},
|
|
272
272
|
"columns": {
|
|
273
273
|
"type": "array",
|
|
@@ -363,7 +363,7 @@
|
|
|
363
363
|
"rows": {
|
|
364
364
|
"type": "array",
|
|
365
365
|
"minItems": 1,
|
|
366
|
-
"maxItems":
|
|
366
|
+
"maxItems": 5000,
|
|
367
367
|
"items": {
|
|
368
368
|
"type": "object",
|
|
369
369
|
"minProperties": 1,
|
|
@@ -387,7 +387,7 @@
|
|
|
387
387
|
},
|
|
388
388
|
"description": "One row keyed by column name, 1..64 columns; each value a string of at most 4000 characters, a number, a boolean or null. Which columns the alias approves, and whether a value fits its column type (the catalog's columnTypes, which only governance holds), is governance's check \u2014 the way warehouse.view.read's cross-field rules are."
|
|
389
389
|
},
|
|
390
|
-
"description": "warehouse.table.append (0.82.0): the rows to append, 1..
|
|
390
|
+
"description": "warehouse.table.append (0.82.0; 1..5000 since 0.85.0): the rows to append, 1..5000 of them, every one a record of the approved columns. Governance refuses an unapproved column, a value outside its column type and a request above its byte cap (8 MiB) with ROW_VALUE_INVALID; nothing is coerced."
|
|
391
391
|
},
|
|
392
392
|
"since": {
|
|
393
393
|
"type": "string",
|
|
@@ -399,13 +399,185 @@
|
|
|
399
399
|
"type": "string",
|
|
400
400
|
"maxLength": 32,
|
|
401
401
|
"description": "phone.sms.list (0.82.0): only messages from this sender id or number (as the provider reports it, e.g. `VK-GSTNIN` or `+919876543210`); absent lists every sender."
|
|
402
|
+
},
|
|
403
|
+
"calendarId": {
|
|
404
|
+
"type": "string",
|
|
405
|
+
"minLength": 1,
|
|
406
|
+
"maxLength": 256,
|
|
407
|
+
"description": "calendar.* (0.86.0): the Google calendar the operation reads or writes, as a calendar.calendar.list result named it; absent means `primary`, the person's own calendar (governance's default; a string input takes no contract default)."
|
|
408
|
+
},
|
|
409
|
+
"eventId": {
|
|
410
|
+
"type": "string",
|
|
411
|
+
"minLength": 1,
|
|
412
|
+
"maxLength": 1024,
|
|
413
|
+
"description": "calendar.event.read / calendar.event.update / calendar.event.cancel (0.86.0): the Google event id a calendar.event.list or calendar.event.create result named (an instance of a recurring event carries its `_<start>` suffix). outlook.event.read / outlook.event.update / outlook.event.cancel: the Graph event id an outlook.event.list or outlook.event.create result named."
|
|
414
|
+
},
|
|
415
|
+
"timeMin": {
|
|
416
|
+
"type": "string",
|
|
417
|
+
"minLength": 1,
|
|
418
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]{1,9})?(Z|[+-][0-9]{2}:[0-9]{2})$",
|
|
419
|
+
"description": "calendar.event.list (0.86.0): the start of the window, an RFC 3339 date-time with a zone; events ending after it are listed."
|
|
420
|
+
},
|
|
421
|
+
"timeMax": {
|
|
422
|
+
"type": "string",
|
|
423
|
+
"minLength": 1,
|
|
424
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]{1,9})?(Z|[+-][0-9]{2}:[0-9]{2})$",
|
|
425
|
+
"description": "calendar.event.list (0.86.0): the end of the window, an RFC 3339 date-time with a zone; events starting before it are listed."
|
|
426
|
+
},
|
|
427
|
+
"start": {
|
|
428
|
+
"type": "string",
|
|
429
|
+
"minLength": 1,
|
|
430
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]{1,9})?(Z|[+-][0-9]{2}:[0-9]{2})$",
|
|
431
|
+
"description": "calendar.event.create / calendar.event.update / outlook.event.create / outlook.event.update (0.86.0): when the event starts, an RFC 3339 date-time with a zone (for an all-day event its date part is used). outlook.event.list: the start of the calendar-view window."
|
|
432
|
+
},
|
|
433
|
+
"end": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"minLength": 1,
|
|
436
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]{1,9})?(Z|[+-][0-9]{2}:[0-9]{2})$",
|
|
437
|
+
"description": "calendar.event.create / calendar.event.update / outlook.event.create / outlook.event.update (0.86.0): when the event ends, the same way; the day after the last day for an all-day event. outlook.event.list: the end of the calendar-view window."
|
|
438
|
+
},
|
|
439
|
+
"timeZone": {
|
|
440
|
+
"type": "string",
|
|
441
|
+
"minLength": 1,
|
|
442
|
+
"maxLength": 64,
|
|
443
|
+
"description": "calendar.event.create / calendar.event.update / outlook.event.create / outlook.event.update (0.86.0): the IANA time zone the event is shown in (e.g. Asia/Kolkata); absent keeps the zone of `start`."
|
|
444
|
+
},
|
|
445
|
+
"title": {
|
|
446
|
+
"type": "string",
|
|
447
|
+
"minLength": 1,
|
|
448
|
+
"maxLength": 256,
|
|
449
|
+
"description": "calendar.event.create / outlook.event.create (0.86.0): the event's title (Google `summary`, Graph `subject`); optional on the updates. drive.folder.create / onedrive.folder.create: the new folder's name. docs.document.create: the document's title. sheets.spreadsheet.create: the spreadsheet's title. excel.worksheet.add: the new worksheet's name (1..31 at Excel; its check)."
|
|
450
|
+
},
|
|
451
|
+
"location": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"minLength": 1,
|
|
454
|
+
"maxLength": 512,
|
|
455
|
+
"description": "calendar.event.create / calendar.event.update / outlook.event.create / outlook.event.update (0.86.0): where the event is, as free text."
|
|
456
|
+
},
|
|
457
|
+
"attendees": {
|
|
458
|
+
"type": "array",
|
|
459
|
+
"minItems": 1,
|
|
460
|
+
"maxItems": 100,
|
|
461
|
+
"uniqueItems": true,
|
|
462
|
+
"items": {
|
|
463
|
+
"$ref": "#/definitions/EmailAddress"
|
|
464
|
+
},
|
|
465
|
+
"description": "calendar.event.create / calendar.event.update / outlook.event.create / outlook.event.update (0.86.0): the people invited, 1..100, by email; on an update the list replaces the invitees."
|
|
466
|
+
},
|
|
467
|
+
"allDay": {
|
|
468
|
+
"type": "boolean",
|
|
469
|
+
"description": "calendar.event.create / outlook.event.create (0.86.0): true makes the event span whole days, from the date of `start` to the day before the date of `end`; false or absent uses the times."
|
|
470
|
+
},
|
|
471
|
+
"documentId": {
|
|
472
|
+
"type": "string",
|
|
473
|
+
"pattern": "^[A-Za-z0-9_-]{10,128}$",
|
|
474
|
+
"description": "docs.document.read / docs.document.append / docs.text.replace (0.86.0): the Google Docs document id (the `/document/d/<id>` path segment, or a docs.document.create result's id)."
|
|
475
|
+
},
|
|
476
|
+
"spreadsheetId": {
|
|
477
|
+
"type": "string",
|
|
478
|
+
"pattern": "^[A-Za-z0-9_-]{10,128}$",
|
|
479
|
+
"description": "sheets.* (0.86.0): the Google Sheets spreadsheet id (the `/spreadsheets/d/<id>` path segment, or a sheets.spreadsheet.create result's id)."
|
|
480
|
+
},
|
|
481
|
+
"range": {
|
|
482
|
+
"type": "string",
|
|
483
|
+
"minLength": 1,
|
|
484
|
+
"maxLength": 256,
|
|
485
|
+
"description": "sheets.values.read / sheets.values.append / sheets.values.update / sheets.values.clear (0.86.0): the cells in A1 notation, e.g. `Orders!A1:D` or `Sheet1` (the whole sheet). An append finds the table the range names and writes below it."
|
|
486
|
+
},
|
|
487
|
+
"values": {
|
|
488
|
+
"type": "array",
|
|
489
|
+
"minItems": 1,
|
|
490
|
+
"maxItems": 1000,
|
|
491
|
+
"items": {
|
|
492
|
+
"type": "array",
|
|
493
|
+
"minItems": 1,
|
|
494
|
+
"maxItems": 100,
|
|
495
|
+
"items": {
|
|
496
|
+
"oneOf": [
|
|
497
|
+
{
|
|
498
|
+
"type": "string",
|
|
499
|
+
"maxLength": 4000
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"type": "number"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"type": "boolean"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"type": "null"
|
|
509
|
+
}
|
|
510
|
+
]
|
|
511
|
+
},
|
|
512
|
+
"description": "One row of cells, 1..100; each a string of at most 4000 characters, a number, a boolean or null (an empty cell)."
|
|
513
|
+
},
|
|
514
|
+
"description": "sheets.values.append / sheets.values.update / excel.range.update / excel.row.add (0.86.0): the cells to write as rows, 1..1000 of them, each 1..100 cells; every cell a string of at most 4000 characters, a number, a boolean or null. An update's grid must fit the range or address (the provider's check); the 64 KiB body cap is governance's."
|
|
515
|
+
},
|
|
516
|
+
"valueInput": {
|
|
517
|
+
"$ref": "#/definitions/SheetsValueInput",
|
|
518
|
+
"description": "sheets.values.append / sheets.values.update (0.86.0): how Google reads a cell string; user when absent."
|
|
519
|
+
},
|
|
520
|
+
"replacements": {
|
|
521
|
+
"type": "array",
|
|
522
|
+
"minItems": 1,
|
|
523
|
+
"maxItems": 64,
|
|
524
|
+
"items": {
|
|
525
|
+
"$ref": "#/definitions/DocsReplacement"
|
|
526
|
+
},
|
|
527
|
+
"description": "docs.text.replace (0.86.0): the find-and-replace pairs applied over the whole document, 1..64, in order (a mail merge: `{{customer}}` → the name)."
|
|
528
|
+
},
|
|
529
|
+
"worksheet": {
|
|
530
|
+
"type": "string",
|
|
531
|
+
"minLength": 1,
|
|
532
|
+
"maxLength": 255,
|
|
533
|
+
"description": "excel.range.read / excel.range.update (0.86.0): the worksheet, by name or id as an excel.worksheet.list result named it. excel.table.list: only that worksheet's tables; absent lists the workbook's."
|
|
534
|
+
},
|
|
535
|
+
"address": {
|
|
536
|
+
"type": "string",
|
|
537
|
+
"minLength": 1,
|
|
538
|
+
"maxLength": 64,
|
|
539
|
+
"description": "excel.range.read / excel.range.update (0.86.0): the cells in A1 notation without the sheet name, e.g. `A1:D10`; a read without one answers the worksheet's used range."
|
|
540
|
+
},
|
|
541
|
+
"tableName": {
|
|
542
|
+
"type": "string",
|
|
543
|
+
"minLength": 1,
|
|
544
|
+
"maxLength": 255,
|
|
545
|
+
"description": "excel.row.add (0.86.0): the table, by name or id as an excel.table.list result named it; the rows go below its last row."
|
|
546
|
+
},
|
|
547
|
+
"comment": {
|
|
548
|
+
"type": "string",
|
|
549
|
+
"minLength": 1,
|
|
550
|
+
"maxLength": 4000,
|
|
551
|
+
"description": "outlook.event.cancel (0.86.0): a note sent to the attendees with the cancellation."
|
|
552
|
+
},
|
|
553
|
+
"folder": {
|
|
554
|
+
"type": "string",
|
|
555
|
+
"minLength": 1,
|
|
556
|
+
"maxLength": 256,
|
|
557
|
+
"description": "outlook.message.list (0.86.0): the mail folder, a well-known name (`inbox`, `sentitems`, `drafts`, `archive`...) or a folder id; inbox when absent."
|
|
558
|
+
},
|
|
559
|
+
"exportAs": {
|
|
560
|
+
"$ref": "#/definitions/DriveExportFormat",
|
|
561
|
+
"description": "drive.file.read (0.86.0): how a Google Docs, Sheets or Slides file is rendered on the way out; absent exports a Docs file as text, a Sheets file as csv and a Slides file as pdf, and downloads any other file as is."
|
|
562
|
+
},
|
|
563
|
+
"sheets": {
|
|
564
|
+
"type": "array",
|
|
565
|
+
"minItems": 1,
|
|
566
|
+
"maxItems": 20,
|
|
567
|
+
"uniqueItems": true,
|
|
568
|
+
"items": {
|
|
569
|
+
"type": "string",
|
|
570
|
+
"minLength": 1,
|
|
571
|
+
"maxLength": 100
|
|
572
|
+
},
|
|
573
|
+
"description": "sheets.spreadsheet.create (0.86.0): the titles of the sheets the new spreadsheet starts with, 1..20; absent creates the one default sheet."
|
|
402
574
|
}
|
|
403
575
|
}
|
|
404
576
|
},
|
|
405
577
|
"idempotencyKey": {
|
|
406
578
|
"type": "string",
|
|
407
579
|
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
|
|
408
|
-
"description": "UUID of one explicit Send action; required for the sends (slack.message.post, slack.dm.send, gmail.message.send), the receipted Basecamp writes (basecamp.todo.create, basecamp.message.post, basecamp.comment.post, basecamp.campfire.post; 0.76.0) the receipted SharePoint writes (sharepoint.item.create, sharepoint.file.upload; 0.78.0)
|
|
580
|
+
"description": "UUID of one explicit Send action; required for the sends (slack.message.post, slack.dm.send, gmail.message.send), the receipted Basecamp writes (basecamp.todo.create, basecamp.message.post, basecamp.comment.post, basecamp.campfire.post; 0.76.0) the receipted SharePoint writes (sharepoint.item.create, sharepoint.file.upload; 0.78.0) the receipted warehouse append (warehouse.table.append; 0.82.0, where it is also the BigQuery load job id) and the receipted Google Workspace and Microsoft 365 writes (0.86.0: calendar.event.create, drive.file.upload, drive.folder.create, docs.document.create, sheets.values.append, sheets.spreadsheet.create, outlook.message.send, outlook.message.reply, outlook.event.create, onedrive.file.upload, onedrive.folder.create, excel.row.add, excel.worksheet.add, teams.message.post, teams.reply.post), refused everywhere else. The same key with the same payload and subject returns the recorded outcome for seven days."
|
|
409
581
|
},
|
|
410
582
|
"mode": {
|
|
411
583
|
"$ref": "app-integrations-declaration.schema.json#/definitions/IntegrationIdentityMode",
|
|
@@ -485,7 +657,12 @@
|
|
|
485
657
|
},
|
|
486
658
|
"required": [
|
|
487
659
|
"text"
|
|
488
|
-
]
|
|
660
|
+
],
|
|
661
|
+
"properties": {
|
|
662
|
+
"text": {
|
|
663
|
+
"maxLength": 4000
|
|
664
|
+
}
|
|
665
|
+
}
|
|
489
666
|
}
|
|
490
667
|
}
|
|
491
668
|
}
|
|
@@ -517,7 +694,15 @@
|
|
|
517
694
|
"required": [
|
|
518
695
|
"messageId",
|
|
519
696
|
"text"
|
|
520
|
-
]
|
|
697
|
+
],
|
|
698
|
+
"properties": {
|
|
699
|
+
"text": {
|
|
700
|
+
"maxLength": 4000
|
|
701
|
+
},
|
|
702
|
+
"messageId": {
|
|
703
|
+
"pattern": "^[A-Za-z0-9._-]{1,64}$"
|
|
704
|
+
}
|
|
705
|
+
}
|
|
521
706
|
}
|
|
522
707
|
}
|
|
523
708
|
}
|
|
@@ -546,7 +731,12 @@
|
|
|
546
731
|
},
|
|
547
732
|
"required": [
|
|
548
733
|
"messageId"
|
|
549
|
-
]
|
|
734
|
+
],
|
|
735
|
+
"properties": {
|
|
736
|
+
"messageId": {
|
|
737
|
+
"pattern": "^[A-Za-z0-9._-]{1,64}$"
|
|
738
|
+
}
|
|
739
|
+
}
|
|
550
740
|
}
|
|
551
741
|
}
|
|
552
742
|
}
|
|
@@ -581,6 +771,9 @@
|
|
|
581
771
|
"properties": {
|
|
582
772
|
"to": {
|
|
583
773
|
"maxItems": 8
|
|
774
|
+
},
|
|
775
|
+
"text": {
|
|
776
|
+
"maxLength": 4000
|
|
584
777
|
}
|
|
585
778
|
}
|
|
586
779
|
}
|
|
@@ -1035,7 +1228,12 @@
|
|
|
1035
1228
|
},
|
|
1036
1229
|
"required": [
|
|
1037
1230
|
"messageId"
|
|
1038
|
-
]
|
|
1231
|
+
],
|
|
1232
|
+
"properties": {
|
|
1233
|
+
"messageId": {
|
|
1234
|
+
"pattern": "^[A-Za-z0-9._-]{1,64}$"
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1039
1237
|
}
|
|
1040
1238
|
}
|
|
1041
1239
|
}
|
|
@@ -1067,7 +1265,12 @@
|
|
|
1067
1265
|
"required": [
|
|
1068
1266
|
"messageId",
|
|
1069
1267
|
"attachmentId"
|
|
1070
|
-
]
|
|
1268
|
+
],
|
|
1269
|
+
"properties": {
|
|
1270
|
+
"messageId": {
|
|
1271
|
+
"pattern": "^[A-Za-z0-9._-]{1,64}$"
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1071
1274
|
}
|
|
1072
1275
|
}
|
|
1073
1276
|
}
|
|
@@ -1104,7 +1307,12 @@
|
|
|
1104
1307
|
"to",
|
|
1105
1308
|
"subject",
|
|
1106
1309
|
"text"
|
|
1107
|
-
]
|
|
1310
|
+
],
|
|
1311
|
+
"properties": {
|
|
1312
|
+
"text": {
|
|
1313
|
+
"maxLength": 4000
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1108
1316
|
}
|
|
1109
1317
|
}
|
|
1110
1318
|
}
|
|
@@ -1594,12 +1802,109 @@
|
|
|
1594
1802
|
"if": {
|
|
1595
1803
|
"properties": {
|
|
1596
1804
|
"operation": {
|
|
1597
|
-
"const": "
|
|
1805
|
+
"const": "calendar.calendar.list"
|
|
1806
|
+
}
|
|
1807
|
+
}
|
|
1808
|
+
},
|
|
1809
|
+
"then": {
|
|
1810
|
+
"x-read-only": true,
|
|
1811
|
+
"x-primary-identity": "user",
|
|
1812
|
+
"not": {
|
|
1813
|
+
"required": [
|
|
1814
|
+
"idempotencyKey"
|
|
1815
|
+
]
|
|
1816
|
+
},
|
|
1817
|
+
"properties": {
|
|
1818
|
+
"mode": false,
|
|
1819
|
+
"input": {
|
|
1820
|
+
"propertyNames": {
|
|
1821
|
+
"enum": [
|
|
1822
|
+
"pageToken"
|
|
1823
|
+
]
|
|
1824
|
+
}
|
|
1825
|
+
}
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
"if": {
|
|
1831
|
+
"properties": {
|
|
1832
|
+
"operation": {
|
|
1833
|
+
"const": "calendar.event.list"
|
|
1834
|
+
}
|
|
1835
|
+
}
|
|
1836
|
+
},
|
|
1837
|
+
"then": {
|
|
1838
|
+
"x-read-only": true,
|
|
1839
|
+
"x-primary-identity": "user",
|
|
1840
|
+
"not": {
|
|
1841
|
+
"required": [
|
|
1842
|
+
"idempotencyKey"
|
|
1843
|
+
]
|
|
1844
|
+
},
|
|
1845
|
+
"properties": {
|
|
1846
|
+
"mode": false,
|
|
1847
|
+
"input": {
|
|
1848
|
+
"propertyNames": {
|
|
1849
|
+
"enum": [
|
|
1850
|
+
"calendarId",
|
|
1851
|
+
"timeMin",
|
|
1852
|
+
"timeMax",
|
|
1853
|
+
"q",
|
|
1854
|
+
"pageToken"
|
|
1855
|
+
]
|
|
1856
|
+
},
|
|
1857
|
+
"required": [
|
|
1858
|
+
"timeMin",
|
|
1859
|
+
"timeMax"
|
|
1860
|
+
]
|
|
1861
|
+
}
|
|
1862
|
+
}
|
|
1863
|
+
}
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
"if": {
|
|
1867
|
+
"properties": {
|
|
1868
|
+
"operation": {
|
|
1869
|
+
"const": "calendar.event.read"
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
},
|
|
1873
|
+
"then": {
|
|
1874
|
+
"x-read-only": true,
|
|
1875
|
+
"x-primary-identity": "user",
|
|
1876
|
+
"not": {
|
|
1877
|
+
"required": [
|
|
1878
|
+
"idempotencyKey"
|
|
1879
|
+
]
|
|
1880
|
+
},
|
|
1881
|
+
"properties": {
|
|
1882
|
+
"mode": false,
|
|
1883
|
+
"input": {
|
|
1884
|
+
"propertyNames": {
|
|
1885
|
+
"enum": [
|
|
1886
|
+
"calendarId",
|
|
1887
|
+
"eventId"
|
|
1888
|
+
]
|
|
1889
|
+
},
|
|
1890
|
+
"required": [
|
|
1891
|
+
"eventId"
|
|
1892
|
+
]
|
|
1893
|
+
}
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1896
|
+
},
|
|
1897
|
+
{
|
|
1898
|
+
"if": {
|
|
1899
|
+
"properties": {
|
|
1900
|
+
"operation": {
|
|
1901
|
+
"const": "calendar.event.create"
|
|
1598
1902
|
}
|
|
1599
1903
|
}
|
|
1600
1904
|
},
|
|
1601
1905
|
"then": {
|
|
1602
1906
|
"x-read-only": false,
|
|
1907
|
+
"x-primary-identity": "user",
|
|
1603
1908
|
"required": [
|
|
1604
1909
|
"idempotencyKey"
|
|
1605
1910
|
],
|
|
@@ -1608,29 +1913,1451 @@
|
|
|
1608
1913
|
"input": {
|
|
1609
1914
|
"propertyNames": {
|
|
1610
1915
|
"enum": [
|
|
1611
|
-
"
|
|
1916
|
+
"calendarId",
|
|
1917
|
+
"title",
|
|
1918
|
+
"start",
|
|
1919
|
+
"end",
|
|
1920
|
+
"timeZone",
|
|
1921
|
+
"allDay",
|
|
1922
|
+
"description",
|
|
1923
|
+
"location",
|
|
1924
|
+
"attendees",
|
|
1925
|
+
"notify"
|
|
1612
1926
|
]
|
|
1613
1927
|
},
|
|
1614
1928
|
"required": [
|
|
1615
|
-
"
|
|
1616
|
-
|
|
1929
|
+
"title",
|
|
1930
|
+
"start",
|
|
1931
|
+
"end"
|
|
1932
|
+
],
|
|
1933
|
+
"properties": {
|
|
1934
|
+
"description": {
|
|
1935
|
+
"maxLength": 8000
|
|
1936
|
+
}
|
|
1937
|
+
}
|
|
1617
1938
|
}
|
|
1618
1939
|
}
|
|
1619
1940
|
}
|
|
1620
|
-
}
|
|
1621
|
-
],
|
|
1622
|
-
"definitions": {
|
|
1623
|
-
"EmailAddress": {
|
|
1624
|
-
"type": "string",
|
|
1625
|
-
"minLength": 3,
|
|
1626
|
-
"maxLength": 254,
|
|
1627
|
-
"pattern": "^[^\\s@<>,;\"]+@[^\\s@<>,;\"]+\\.[^\\s@<>,;\"]+$",
|
|
1628
|
-
"description": "One bare email address (no display name)."
|
|
1629
1941
|
},
|
|
1630
|
-
|
|
1631
|
-
"
|
|
1632
|
-
|
|
1633
|
-
|
|
1942
|
+
{
|
|
1943
|
+
"if": {
|
|
1944
|
+
"properties": {
|
|
1945
|
+
"operation": {
|
|
1946
|
+
"const": "calendar.event.update"
|
|
1947
|
+
}
|
|
1948
|
+
}
|
|
1949
|
+
},
|
|
1950
|
+
"then": {
|
|
1951
|
+
"x-read-only": false,
|
|
1952
|
+
"x-primary-identity": "user",
|
|
1953
|
+
"not": {
|
|
1954
|
+
"required": [
|
|
1955
|
+
"idempotencyKey"
|
|
1956
|
+
]
|
|
1957
|
+
},
|
|
1958
|
+
"properties": {
|
|
1959
|
+
"mode": false,
|
|
1960
|
+
"input": {
|
|
1961
|
+
"propertyNames": {
|
|
1962
|
+
"enum": [
|
|
1963
|
+
"calendarId",
|
|
1964
|
+
"eventId",
|
|
1965
|
+
"title",
|
|
1966
|
+
"start",
|
|
1967
|
+
"end",
|
|
1968
|
+
"timeZone",
|
|
1969
|
+
"description",
|
|
1970
|
+
"location",
|
|
1971
|
+
"attendees",
|
|
1972
|
+
"notify"
|
|
1973
|
+
]
|
|
1974
|
+
},
|
|
1975
|
+
"required": [
|
|
1976
|
+
"eventId"
|
|
1977
|
+
],
|
|
1978
|
+
"properties": {
|
|
1979
|
+
"description": {
|
|
1980
|
+
"maxLength": 8000
|
|
1981
|
+
}
|
|
1982
|
+
}
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
}
|
|
1986
|
+
},
|
|
1987
|
+
{
|
|
1988
|
+
"if": {
|
|
1989
|
+
"properties": {
|
|
1990
|
+
"operation": {
|
|
1991
|
+
"const": "calendar.event.cancel"
|
|
1992
|
+
}
|
|
1993
|
+
}
|
|
1994
|
+
},
|
|
1995
|
+
"then": {
|
|
1996
|
+
"x-read-only": false,
|
|
1997
|
+
"x-primary-identity": "user",
|
|
1998
|
+
"not": {
|
|
1999
|
+
"required": [
|
|
2000
|
+
"idempotencyKey"
|
|
2001
|
+
]
|
|
2002
|
+
},
|
|
2003
|
+
"properties": {
|
|
2004
|
+
"mode": false,
|
|
2005
|
+
"input": {
|
|
2006
|
+
"propertyNames": {
|
|
2007
|
+
"enum": [
|
|
2008
|
+
"calendarId",
|
|
2009
|
+
"eventId",
|
|
2010
|
+
"notify"
|
|
2011
|
+
]
|
|
2012
|
+
},
|
|
2013
|
+
"required": [
|
|
2014
|
+
"eventId"
|
|
2015
|
+
]
|
|
2016
|
+
}
|
|
2017
|
+
}
|
|
2018
|
+
}
|
|
2019
|
+
},
|
|
2020
|
+
{
|
|
2021
|
+
"if": {
|
|
2022
|
+
"properties": {
|
|
2023
|
+
"operation": {
|
|
2024
|
+
"const": "drive.file.list"
|
|
2025
|
+
}
|
|
2026
|
+
}
|
|
2027
|
+
},
|
|
2028
|
+
"then": {
|
|
2029
|
+
"x-read-only": true,
|
|
2030
|
+
"x-primary-identity": "user",
|
|
2031
|
+
"not": {
|
|
2032
|
+
"required": [
|
|
2033
|
+
"idempotencyKey"
|
|
2034
|
+
]
|
|
2035
|
+
},
|
|
2036
|
+
"properties": {
|
|
2037
|
+
"mode": false,
|
|
2038
|
+
"input": {
|
|
2039
|
+
"propertyNames": {
|
|
2040
|
+
"enum": [
|
|
2041
|
+
"folderId",
|
|
2042
|
+
"pageToken"
|
|
2043
|
+
]
|
|
2044
|
+
}
|
|
2045
|
+
}
|
|
2046
|
+
}
|
|
2047
|
+
}
|
|
2048
|
+
},
|
|
2049
|
+
{
|
|
2050
|
+
"if": {
|
|
2051
|
+
"properties": {
|
|
2052
|
+
"operation": {
|
|
2053
|
+
"const": "drive.file.search"
|
|
2054
|
+
}
|
|
2055
|
+
}
|
|
2056
|
+
},
|
|
2057
|
+
"then": {
|
|
2058
|
+
"x-read-only": true,
|
|
2059
|
+
"x-primary-identity": "user",
|
|
2060
|
+
"not": {
|
|
2061
|
+
"required": [
|
|
2062
|
+
"idempotencyKey"
|
|
2063
|
+
]
|
|
2064
|
+
},
|
|
2065
|
+
"properties": {
|
|
2066
|
+
"mode": false,
|
|
2067
|
+
"input": {
|
|
2068
|
+
"propertyNames": {
|
|
2069
|
+
"enum": [
|
|
2070
|
+
"q",
|
|
2071
|
+
"pageToken"
|
|
2072
|
+
]
|
|
2073
|
+
},
|
|
2074
|
+
"required": [
|
|
2075
|
+
"q"
|
|
2076
|
+
]
|
|
2077
|
+
}
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
},
|
|
2081
|
+
{
|
|
2082
|
+
"if": {
|
|
2083
|
+
"properties": {
|
|
2084
|
+
"operation": {
|
|
2085
|
+
"const": "drive.file.read"
|
|
2086
|
+
}
|
|
2087
|
+
}
|
|
2088
|
+
},
|
|
2089
|
+
"then": {
|
|
2090
|
+
"x-read-only": true,
|
|
2091
|
+
"x-primary-identity": "user",
|
|
2092
|
+
"not": {
|
|
2093
|
+
"required": [
|
|
2094
|
+
"idempotencyKey"
|
|
2095
|
+
]
|
|
2096
|
+
},
|
|
2097
|
+
"properties": {
|
|
2098
|
+
"mode": false,
|
|
2099
|
+
"input": {
|
|
2100
|
+
"propertyNames": {
|
|
2101
|
+
"enum": [
|
|
2102
|
+
"fileId",
|
|
2103
|
+
"exportAs"
|
|
2104
|
+
]
|
|
2105
|
+
},
|
|
2106
|
+
"required": [
|
|
2107
|
+
"fileId"
|
|
2108
|
+
]
|
|
2109
|
+
}
|
|
2110
|
+
}
|
|
2111
|
+
}
|
|
2112
|
+
},
|
|
2113
|
+
{
|
|
2114
|
+
"if": {
|
|
2115
|
+
"properties": {
|
|
2116
|
+
"operation": {
|
|
2117
|
+
"const": "drive.file.upload"
|
|
2118
|
+
}
|
|
2119
|
+
}
|
|
2120
|
+
},
|
|
2121
|
+
"then": {
|
|
2122
|
+
"x-read-only": false,
|
|
2123
|
+
"x-primary-identity": "user",
|
|
2124
|
+
"required": [
|
|
2125
|
+
"idempotencyKey"
|
|
2126
|
+
],
|
|
2127
|
+
"properties": {
|
|
2128
|
+
"mode": false,
|
|
2129
|
+
"input": {
|
|
2130
|
+
"propertyNames": {
|
|
2131
|
+
"enum": [
|
|
2132
|
+
"filename",
|
|
2133
|
+
"contentType",
|
|
2134
|
+
"dataBase64",
|
|
2135
|
+
"folderId",
|
|
2136
|
+
"conflict"
|
|
2137
|
+
]
|
|
2138
|
+
},
|
|
2139
|
+
"required": [
|
|
2140
|
+
"filename",
|
|
2141
|
+
"contentType",
|
|
2142
|
+
"dataBase64"
|
|
2143
|
+
]
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
}
|
|
2147
|
+
},
|
|
2148
|
+
{
|
|
2149
|
+
"if": {
|
|
2150
|
+
"properties": {
|
|
2151
|
+
"operation": {
|
|
2152
|
+
"const": "drive.folder.create"
|
|
2153
|
+
}
|
|
2154
|
+
}
|
|
2155
|
+
},
|
|
2156
|
+
"then": {
|
|
2157
|
+
"x-read-only": false,
|
|
2158
|
+
"x-primary-identity": "user",
|
|
2159
|
+
"required": [
|
|
2160
|
+
"idempotencyKey"
|
|
2161
|
+
],
|
|
2162
|
+
"properties": {
|
|
2163
|
+
"mode": false,
|
|
2164
|
+
"input": {
|
|
2165
|
+
"propertyNames": {
|
|
2166
|
+
"enum": [
|
|
2167
|
+
"title",
|
|
2168
|
+
"folderId"
|
|
2169
|
+
]
|
|
2170
|
+
},
|
|
2171
|
+
"required": [
|
|
2172
|
+
"title"
|
|
2173
|
+
]
|
|
2174
|
+
}
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
},
|
|
2178
|
+
{
|
|
2179
|
+
"if": {
|
|
2180
|
+
"properties": {
|
|
2181
|
+
"operation": {
|
|
2182
|
+
"const": "docs.document.read"
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
},
|
|
2186
|
+
"then": {
|
|
2187
|
+
"x-read-only": true,
|
|
2188
|
+
"x-primary-identity": "user",
|
|
2189
|
+
"not": {
|
|
2190
|
+
"required": [
|
|
2191
|
+
"idempotencyKey"
|
|
2192
|
+
]
|
|
2193
|
+
},
|
|
2194
|
+
"properties": {
|
|
2195
|
+
"mode": false,
|
|
2196
|
+
"input": {
|
|
2197
|
+
"propertyNames": {
|
|
2198
|
+
"enum": [
|
|
2199
|
+
"documentId"
|
|
2200
|
+
]
|
|
2201
|
+
},
|
|
2202
|
+
"required": [
|
|
2203
|
+
"documentId"
|
|
2204
|
+
]
|
|
2205
|
+
}
|
|
2206
|
+
}
|
|
2207
|
+
}
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"if": {
|
|
2211
|
+
"properties": {
|
|
2212
|
+
"operation": {
|
|
2213
|
+
"const": "docs.document.create"
|
|
2214
|
+
}
|
|
2215
|
+
}
|
|
2216
|
+
},
|
|
2217
|
+
"then": {
|
|
2218
|
+
"x-read-only": false,
|
|
2219
|
+
"x-primary-identity": "user",
|
|
2220
|
+
"required": [
|
|
2221
|
+
"idempotencyKey"
|
|
2222
|
+
],
|
|
2223
|
+
"properties": {
|
|
2224
|
+
"mode": false,
|
|
2225
|
+
"input": {
|
|
2226
|
+
"propertyNames": {
|
|
2227
|
+
"enum": [
|
|
2228
|
+
"title",
|
|
2229
|
+
"text"
|
|
2230
|
+
]
|
|
2231
|
+
},
|
|
2232
|
+
"required": [
|
|
2233
|
+
"title"
|
|
2234
|
+
]
|
|
2235
|
+
}
|
|
2236
|
+
}
|
|
2237
|
+
}
|
|
2238
|
+
},
|
|
2239
|
+
{
|
|
2240
|
+
"if": {
|
|
2241
|
+
"properties": {
|
|
2242
|
+
"operation": {
|
|
2243
|
+
"const": "docs.document.append"
|
|
2244
|
+
}
|
|
2245
|
+
}
|
|
2246
|
+
},
|
|
2247
|
+
"then": {
|
|
2248
|
+
"x-read-only": false,
|
|
2249
|
+
"x-primary-identity": "user",
|
|
2250
|
+
"not": {
|
|
2251
|
+
"required": [
|
|
2252
|
+
"idempotencyKey"
|
|
2253
|
+
]
|
|
2254
|
+
},
|
|
2255
|
+
"properties": {
|
|
2256
|
+
"mode": false,
|
|
2257
|
+
"input": {
|
|
2258
|
+
"propertyNames": {
|
|
2259
|
+
"enum": [
|
|
2260
|
+
"documentId",
|
|
2261
|
+
"text"
|
|
2262
|
+
]
|
|
2263
|
+
},
|
|
2264
|
+
"required": [
|
|
2265
|
+
"documentId",
|
|
2266
|
+
"text"
|
|
2267
|
+
]
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2270
|
+
}
|
|
2271
|
+
},
|
|
2272
|
+
{
|
|
2273
|
+
"if": {
|
|
2274
|
+
"properties": {
|
|
2275
|
+
"operation": {
|
|
2276
|
+
"const": "docs.text.replace"
|
|
2277
|
+
}
|
|
2278
|
+
}
|
|
2279
|
+
},
|
|
2280
|
+
"then": {
|
|
2281
|
+
"x-read-only": false,
|
|
2282
|
+
"x-primary-identity": "user",
|
|
2283
|
+
"not": {
|
|
2284
|
+
"required": [
|
|
2285
|
+
"idempotencyKey"
|
|
2286
|
+
]
|
|
2287
|
+
},
|
|
2288
|
+
"properties": {
|
|
2289
|
+
"mode": false,
|
|
2290
|
+
"input": {
|
|
2291
|
+
"propertyNames": {
|
|
2292
|
+
"enum": [
|
|
2293
|
+
"documentId",
|
|
2294
|
+
"replacements"
|
|
2295
|
+
]
|
|
2296
|
+
},
|
|
2297
|
+
"required": [
|
|
2298
|
+
"documentId",
|
|
2299
|
+
"replacements"
|
|
2300
|
+
]
|
|
2301
|
+
}
|
|
2302
|
+
}
|
|
2303
|
+
}
|
|
2304
|
+
},
|
|
2305
|
+
{
|
|
2306
|
+
"if": {
|
|
2307
|
+
"properties": {
|
|
2308
|
+
"operation": {
|
|
2309
|
+
"const": "sheets.spreadsheet.read"
|
|
2310
|
+
}
|
|
2311
|
+
}
|
|
2312
|
+
},
|
|
2313
|
+
"then": {
|
|
2314
|
+
"x-read-only": true,
|
|
2315
|
+
"x-primary-identity": "user",
|
|
2316
|
+
"not": {
|
|
2317
|
+
"required": [
|
|
2318
|
+
"idempotencyKey"
|
|
2319
|
+
]
|
|
2320
|
+
},
|
|
2321
|
+
"properties": {
|
|
2322
|
+
"mode": false,
|
|
2323
|
+
"input": {
|
|
2324
|
+
"propertyNames": {
|
|
2325
|
+
"enum": [
|
|
2326
|
+
"spreadsheetId"
|
|
2327
|
+
]
|
|
2328
|
+
},
|
|
2329
|
+
"required": [
|
|
2330
|
+
"spreadsheetId"
|
|
2331
|
+
]
|
|
2332
|
+
}
|
|
2333
|
+
}
|
|
2334
|
+
}
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
"if": {
|
|
2338
|
+
"properties": {
|
|
2339
|
+
"operation": {
|
|
2340
|
+
"const": "sheets.values.read"
|
|
2341
|
+
}
|
|
2342
|
+
}
|
|
2343
|
+
},
|
|
2344
|
+
"then": {
|
|
2345
|
+
"x-read-only": true,
|
|
2346
|
+
"x-primary-identity": "user",
|
|
2347
|
+
"not": {
|
|
2348
|
+
"required": [
|
|
2349
|
+
"idempotencyKey"
|
|
2350
|
+
]
|
|
2351
|
+
},
|
|
2352
|
+
"properties": {
|
|
2353
|
+
"mode": false,
|
|
2354
|
+
"input": {
|
|
2355
|
+
"propertyNames": {
|
|
2356
|
+
"enum": [
|
|
2357
|
+
"spreadsheetId",
|
|
2358
|
+
"range"
|
|
2359
|
+
]
|
|
2360
|
+
},
|
|
2361
|
+
"required": [
|
|
2362
|
+
"spreadsheetId",
|
|
2363
|
+
"range"
|
|
2364
|
+
]
|
|
2365
|
+
}
|
|
2366
|
+
}
|
|
2367
|
+
}
|
|
2368
|
+
},
|
|
2369
|
+
{
|
|
2370
|
+
"if": {
|
|
2371
|
+
"properties": {
|
|
2372
|
+
"operation": {
|
|
2373
|
+
"const": "sheets.values.append"
|
|
2374
|
+
}
|
|
2375
|
+
}
|
|
2376
|
+
},
|
|
2377
|
+
"then": {
|
|
2378
|
+
"x-read-only": false,
|
|
2379
|
+
"x-primary-identity": "user",
|
|
2380
|
+
"required": [
|
|
2381
|
+
"idempotencyKey"
|
|
2382
|
+
],
|
|
2383
|
+
"properties": {
|
|
2384
|
+
"mode": false,
|
|
2385
|
+
"input": {
|
|
2386
|
+
"propertyNames": {
|
|
2387
|
+
"enum": [
|
|
2388
|
+
"spreadsheetId",
|
|
2389
|
+
"range",
|
|
2390
|
+
"values",
|
|
2391
|
+
"valueInput"
|
|
2392
|
+
]
|
|
2393
|
+
},
|
|
2394
|
+
"required": [
|
|
2395
|
+
"spreadsheetId",
|
|
2396
|
+
"range",
|
|
2397
|
+
"values"
|
|
2398
|
+
]
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
}
|
|
2402
|
+
},
|
|
2403
|
+
{
|
|
2404
|
+
"if": {
|
|
2405
|
+
"properties": {
|
|
2406
|
+
"operation": {
|
|
2407
|
+
"const": "sheets.values.update"
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
},
|
|
2411
|
+
"then": {
|
|
2412
|
+
"x-read-only": false,
|
|
2413
|
+
"x-primary-identity": "user",
|
|
2414
|
+
"not": {
|
|
2415
|
+
"required": [
|
|
2416
|
+
"idempotencyKey"
|
|
2417
|
+
]
|
|
2418
|
+
},
|
|
2419
|
+
"properties": {
|
|
2420
|
+
"mode": false,
|
|
2421
|
+
"input": {
|
|
2422
|
+
"propertyNames": {
|
|
2423
|
+
"enum": [
|
|
2424
|
+
"spreadsheetId",
|
|
2425
|
+
"range",
|
|
2426
|
+
"values",
|
|
2427
|
+
"valueInput"
|
|
2428
|
+
]
|
|
2429
|
+
},
|
|
2430
|
+
"required": [
|
|
2431
|
+
"spreadsheetId",
|
|
2432
|
+
"range",
|
|
2433
|
+
"values"
|
|
2434
|
+
]
|
|
2435
|
+
}
|
|
2436
|
+
}
|
|
2437
|
+
}
|
|
2438
|
+
},
|
|
2439
|
+
{
|
|
2440
|
+
"if": {
|
|
2441
|
+
"properties": {
|
|
2442
|
+
"operation": {
|
|
2443
|
+
"const": "sheets.values.clear"
|
|
2444
|
+
}
|
|
2445
|
+
}
|
|
2446
|
+
},
|
|
2447
|
+
"then": {
|
|
2448
|
+
"x-read-only": false,
|
|
2449
|
+
"x-primary-identity": "user",
|
|
2450
|
+
"not": {
|
|
2451
|
+
"required": [
|
|
2452
|
+
"idempotencyKey"
|
|
2453
|
+
]
|
|
2454
|
+
},
|
|
2455
|
+
"properties": {
|
|
2456
|
+
"mode": false,
|
|
2457
|
+
"input": {
|
|
2458
|
+
"propertyNames": {
|
|
2459
|
+
"enum": [
|
|
2460
|
+
"spreadsheetId",
|
|
2461
|
+
"range"
|
|
2462
|
+
]
|
|
2463
|
+
},
|
|
2464
|
+
"required": [
|
|
2465
|
+
"spreadsheetId",
|
|
2466
|
+
"range"
|
|
2467
|
+
]
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
},
|
|
2472
|
+
{
|
|
2473
|
+
"if": {
|
|
2474
|
+
"properties": {
|
|
2475
|
+
"operation": {
|
|
2476
|
+
"const": "sheets.spreadsheet.create"
|
|
2477
|
+
}
|
|
2478
|
+
}
|
|
2479
|
+
},
|
|
2480
|
+
"then": {
|
|
2481
|
+
"x-read-only": false,
|
|
2482
|
+
"x-primary-identity": "user",
|
|
2483
|
+
"required": [
|
|
2484
|
+
"idempotencyKey"
|
|
2485
|
+
],
|
|
2486
|
+
"properties": {
|
|
2487
|
+
"mode": false,
|
|
2488
|
+
"input": {
|
|
2489
|
+
"propertyNames": {
|
|
2490
|
+
"enum": [
|
|
2491
|
+
"title",
|
|
2492
|
+
"sheets"
|
|
2493
|
+
]
|
|
2494
|
+
},
|
|
2495
|
+
"required": [
|
|
2496
|
+
"title"
|
|
2497
|
+
]
|
|
2498
|
+
}
|
|
2499
|
+
}
|
|
2500
|
+
}
|
|
2501
|
+
},
|
|
2502
|
+
{
|
|
2503
|
+
"if": {
|
|
2504
|
+
"properties": {
|
|
2505
|
+
"operation": {
|
|
2506
|
+
"const": "outlook.message.list"
|
|
2507
|
+
}
|
|
2508
|
+
}
|
|
2509
|
+
},
|
|
2510
|
+
"then": {
|
|
2511
|
+
"x-read-only": true,
|
|
2512
|
+
"x-primary-identity": "user",
|
|
2513
|
+
"not": {
|
|
2514
|
+
"required": [
|
|
2515
|
+
"idempotencyKey"
|
|
2516
|
+
]
|
|
2517
|
+
},
|
|
2518
|
+
"properties": {
|
|
2519
|
+
"mode": false,
|
|
2520
|
+
"input": {
|
|
2521
|
+
"propertyNames": {
|
|
2522
|
+
"enum": [
|
|
2523
|
+
"folder",
|
|
2524
|
+
"q",
|
|
2525
|
+
"pageToken"
|
|
2526
|
+
]
|
|
2527
|
+
}
|
|
2528
|
+
}
|
|
2529
|
+
}
|
|
2530
|
+
}
|
|
2531
|
+
},
|
|
2532
|
+
{
|
|
2533
|
+
"if": {
|
|
2534
|
+
"properties": {
|
|
2535
|
+
"operation": {
|
|
2536
|
+
"const": "outlook.message.read"
|
|
2537
|
+
}
|
|
2538
|
+
}
|
|
2539
|
+
},
|
|
2540
|
+
"then": {
|
|
2541
|
+
"x-read-only": true,
|
|
2542
|
+
"x-primary-identity": "user",
|
|
2543
|
+
"not": {
|
|
2544
|
+
"required": [
|
|
2545
|
+
"idempotencyKey"
|
|
2546
|
+
]
|
|
2547
|
+
},
|
|
2548
|
+
"properties": {
|
|
2549
|
+
"mode": false,
|
|
2550
|
+
"input": {
|
|
2551
|
+
"propertyNames": {
|
|
2552
|
+
"enum": [
|
|
2553
|
+
"messageId"
|
|
2554
|
+
]
|
|
2555
|
+
},
|
|
2556
|
+
"required": [
|
|
2557
|
+
"messageId"
|
|
2558
|
+
]
|
|
2559
|
+
}
|
|
2560
|
+
}
|
|
2561
|
+
}
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
"if": {
|
|
2565
|
+
"properties": {
|
|
2566
|
+
"operation": {
|
|
2567
|
+
"const": "outlook.attachment.read"
|
|
2568
|
+
}
|
|
2569
|
+
}
|
|
2570
|
+
},
|
|
2571
|
+
"then": {
|
|
2572
|
+
"x-read-only": true,
|
|
2573
|
+
"x-primary-identity": "user",
|
|
2574
|
+
"not": {
|
|
2575
|
+
"required": [
|
|
2576
|
+
"idempotencyKey"
|
|
2577
|
+
]
|
|
2578
|
+
},
|
|
2579
|
+
"properties": {
|
|
2580
|
+
"mode": false,
|
|
2581
|
+
"input": {
|
|
2582
|
+
"propertyNames": {
|
|
2583
|
+
"enum": [
|
|
2584
|
+
"messageId",
|
|
2585
|
+
"attachmentId"
|
|
2586
|
+
]
|
|
2587
|
+
},
|
|
2588
|
+
"required": [
|
|
2589
|
+
"messageId",
|
|
2590
|
+
"attachmentId"
|
|
2591
|
+
]
|
|
2592
|
+
}
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
"if": {
|
|
2598
|
+
"properties": {
|
|
2599
|
+
"operation": {
|
|
2600
|
+
"const": "outlook.message.send"
|
|
2601
|
+
}
|
|
2602
|
+
}
|
|
2603
|
+
},
|
|
2604
|
+
"then": {
|
|
2605
|
+
"x-read-only": false,
|
|
2606
|
+
"x-primary-identity": "user",
|
|
2607
|
+
"required": [
|
|
2608
|
+
"idempotencyKey"
|
|
2609
|
+
],
|
|
2610
|
+
"properties": {
|
|
2611
|
+
"mode": false,
|
|
2612
|
+
"input": {
|
|
2613
|
+
"propertyNames": {
|
|
2614
|
+
"enum": [
|
|
2615
|
+
"to",
|
|
2616
|
+
"cc",
|
|
2617
|
+
"bcc",
|
|
2618
|
+
"subject",
|
|
2619
|
+
"text",
|
|
2620
|
+
"html",
|
|
2621
|
+
"attachments"
|
|
2622
|
+
]
|
|
2623
|
+
},
|
|
2624
|
+
"required": [
|
|
2625
|
+
"to",
|
|
2626
|
+
"subject",
|
|
2627
|
+
"text"
|
|
2628
|
+
],
|
|
2629
|
+
"properties": {
|
|
2630
|
+
"text": {
|
|
2631
|
+
"maxLength": 4000
|
|
2632
|
+
}
|
|
2633
|
+
}
|
|
2634
|
+
}
|
|
2635
|
+
}
|
|
2636
|
+
}
|
|
2637
|
+
},
|
|
2638
|
+
{
|
|
2639
|
+
"if": {
|
|
2640
|
+
"properties": {
|
|
2641
|
+
"operation": {
|
|
2642
|
+
"const": "outlook.message.reply"
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2645
|
+
},
|
|
2646
|
+
"then": {
|
|
2647
|
+
"x-read-only": false,
|
|
2648
|
+
"x-primary-identity": "user",
|
|
2649
|
+
"required": [
|
|
2650
|
+
"idempotencyKey"
|
|
2651
|
+
],
|
|
2652
|
+
"properties": {
|
|
2653
|
+
"mode": false,
|
|
2654
|
+
"input": {
|
|
2655
|
+
"propertyNames": {
|
|
2656
|
+
"enum": [
|
|
2657
|
+
"messageId",
|
|
2658
|
+
"text"
|
|
2659
|
+
]
|
|
2660
|
+
},
|
|
2661
|
+
"required": [
|
|
2662
|
+
"messageId",
|
|
2663
|
+
"text"
|
|
2664
|
+
],
|
|
2665
|
+
"properties": {
|
|
2666
|
+
"text": {
|
|
2667
|
+
"maxLength": 4000
|
|
2668
|
+
}
|
|
2669
|
+
}
|
|
2670
|
+
}
|
|
2671
|
+
}
|
|
2672
|
+
}
|
|
2673
|
+
},
|
|
2674
|
+
{
|
|
2675
|
+
"if": {
|
|
2676
|
+
"properties": {
|
|
2677
|
+
"operation": {
|
|
2678
|
+
"const": "outlook.event.list"
|
|
2679
|
+
}
|
|
2680
|
+
}
|
|
2681
|
+
},
|
|
2682
|
+
"then": {
|
|
2683
|
+
"x-read-only": true,
|
|
2684
|
+
"x-primary-identity": "user",
|
|
2685
|
+
"not": {
|
|
2686
|
+
"required": [
|
|
2687
|
+
"idempotencyKey"
|
|
2688
|
+
]
|
|
2689
|
+
},
|
|
2690
|
+
"properties": {
|
|
2691
|
+
"mode": false,
|
|
2692
|
+
"input": {
|
|
2693
|
+
"propertyNames": {
|
|
2694
|
+
"enum": [
|
|
2695
|
+
"start",
|
|
2696
|
+
"end",
|
|
2697
|
+
"pageToken"
|
|
2698
|
+
]
|
|
2699
|
+
},
|
|
2700
|
+
"required": [
|
|
2701
|
+
"start",
|
|
2702
|
+
"end"
|
|
2703
|
+
]
|
|
2704
|
+
}
|
|
2705
|
+
}
|
|
2706
|
+
}
|
|
2707
|
+
},
|
|
2708
|
+
{
|
|
2709
|
+
"if": {
|
|
2710
|
+
"properties": {
|
|
2711
|
+
"operation": {
|
|
2712
|
+
"const": "outlook.event.read"
|
|
2713
|
+
}
|
|
2714
|
+
}
|
|
2715
|
+
},
|
|
2716
|
+
"then": {
|
|
2717
|
+
"x-read-only": true,
|
|
2718
|
+
"x-primary-identity": "user",
|
|
2719
|
+
"not": {
|
|
2720
|
+
"required": [
|
|
2721
|
+
"idempotencyKey"
|
|
2722
|
+
]
|
|
2723
|
+
},
|
|
2724
|
+
"properties": {
|
|
2725
|
+
"mode": false,
|
|
2726
|
+
"input": {
|
|
2727
|
+
"propertyNames": {
|
|
2728
|
+
"enum": [
|
|
2729
|
+
"eventId"
|
|
2730
|
+
]
|
|
2731
|
+
},
|
|
2732
|
+
"required": [
|
|
2733
|
+
"eventId"
|
|
2734
|
+
]
|
|
2735
|
+
}
|
|
2736
|
+
}
|
|
2737
|
+
}
|
|
2738
|
+
},
|
|
2739
|
+
{
|
|
2740
|
+
"if": {
|
|
2741
|
+
"properties": {
|
|
2742
|
+
"operation": {
|
|
2743
|
+
"const": "outlook.event.create"
|
|
2744
|
+
}
|
|
2745
|
+
}
|
|
2746
|
+
},
|
|
2747
|
+
"then": {
|
|
2748
|
+
"x-read-only": false,
|
|
2749
|
+
"x-primary-identity": "user",
|
|
2750
|
+
"required": [
|
|
2751
|
+
"idempotencyKey"
|
|
2752
|
+
],
|
|
2753
|
+
"properties": {
|
|
2754
|
+
"mode": false,
|
|
2755
|
+
"input": {
|
|
2756
|
+
"propertyNames": {
|
|
2757
|
+
"enum": [
|
|
2758
|
+
"title",
|
|
2759
|
+
"start",
|
|
2760
|
+
"end",
|
|
2761
|
+
"timeZone",
|
|
2762
|
+
"allDay",
|
|
2763
|
+
"description",
|
|
2764
|
+
"location",
|
|
2765
|
+
"attendees",
|
|
2766
|
+
"notify"
|
|
2767
|
+
]
|
|
2768
|
+
},
|
|
2769
|
+
"required": [
|
|
2770
|
+
"title",
|
|
2771
|
+
"start",
|
|
2772
|
+
"end"
|
|
2773
|
+
],
|
|
2774
|
+
"properties": {
|
|
2775
|
+
"description": {
|
|
2776
|
+
"maxLength": 8000
|
|
2777
|
+
}
|
|
2778
|
+
}
|
|
2779
|
+
}
|
|
2780
|
+
}
|
|
2781
|
+
}
|
|
2782
|
+
},
|
|
2783
|
+
{
|
|
2784
|
+
"if": {
|
|
2785
|
+
"properties": {
|
|
2786
|
+
"operation": {
|
|
2787
|
+
"const": "outlook.event.update"
|
|
2788
|
+
}
|
|
2789
|
+
}
|
|
2790
|
+
},
|
|
2791
|
+
"then": {
|
|
2792
|
+
"x-read-only": false,
|
|
2793
|
+
"x-primary-identity": "user",
|
|
2794
|
+
"not": {
|
|
2795
|
+
"required": [
|
|
2796
|
+
"idempotencyKey"
|
|
2797
|
+
]
|
|
2798
|
+
},
|
|
2799
|
+
"properties": {
|
|
2800
|
+
"mode": false,
|
|
2801
|
+
"input": {
|
|
2802
|
+
"propertyNames": {
|
|
2803
|
+
"enum": [
|
|
2804
|
+
"eventId",
|
|
2805
|
+
"title",
|
|
2806
|
+
"start",
|
|
2807
|
+
"end",
|
|
2808
|
+
"timeZone",
|
|
2809
|
+
"description",
|
|
2810
|
+
"location",
|
|
2811
|
+
"attendees",
|
|
2812
|
+
"notify"
|
|
2813
|
+
]
|
|
2814
|
+
},
|
|
2815
|
+
"required": [
|
|
2816
|
+
"eventId"
|
|
2817
|
+
],
|
|
2818
|
+
"properties": {
|
|
2819
|
+
"description": {
|
|
2820
|
+
"maxLength": 8000
|
|
2821
|
+
}
|
|
2822
|
+
}
|
|
2823
|
+
}
|
|
2824
|
+
}
|
|
2825
|
+
}
|
|
2826
|
+
},
|
|
2827
|
+
{
|
|
2828
|
+
"if": {
|
|
2829
|
+
"properties": {
|
|
2830
|
+
"operation": {
|
|
2831
|
+
"const": "outlook.event.cancel"
|
|
2832
|
+
}
|
|
2833
|
+
}
|
|
2834
|
+
},
|
|
2835
|
+
"then": {
|
|
2836
|
+
"x-read-only": false,
|
|
2837
|
+
"x-primary-identity": "user",
|
|
2838
|
+
"not": {
|
|
2839
|
+
"required": [
|
|
2840
|
+
"idempotencyKey"
|
|
2841
|
+
]
|
|
2842
|
+
},
|
|
2843
|
+
"properties": {
|
|
2844
|
+
"mode": false,
|
|
2845
|
+
"input": {
|
|
2846
|
+
"propertyNames": {
|
|
2847
|
+
"enum": [
|
|
2848
|
+
"eventId",
|
|
2849
|
+
"comment"
|
|
2850
|
+
]
|
|
2851
|
+
},
|
|
2852
|
+
"required": [
|
|
2853
|
+
"eventId"
|
|
2854
|
+
]
|
|
2855
|
+
}
|
|
2856
|
+
}
|
|
2857
|
+
}
|
|
2858
|
+
},
|
|
2859
|
+
{
|
|
2860
|
+
"if": {
|
|
2861
|
+
"properties": {
|
|
2862
|
+
"operation": {
|
|
2863
|
+
"const": "onedrive.file.list"
|
|
2864
|
+
}
|
|
2865
|
+
}
|
|
2866
|
+
},
|
|
2867
|
+
"then": {
|
|
2868
|
+
"x-read-only": true,
|
|
2869
|
+
"x-primary-identity": "user",
|
|
2870
|
+
"not": {
|
|
2871
|
+
"required": [
|
|
2872
|
+
"idempotencyKey"
|
|
2873
|
+
]
|
|
2874
|
+
},
|
|
2875
|
+
"properties": {
|
|
2876
|
+
"mode": false,
|
|
2877
|
+
"input": {
|
|
2878
|
+
"propertyNames": {
|
|
2879
|
+
"enum": [
|
|
2880
|
+
"folderId",
|
|
2881
|
+
"pageToken"
|
|
2882
|
+
]
|
|
2883
|
+
}
|
|
2884
|
+
}
|
|
2885
|
+
}
|
|
2886
|
+
}
|
|
2887
|
+
},
|
|
2888
|
+
{
|
|
2889
|
+
"if": {
|
|
2890
|
+
"properties": {
|
|
2891
|
+
"operation": {
|
|
2892
|
+
"const": "onedrive.file.search"
|
|
2893
|
+
}
|
|
2894
|
+
}
|
|
2895
|
+
},
|
|
2896
|
+
"then": {
|
|
2897
|
+
"x-read-only": true,
|
|
2898
|
+
"x-primary-identity": "user",
|
|
2899
|
+
"not": {
|
|
2900
|
+
"required": [
|
|
2901
|
+
"idempotencyKey"
|
|
2902
|
+
]
|
|
2903
|
+
},
|
|
2904
|
+
"properties": {
|
|
2905
|
+
"mode": false,
|
|
2906
|
+
"input": {
|
|
2907
|
+
"propertyNames": {
|
|
2908
|
+
"enum": [
|
|
2909
|
+
"q",
|
|
2910
|
+
"pageToken"
|
|
2911
|
+
]
|
|
2912
|
+
},
|
|
2913
|
+
"required": [
|
|
2914
|
+
"q"
|
|
2915
|
+
]
|
|
2916
|
+
}
|
|
2917
|
+
}
|
|
2918
|
+
}
|
|
2919
|
+
},
|
|
2920
|
+
{
|
|
2921
|
+
"if": {
|
|
2922
|
+
"properties": {
|
|
2923
|
+
"operation": {
|
|
2924
|
+
"const": "onedrive.file.read"
|
|
2925
|
+
}
|
|
2926
|
+
}
|
|
2927
|
+
},
|
|
2928
|
+
"then": {
|
|
2929
|
+
"x-read-only": true,
|
|
2930
|
+
"x-primary-identity": "user",
|
|
2931
|
+
"not": {
|
|
2932
|
+
"required": [
|
|
2933
|
+
"idempotencyKey"
|
|
2934
|
+
]
|
|
2935
|
+
},
|
|
2936
|
+
"properties": {
|
|
2937
|
+
"mode": false,
|
|
2938
|
+
"input": {
|
|
2939
|
+
"propertyNames": {
|
|
2940
|
+
"enum": [
|
|
2941
|
+
"fileId"
|
|
2942
|
+
]
|
|
2943
|
+
},
|
|
2944
|
+
"required": [
|
|
2945
|
+
"fileId"
|
|
2946
|
+
]
|
|
2947
|
+
}
|
|
2948
|
+
}
|
|
2949
|
+
}
|
|
2950
|
+
},
|
|
2951
|
+
{
|
|
2952
|
+
"if": {
|
|
2953
|
+
"properties": {
|
|
2954
|
+
"operation": {
|
|
2955
|
+
"const": "onedrive.file.upload"
|
|
2956
|
+
}
|
|
2957
|
+
}
|
|
2958
|
+
},
|
|
2959
|
+
"then": {
|
|
2960
|
+
"x-read-only": false,
|
|
2961
|
+
"x-primary-identity": "user",
|
|
2962
|
+
"required": [
|
|
2963
|
+
"idempotencyKey"
|
|
2964
|
+
],
|
|
2965
|
+
"properties": {
|
|
2966
|
+
"mode": false,
|
|
2967
|
+
"input": {
|
|
2968
|
+
"propertyNames": {
|
|
2969
|
+
"enum": [
|
|
2970
|
+
"filename",
|
|
2971
|
+
"contentType",
|
|
2972
|
+
"dataBase64",
|
|
2973
|
+
"folderId",
|
|
2974
|
+
"conflict"
|
|
2975
|
+
]
|
|
2976
|
+
},
|
|
2977
|
+
"required": [
|
|
2978
|
+
"filename",
|
|
2979
|
+
"contentType",
|
|
2980
|
+
"dataBase64"
|
|
2981
|
+
]
|
|
2982
|
+
}
|
|
2983
|
+
}
|
|
2984
|
+
}
|
|
2985
|
+
},
|
|
2986
|
+
{
|
|
2987
|
+
"if": {
|
|
2988
|
+
"properties": {
|
|
2989
|
+
"operation": {
|
|
2990
|
+
"const": "onedrive.folder.create"
|
|
2991
|
+
}
|
|
2992
|
+
}
|
|
2993
|
+
},
|
|
2994
|
+
"then": {
|
|
2995
|
+
"x-read-only": false,
|
|
2996
|
+
"x-primary-identity": "user",
|
|
2997
|
+
"required": [
|
|
2998
|
+
"idempotencyKey"
|
|
2999
|
+
],
|
|
3000
|
+
"properties": {
|
|
3001
|
+
"mode": false,
|
|
3002
|
+
"input": {
|
|
3003
|
+
"propertyNames": {
|
|
3004
|
+
"enum": [
|
|
3005
|
+
"title",
|
|
3006
|
+
"folderId"
|
|
3007
|
+
]
|
|
3008
|
+
},
|
|
3009
|
+
"required": [
|
|
3010
|
+
"title"
|
|
3011
|
+
]
|
|
3012
|
+
}
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
},
|
|
3016
|
+
{
|
|
3017
|
+
"if": {
|
|
3018
|
+
"properties": {
|
|
3019
|
+
"operation": {
|
|
3020
|
+
"const": "excel.worksheet.list"
|
|
3021
|
+
}
|
|
3022
|
+
}
|
|
3023
|
+
},
|
|
3024
|
+
"then": {
|
|
3025
|
+
"x-read-only": true,
|
|
3026
|
+
"x-primary-identity": "user",
|
|
3027
|
+
"not": {
|
|
3028
|
+
"required": [
|
|
3029
|
+
"idempotencyKey"
|
|
3030
|
+
]
|
|
3031
|
+
},
|
|
3032
|
+
"properties": {
|
|
3033
|
+
"mode": false,
|
|
3034
|
+
"input": {
|
|
3035
|
+
"propertyNames": {
|
|
3036
|
+
"enum": [
|
|
3037
|
+
"fileId",
|
|
3038
|
+
"driveId"
|
|
3039
|
+
]
|
|
3040
|
+
},
|
|
3041
|
+
"required": [
|
|
3042
|
+
"fileId"
|
|
3043
|
+
]
|
|
3044
|
+
}
|
|
3045
|
+
}
|
|
3046
|
+
}
|
|
3047
|
+
},
|
|
3048
|
+
{
|
|
3049
|
+
"if": {
|
|
3050
|
+
"properties": {
|
|
3051
|
+
"operation": {
|
|
3052
|
+
"const": "excel.range.read"
|
|
3053
|
+
}
|
|
3054
|
+
}
|
|
3055
|
+
},
|
|
3056
|
+
"then": {
|
|
3057
|
+
"x-read-only": true,
|
|
3058
|
+
"x-primary-identity": "user",
|
|
3059
|
+
"not": {
|
|
3060
|
+
"required": [
|
|
3061
|
+
"idempotencyKey"
|
|
3062
|
+
]
|
|
3063
|
+
},
|
|
3064
|
+
"properties": {
|
|
3065
|
+
"mode": false,
|
|
3066
|
+
"input": {
|
|
3067
|
+
"propertyNames": {
|
|
3068
|
+
"enum": [
|
|
3069
|
+
"fileId",
|
|
3070
|
+
"driveId",
|
|
3071
|
+
"worksheet",
|
|
3072
|
+
"address"
|
|
3073
|
+
]
|
|
3074
|
+
},
|
|
3075
|
+
"required": [
|
|
3076
|
+
"fileId",
|
|
3077
|
+
"worksheet"
|
|
3078
|
+
]
|
|
3079
|
+
}
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3082
|
+
},
|
|
3083
|
+
{
|
|
3084
|
+
"if": {
|
|
3085
|
+
"properties": {
|
|
3086
|
+
"operation": {
|
|
3087
|
+
"const": "excel.range.update"
|
|
3088
|
+
}
|
|
3089
|
+
}
|
|
3090
|
+
},
|
|
3091
|
+
"then": {
|
|
3092
|
+
"x-read-only": false,
|
|
3093
|
+
"x-primary-identity": "user",
|
|
3094
|
+
"not": {
|
|
3095
|
+
"required": [
|
|
3096
|
+
"idempotencyKey"
|
|
3097
|
+
]
|
|
3098
|
+
},
|
|
3099
|
+
"properties": {
|
|
3100
|
+
"mode": false,
|
|
3101
|
+
"input": {
|
|
3102
|
+
"propertyNames": {
|
|
3103
|
+
"enum": [
|
|
3104
|
+
"fileId",
|
|
3105
|
+
"driveId",
|
|
3106
|
+
"worksheet",
|
|
3107
|
+
"address",
|
|
3108
|
+
"values"
|
|
3109
|
+
]
|
|
3110
|
+
},
|
|
3111
|
+
"required": [
|
|
3112
|
+
"fileId",
|
|
3113
|
+
"worksheet",
|
|
3114
|
+
"address",
|
|
3115
|
+
"values"
|
|
3116
|
+
]
|
|
3117
|
+
}
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
},
|
|
3121
|
+
{
|
|
3122
|
+
"if": {
|
|
3123
|
+
"properties": {
|
|
3124
|
+
"operation": {
|
|
3125
|
+
"const": "excel.table.list"
|
|
3126
|
+
}
|
|
3127
|
+
}
|
|
3128
|
+
},
|
|
3129
|
+
"then": {
|
|
3130
|
+
"x-read-only": true,
|
|
3131
|
+
"x-primary-identity": "user",
|
|
3132
|
+
"not": {
|
|
3133
|
+
"required": [
|
|
3134
|
+
"idempotencyKey"
|
|
3135
|
+
]
|
|
3136
|
+
},
|
|
3137
|
+
"properties": {
|
|
3138
|
+
"mode": false,
|
|
3139
|
+
"input": {
|
|
3140
|
+
"propertyNames": {
|
|
3141
|
+
"enum": [
|
|
3142
|
+
"fileId",
|
|
3143
|
+
"driveId",
|
|
3144
|
+
"worksheet"
|
|
3145
|
+
]
|
|
3146
|
+
},
|
|
3147
|
+
"required": [
|
|
3148
|
+
"fileId"
|
|
3149
|
+
]
|
|
3150
|
+
}
|
|
3151
|
+
}
|
|
3152
|
+
}
|
|
3153
|
+
},
|
|
3154
|
+
{
|
|
3155
|
+
"if": {
|
|
3156
|
+
"properties": {
|
|
3157
|
+
"operation": {
|
|
3158
|
+
"const": "excel.row.add"
|
|
3159
|
+
}
|
|
3160
|
+
}
|
|
3161
|
+
},
|
|
3162
|
+
"then": {
|
|
3163
|
+
"x-read-only": false,
|
|
3164
|
+
"x-primary-identity": "user",
|
|
3165
|
+
"required": [
|
|
3166
|
+
"idempotencyKey"
|
|
3167
|
+
],
|
|
3168
|
+
"properties": {
|
|
3169
|
+
"mode": false,
|
|
3170
|
+
"input": {
|
|
3171
|
+
"propertyNames": {
|
|
3172
|
+
"enum": [
|
|
3173
|
+
"fileId",
|
|
3174
|
+
"driveId",
|
|
3175
|
+
"tableName",
|
|
3176
|
+
"values"
|
|
3177
|
+
]
|
|
3178
|
+
},
|
|
3179
|
+
"required": [
|
|
3180
|
+
"fileId",
|
|
3181
|
+
"tableName",
|
|
3182
|
+
"values"
|
|
3183
|
+
]
|
|
3184
|
+
}
|
|
3185
|
+
}
|
|
3186
|
+
}
|
|
3187
|
+
},
|
|
3188
|
+
{
|
|
3189
|
+
"if": {
|
|
3190
|
+
"properties": {
|
|
3191
|
+
"operation": {
|
|
3192
|
+
"const": "excel.worksheet.add"
|
|
3193
|
+
}
|
|
3194
|
+
}
|
|
3195
|
+
},
|
|
3196
|
+
"then": {
|
|
3197
|
+
"x-read-only": false,
|
|
3198
|
+
"x-primary-identity": "user",
|
|
3199
|
+
"required": [
|
|
3200
|
+
"idempotencyKey"
|
|
3201
|
+
],
|
|
3202
|
+
"properties": {
|
|
3203
|
+
"mode": false,
|
|
3204
|
+
"input": {
|
|
3205
|
+
"propertyNames": {
|
|
3206
|
+
"enum": [
|
|
3207
|
+
"fileId",
|
|
3208
|
+
"driveId",
|
|
3209
|
+
"title"
|
|
3210
|
+
]
|
|
3211
|
+
},
|
|
3212
|
+
"required": [
|
|
3213
|
+
"fileId",
|
|
3214
|
+
"title"
|
|
3215
|
+
]
|
|
3216
|
+
}
|
|
3217
|
+
}
|
|
3218
|
+
}
|
|
3219
|
+
},
|
|
3220
|
+
{
|
|
3221
|
+
"if": {
|
|
3222
|
+
"properties": {
|
|
3223
|
+
"operation": {
|
|
3224
|
+
"const": "teams.message.list"
|
|
3225
|
+
}
|
|
3226
|
+
}
|
|
3227
|
+
},
|
|
3228
|
+
"then": {
|
|
3229
|
+
"x-read-only": true,
|
|
3230
|
+
"x-primary-identity": "user",
|
|
3231
|
+
"not": {
|
|
3232
|
+
"required": [
|
|
3233
|
+
"idempotencyKey"
|
|
3234
|
+
]
|
|
3235
|
+
},
|
|
3236
|
+
"properties": {
|
|
3237
|
+
"mode": false,
|
|
3238
|
+
"input": {
|
|
3239
|
+
"propertyNames": {
|
|
3240
|
+
"enum": [
|
|
3241
|
+
"pageToken"
|
|
3242
|
+
]
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
}
|
|
3246
|
+
}
|
|
3247
|
+
},
|
|
3248
|
+
{
|
|
3249
|
+
"if": {
|
|
3250
|
+
"properties": {
|
|
3251
|
+
"operation": {
|
|
3252
|
+
"const": "teams.message.post"
|
|
3253
|
+
}
|
|
3254
|
+
}
|
|
3255
|
+
},
|
|
3256
|
+
"then": {
|
|
3257
|
+
"x-read-only": false,
|
|
3258
|
+
"x-primary-identity": "user",
|
|
3259
|
+
"required": [
|
|
3260
|
+
"idempotencyKey"
|
|
3261
|
+
],
|
|
3262
|
+
"properties": {
|
|
3263
|
+
"mode": false,
|
|
3264
|
+
"input": {
|
|
3265
|
+
"propertyNames": {
|
|
3266
|
+
"enum": [
|
|
3267
|
+
"text",
|
|
3268
|
+
"html"
|
|
3269
|
+
]
|
|
3270
|
+
},
|
|
3271
|
+
"required": [
|
|
3272
|
+
"text"
|
|
3273
|
+
],
|
|
3274
|
+
"properties": {
|
|
3275
|
+
"text": {
|
|
3276
|
+
"maxLength": 4000
|
|
3277
|
+
}
|
|
3278
|
+
}
|
|
3279
|
+
}
|
|
3280
|
+
}
|
|
3281
|
+
}
|
|
3282
|
+
},
|
|
3283
|
+
{
|
|
3284
|
+
"if": {
|
|
3285
|
+
"properties": {
|
|
3286
|
+
"operation": {
|
|
3287
|
+
"const": "teams.reply.post"
|
|
3288
|
+
}
|
|
3289
|
+
}
|
|
3290
|
+
},
|
|
3291
|
+
"then": {
|
|
3292
|
+
"x-read-only": false,
|
|
3293
|
+
"x-primary-identity": "user",
|
|
3294
|
+
"required": [
|
|
3295
|
+
"idempotencyKey"
|
|
3296
|
+
],
|
|
3297
|
+
"properties": {
|
|
3298
|
+
"mode": false,
|
|
3299
|
+
"input": {
|
|
3300
|
+
"propertyNames": {
|
|
3301
|
+
"enum": [
|
|
3302
|
+
"messageId",
|
|
3303
|
+
"text",
|
|
3304
|
+
"html"
|
|
3305
|
+
]
|
|
3306
|
+
},
|
|
3307
|
+
"required": [
|
|
3308
|
+
"messageId",
|
|
3309
|
+
"text"
|
|
3310
|
+
],
|
|
3311
|
+
"properties": {
|
|
3312
|
+
"text": {
|
|
3313
|
+
"maxLength": 4000
|
|
3314
|
+
}
|
|
3315
|
+
}
|
|
3316
|
+
}
|
|
3317
|
+
}
|
|
3318
|
+
}
|
|
3319
|
+
},
|
|
3320
|
+
{
|
|
3321
|
+
"if": {
|
|
3322
|
+
"properties": {
|
|
3323
|
+
"operation": {
|
|
3324
|
+
"const": "warehouse.table.append"
|
|
3325
|
+
}
|
|
3326
|
+
}
|
|
3327
|
+
},
|
|
3328
|
+
"then": {
|
|
3329
|
+
"x-read-only": false,
|
|
3330
|
+
"required": [
|
|
3331
|
+
"idempotencyKey"
|
|
3332
|
+
],
|
|
3333
|
+
"properties": {
|
|
3334
|
+
"mode": false,
|
|
3335
|
+
"input": {
|
|
3336
|
+
"propertyNames": {
|
|
3337
|
+
"enum": [
|
|
3338
|
+
"rows"
|
|
3339
|
+
]
|
|
3340
|
+
},
|
|
3341
|
+
"required": [
|
|
3342
|
+
"rows"
|
|
3343
|
+
]
|
|
3344
|
+
}
|
|
3345
|
+
}
|
|
3346
|
+
}
|
|
3347
|
+
}
|
|
3348
|
+
],
|
|
3349
|
+
"definitions": {
|
|
3350
|
+
"EmailAddress": {
|
|
3351
|
+
"type": "string",
|
|
3352
|
+
"minLength": 3,
|
|
3353
|
+
"maxLength": 254,
|
|
3354
|
+
"pattern": "^[^\\s@<>,;\"]+@[^\\s@<>,;\"]+\\.[^\\s@<>,;\"]+$",
|
|
3355
|
+
"description": "One bare email address (no display name)."
|
|
3356
|
+
},
|
|
3357
|
+
"EmailAddressList": {
|
|
3358
|
+
"type": "array",
|
|
3359
|
+
"minItems": 1,
|
|
3360
|
+
"maxItems": 50,
|
|
1634
3361
|
"uniqueItems": true,
|
|
1635
3362
|
"items": {
|
|
1636
3363
|
"$ref": "#/definitions/EmailAddress"
|
|
@@ -1662,15 +3389,60 @@
|
|
|
1662
3389
|
],
|
|
1663
3390
|
"description": "Which projects basecamp.project.list returns (0.76.0): the active ones (the default) or the archived ones."
|
|
1664
3391
|
},
|
|
1665
|
-
"SharePointConflictBehavior": {
|
|
3392
|
+
"SharePointConflictBehavior": {
|
|
3393
|
+
"type": "string",
|
|
3394
|
+
"enum": [
|
|
3395
|
+
"rename",
|
|
3396
|
+
"replace",
|
|
3397
|
+
"fail"
|
|
3398
|
+
],
|
|
3399
|
+
"default": "rename",
|
|
3400
|
+
"description": "What sharepoint.file.upload does when the folder already holds a file of that name (0.78.0; Graph's conflictBehavior): rename stores the new file under a numbered name (the default), replace overwrites the existing file, fail refuses the upload."
|
|
3401
|
+
},
|
|
3402
|
+
"SheetsValueInput": {
|
|
3403
|
+
"type": "string",
|
|
3404
|
+
"enum": [
|
|
3405
|
+
"raw",
|
|
3406
|
+
"user"
|
|
3407
|
+
],
|
|
3408
|
+
"default": "user",
|
|
3409
|
+
"description": "How Google Sheets reads a written cell string (0.86.0; `valueInputOption`): user parses it as a person typing would (dates, numbers, formulas; the default), raw stores it verbatim."
|
|
3410
|
+
},
|
|
3411
|
+
"DriveExportFormat": {
|
|
1666
3412
|
"type": "string",
|
|
1667
3413
|
"enum": [
|
|
1668
|
-
"
|
|
1669
|
-
"
|
|
1670
|
-
"
|
|
3414
|
+
"text",
|
|
3415
|
+
"csv",
|
|
3416
|
+
"pdf"
|
|
1671
3417
|
],
|
|
1672
|
-
"
|
|
1673
|
-
|
|
3418
|
+
"description": "How drive.file.read renders a Google-native file (0.86.0): text (text/plain, a Docs file), csv (text/csv, the first sheet of a Sheets file) or pdf (application/pdf, any of them). A binary file ignores it and is downloaded as stored."
|
|
3419
|
+
},
|
|
3420
|
+
"DocsReplacement": {
|
|
3421
|
+
"type": "object",
|
|
3422
|
+
"additionalProperties": false,
|
|
3423
|
+
"required": [
|
|
3424
|
+
"find",
|
|
3425
|
+
"replace"
|
|
3426
|
+
],
|
|
3427
|
+
"description": "One find-and-replace of docs.text.replace (0.86.0): every occurrence of `find` becomes `replace` (empty deletes it); `matchCase` false or absent ignores case.",
|
|
3428
|
+
"properties": {
|
|
3429
|
+
"find": {
|
|
3430
|
+
"type": "string",
|
|
3431
|
+
"minLength": 1,
|
|
3432
|
+
"maxLength": 512,
|
|
3433
|
+
"description": "The text to find, 1..512 characters, matched literally."
|
|
3434
|
+
},
|
|
3435
|
+
"replace": {
|
|
3436
|
+
"type": "string",
|
|
3437
|
+
"minLength": 0,
|
|
3438
|
+
"maxLength": 4000,
|
|
3439
|
+
"description": "The replacement, at most 4000 characters; empty deletes the match."
|
|
3440
|
+
},
|
|
3441
|
+
"matchCase": {
|
|
3442
|
+
"type": "boolean",
|
|
3443
|
+
"description": "Whether the match is case-sensitive; false when absent."
|
|
3444
|
+
}
|
|
3445
|
+
}
|
|
1674
3446
|
},
|
|
1675
3447
|
"EmailAttachment": {
|
|
1676
3448
|
"type": "object",
|
|
@@ -1680,7 +3452,7 @@
|
|
|
1680
3452
|
"contentType",
|
|
1681
3453
|
"dataBase64"
|
|
1682
3454
|
],
|
|
1683
|
-
"description": "One file attached to a gmail.message.send (0.71.0), carried inline as base64. At most 2 MiB of bytes, which is 2,796,203 base64 characters.",
|
|
3455
|
+
"description": "One file attached to a gmail.message.send (0.71.0) or an outlook.message.send (0.86.0), carried inline as base64. At most 2 MiB of bytes, which is 2,796,203 base64 characters.",
|
|
1684
3456
|
"properties": {
|
|
1685
3457
|
"filename": {
|
|
1686
3458
|
"type": "string",
|
|
@@ -2351,6 +4123,499 @@
|
|
|
2351
4123
|
]
|
|
2352
4124
|
},
|
|
2353
4125
|
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9c22"
|
|
4126
|
+
},
|
|
4127
|
+
{
|
|
4128
|
+
"connection": "company-calendar",
|
|
4129
|
+
"operation": "calendar.calendar.list",
|
|
4130
|
+
"resource": "primary",
|
|
4131
|
+
"input": {}
|
|
4132
|
+
},
|
|
4133
|
+
{
|
|
4134
|
+
"connection": "company-calendar",
|
|
4135
|
+
"operation": "calendar.event.list",
|
|
4136
|
+
"resource": "primary",
|
|
4137
|
+
"input": {
|
|
4138
|
+
"timeMin": "2026-10-20T00:00:00Z",
|
|
4139
|
+
"timeMax": "2026-10-27T00:00:00Z",
|
|
4140
|
+
"q": "sprint review"
|
|
4141
|
+
}
|
|
4142
|
+
},
|
|
4143
|
+
{
|
|
4144
|
+
"connection": "company-calendar",
|
|
4145
|
+
"operation": "calendar.event.read",
|
|
4146
|
+
"resource": "primary",
|
|
4147
|
+
"input": {
|
|
4148
|
+
"eventId": "7qk2m9f4c1a8b3d5e6f7g8h9i0"
|
|
4149
|
+
}
|
|
4150
|
+
},
|
|
4151
|
+
{
|
|
4152
|
+
"connection": "company-calendar",
|
|
4153
|
+
"operation": "calendar.event.create",
|
|
4154
|
+
"resource": "primary",
|
|
4155
|
+
"input": {
|
|
4156
|
+
"title": "Sprint review",
|
|
4157
|
+
"start": "2026-10-21T09:00:00Z",
|
|
4158
|
+
"end": "2026-10-21T10:00:00Z",
|
|
4159
|
+
"timeZone": "Asia/Kolkata",
|
|
4160
|
+
"location": "Room 4",
|
|
4161
|
+
"description": "Demo of the weekly report app.",
|
|
4162
|
+
"attendees": [
|
|
4163
|
+
"jane@example.com",
|
|
4164
|
+
"sam@example.com"
|
|
4165
|
+
],
|
|
4166
|
+
"notify": true
|
|
4167
|
+
},
|
|
4168
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d01"
|
|
4169
|
+
},
|
|
4170
|
+
{
|
|
4171
|
+
"connection": "company-calendar",
|
|
4172
|
+
"operation": "calendar.event.update",
|
|
4173
|
+
"resource": "primary",
|
|
4174
|
+
"input": {
|
|
4175
|
+
"eventId": "7qk2m9f4c1a8b3d5e6f7g8h9i0",
|
|
4176
|
+
"title": "Sprint review (moved)",
|
|
4177
|
+
"start": "2026-10-21T10:00:00Z",
|
|
4178
|
+
"end": "2026-10-21T11:00:00Z",
|
|
4179
|
+
"notify": false
|
|
4180
|
+
}
|
|
4181
|
+
},
|
|
4182
|
+
{
|
|
4183
|
+
"connection": "company-calendar",
|
|
4184
|
+
"operation": "calendar.event.cancel",
|
|
4185
|
+
"resource": "primary",
|
|
4186
|
+
"input": {
|
|
4187
|
+
"calendarId": "primary",
|
|
4188
|
+
"eventId": "7qk2m9f4c1a8b3d5e6f7g8h9i0",
|
|
4189
|
+
"notify": true
|
|
4190
|
+
}
|
|
4191
|
+
},
|
|
4192
|
+
{
|
|
4193
|
+
"connection": "company-drive",
|
|
4194
|
+
"operation": "drive.file.list",
|
|
4195
|
+
"resource": "my-drive",
|
|
4196
|
+
"input": {
|
|
4197
|
+
"folderId": "1aBcDeFgHiJkLmNoPqRsTuVwXyZ01234_"
|
|
4198
|
+
}
|
|
4199
|
+
},
|
|
4200
|
+
{
|
|
4201
|
+
"connection": "company-drive",
|
|
4202
|
+
"operation": "drive.file.search",
|
|
4203
|
+
"resource": "my-drive",
|
|
4204
|
+
"input": {
|
|
4205
|
+
"q": "weekly report"
|
|
4206
|
+
}
|
|
4207
|
+
},
|
|
4208
|
+
{
|
|
4209
|
+
"connection": "company-drive",
|
|
4210
|
+
"operation": "drive.file.read",
|
|
4211
|
+
"resource": "my-drive",
|
|
4212
|
+
"input": {
|
|
4213
|
+
"fileId": "1AbCdEfGhIjKlMnOpQrStUvWxYz0123456789-_a",
|
|
4214
|
+
"exportAs": "pdf"
|
|
4215
|
+
}
|
|
4216
|
+
},
|
|
4217
|
+
{
|
|
4218
|
+
"connection": "company-drive",
|
|
4219
|
+
"operation": "drive.file.upload",
|
|
4220
|
+
"resource": "my-drive",
|
|
4221
|
+
"input": {
|
|
4222
|
+
"filename": "weekly-report.pdf",
|
|
4223
|
+
"contentType": "application/pdf",
|
|
4224
|
+
"dataBase64": "JVBERi0xLjQKJcOkw7zDtsOfCg==",
|
|
4225
|
+
"folderId": "1aBcDeFgHiJkLmNoPqRsTuVwXyZ01234_",
|
|
4226
|
+
"conflict": "replace"
|
|
4227
|
+
},
|
|
4228
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d02"
|
|
4229
|
+
},
|
|
4230
|
+
{
|
|
4231
|
+
"connection": "company-drive",
|
|
4232
|
+
"operation": "drive.folder.create",
|
|
4233
|
+
"resource": "my-drive",
|
|
4234
|
+
"input": {
|
|
4235
|
+
"title": "Reports 2026",
|
|
4236
|
+
"folderId": "1aBcDeFgHiJkLmNoPqRsTuVwXyZ01234_"
|
|
4237
|
+
},
|
|
4238
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d03"
|
|
4239
|
+
},
|
|
4240
|
+
{
|
|
4241
|
+
"connection": "company-docs",
|
|
4242
|
+
"operation": "docs.document.read",
|
|
4243
|
+
"resource": "my-docs",
|
|
4244
|
+
"input": {
|
|
4245
|
+
"documentId": "1x2y3z4A5B6C7D8E9F0G1H2I3J4K5L6M7N8O9P0Q1R2S"
|
|
4246
|
+
}
|
|
4247
|
+
},
|
|
4248
|
+
{
|
|
4249
|
+
"connection": "company-docs",
|
|
4250
|
+
"operation": "docs.document.create",
|
|
4251
|
+
"resource": "my-docs",
|
|
4252
|
+
"input": {
|
|
4253
|
+
"title": "Weekly report, week 42",
|
|
4254
|
+
"text": "Shipped the weekly report app.\n\nNext: the Sheets export."
|
|
4255
|
+
},
|
|
4256
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d04"
|
|
4257
|
+
},
|
|
4258
|
+
{
|
|
4259
|
+
"connection": "company-docs",
|
|
4260
|
+
"operation": "docs.document.append",
|
|
4261
|
+
"resource": "my-docs",
|
|
4262
|
+
"input": {
|
|
4263
|
+
"documentId": "1x2y3z4A5B6C7D8E9F0G1H2I3J4K5L6M7N8O9P0Q1R2S",
|
|
4264
|
+
"text": "\nUpdate 17 October: approved by IT."
|
|
4265
|
+
}
|
|
4266
|
+
},
|
|
4267
|
+
{
|
|
4268
|
+
"connection": "company-docs",
|
|
4269
|
+
"operation": "docs.text.replace",
|
|
4270
|
+
"resource": "my-docs",
|
|
4271
|
+
"input": {
|
|
4272
|
+
"documentId": "1x2y3z4A5B6C7D8E9F0G1H2I3J4K5L6M7N8O9P0Q1R2S",
|
|
4273
|
+
"replacements": [
|
|
4274
|
+
{
|
|
4275
|
+
"find": "{{customer}}",
|
|
4276
|
+
"replace": "Acme Ltd"
|
|
4277
|
+
},
|
|
4278
|
+
{
|
|
4279
|
+
"find": "{{date}}",
|
|
4280
|
+
"replace": "17 October 2026",
|
|
4281
|
+
"matchCase": true
|
|
4282
|
+
}
|
|
4283
|
+
]
|
|
4284
|
+
}
|
|
4285
|
+
},
|
|
4286
|
+
{
|
|
4287
|
+
"connection": "company-sheets",
|
|
4288
|
+
"operation": "sheets.spreadsheet.read",
|
|
4289
|
+
"resource": "my-sheets",
|
|
4290
|
+
"input": {
|
|
4291
|
+
"spreadsheetId": "1qW2eR3tY4uI5oP6aS7dF8gH9jK0lZ1xC2vB3nM4Q5w6"
|
|
4292
|
+
}
|
|
4293
|
+
},
|
|
4294
|
+
{
|
|
4295
|
+
"connection": "company-sheets",
|
|
4296
|
+
"operation": "sheets.values.read",
|
|
4297
|
+
"resource": "my-sheets",
|
|
4298
|
+
"input": {
|
|
4299
|
+
"spreadsheetId": "1qW2eR3tY4uI5oP6aS7dF8gH9jK0lZ1xC2vB3nM4Q5w6",
|
|
4300
|
+
"range": "Orders!A1:D"
|
|
4301
|
+
}
|
|
4302
|
+
},
|
|
4303
|
+
{
|
|
4304
|
+
"connection": "company-sheets",
|
|
4305
|
+
"operation": "sheets.values.append",
|
|
4306
|
+
"resource": "my-sheets",
|
|
4307
|
+
"input": {
|
|
4308
|
+
"spreadsheetId": "1qW2eR3tY4uI5oP6aS7dF8gH9jK0lZ1xC2vB3nM4Q5w6",
|
|
4309
|
+
"range": "Orders!A:D",
|
|
4310
|
+
"values": [
|
|
4311
|
+
[
|
|
4312
|
+
"2026-10-17",
|
|
4313
|
+
"INV-1042",
|
|
4314
|
+
1250.5,
|
|
4315
|
+
true
|
|
4316
|
+
],
|
|
4317
|
+
[
|
|
4318
|
+
"2026-10-17",
|
|
4319
|
+
"INV-1043",
|
|
4320
|
+
980,
|
|
4321
|
+
false
|
|
4322
|
+
]
|
|
4323
|
+
],
|
|
4324
|
+
"valueInput": "user"
|
|
4325
|
+
},
|
|
4326
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d05"
|
|
4327
|
+
},
|
|
4328
|
+
{
|
|
4329
|
+
"connection": "company-sheets",
|
|
4330
|
+
"operation": "sheets.values.update",
|
|
4331
|
+
"resource": "my-sheets",
|
|
4332
|
+
"input": {
|
|
4333
|
+
"spreadsheetId": "1qW2eR3tY4uI5oP6aS7dF8gH9jK0lZ1xC2vB3nM4Q5w6",
|
|
4334
|
+
"range": "Orders!C2:D2",
|
|
4335
|
+
"values": [
|
|
4336
|
+
[
|
|
4337
|
+
1300,
|
|
4338
|
+
null
|
|
4339
|
+
]
|
|
4340
|
+
],
|
|
4341
|
+
"valueInput": "raw"
|
|
4342
|
+
}
|
|
4343
|
+
},
|
|
4344
|
+
{
|
|
4345
|
+
"connection": "company-sheets",
|
|
4346
|
+
"operation": "sheets.values.clear",
|
|
4347
|
+
"resource": "my-sheets",
|
|
4348
|
+
"input": {
|
|
4349
|
+
"spreadsheetId": "1qW2eR3tY4uI5oP6aS7dF8gH9jK0lZ1xC2vB3nM4Q5w6",
|
|
4350
|
+
"range": "Orders!A2:D"
|
|
4351
|
+
}
|
|
4352
|
+
},
|
|
4353
|
+
{
|
|
4354
|
+
"connection": "company-sheets",
|
|
4355
|
+
"operation": "sheets.spreadsheet.create",
|
|
4356
|
+
"resource": "my-sheets",
|
|
4357
|
+
"input": {
|
|
4358
|
+
"title": "Q4 pipeline",
|
|
4359
|
+
"sheets": [
|
|
4360
|
+
"Deals",
|
|
4361
|
+
"Notes"
|
|
4362
|
+
]
|
|
4363
|
+
},
|
|
4364
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d06"
|
|
4365
|
+
},
|
|
4366
|
+
{
|
|
4367
|
+
"connection": "company-outlook",
|
|
4368
|
+
"operation": "outlook.message.list",
|
|
4369
|
+
"resource": "inbox",
|
|
4370
|
+
"input": {
|
|
4371
|
+
"folder": "inbox",
|
|
4372
|
+
"q": "weekly report"
|
|
4373
|
+
}
|
|
4374
|
+
},
|
|
4375
|
+
{
|
|
4376
|
+
"connection": "company-outlook",
|
|
4377
|
+
"operation": "outlook.message.read",
|
|
4378
|
+
"resource": "inbox",
|
|
4379
|
+
"input": {
|
|
4380
|
+
"messageId": "AAMkAGI2THVSAAA-ZmQ0NzY2M2EtMDAwMC00YzI4LWFhYTEtYmJjYzEyMzQ1Njc4AQAAAAAAWbKCSXNo0UOjEqSs3Og1AAA="
|
|
4381
|
+
}
|
|
4382
|
+
},
|
|
4383
|
+
{
|
|
4384
|
+
"connection": "company-outlook",
|
|
4385
|
+
"operation": "outlook.attachment.read",
|
|
4386
|
+
"resource": "inbox",
|
|
4387
|
+
"input": {
|
|
4388
|
+
"messageId": "AAMkAGI2THVSAAA-ZmQ0NzY2M2EtMDAwMC00YzI4LWFhYTEtYmJjYzEyMzQ1Njc4AQAAAAAAWbKCSXNo0UOjEqSs3Og1AAA=",
|
|
4389
|
+
"attachmentId": "AAMkAGI2THVSAAA-ZmQ0NzY2M2EtMDAwMC00YzI4LWFhYTEtYmJjYzEyMzQ1Njc4AQAAAAAAWbKCSXNo0UOjEqSs3Og1AAABEgAQAK5f9c0P2kZEoYw3QmX3xYQ="
|
|
4390
|
+
}
|
|
4391
|
+
},
|
|
4392
|
+
{
|
|
4393
|
+
"connection": "company-outlook",
|
|
4394
|
+
"operation": "outlook.message.send",
|
|
4395
|
+
"resource": "inbox",
|
|
4396
|
+
"input": {
|
|
4397
|
+
"to": [
|
|
4398
|
+
"jane@example.com"
|
|
4399
|
+
],
|
|
4400
|
+
"cc": [
|
|
4401
|
+
"sam@example.com"
|
|
4402
|
+
],
|
|
4403
|
+
"subject": "Weekly report",
|
|
4404
|
+
"text": "The weekly report is attached.",
|
|
4405
|
+
"html": "<p>The weekly report is <b>attached</b>.</p>",
|
|
4406
|
+
"attachments": [
|
|
4407
|
+
{
|
|
4408
|
+
"filename": "weekly-report.pdf",
|
|
4409
|
+
"contentType": "application/pdf",
|
|
4410
|
+
"dataBase64": "JVBERi0xLjQKJcOkw7zDtsOfCg=="
|
|
4411
|
+
}
|
|
4412
|
+
]
|
|
4413
|
+
},
|
|
4414
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d07"
|
|
4415
|
+
},
|
|
4416
|
+
{
|
|
4417
|
+
"connection": "company-outlook",
|
|
4418
|
+
"operation": "outlook.message.reply",
|
|
4419
|
+
"resource": "inbox",
|
|
4420
|
+
"input": {
|
|
4421
|
+
"messageId": "AAMkAGI2THVSAAA-ZmQ0NzY2M2EtMDAwMC00YzI4LWFhYTEtYmJjYzEyMzQ1Njc4AQAAAAAAWbKCSXNo0UOjEqSs3Og1AAA=",
|
|
4422
|
+
"text": "Thanks, received."
|
|
4423
|
+
},
|
|
4424
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d08"
|
|
4425
|
+
},
|
|
4426
|
+
{
|
|
4427
|
+
"connection": "company-outlook",
|
|
4428
|
+
"operation": "outlook.event.list",
|
|
4429
|
+
"resource": "inbox",
|
|
4430
|
+
"input": {
|
|
4431
|
+
"start": "2026-10-20T00:00:00Z",
|
|
4432
|
+
"end": "2026-10-27T00:00:00Z"
|
|
4433
|
+
}
|
|
4434
|
+
},
|
|
4435
|
+
{
|
|
4436
|
+
"connection": "company-outlook",
|
|
4437
|
+
"operation": "outlook.event.read",
|
|
4438
|
+
"resource": "inbox",
|
|
4439
|
+
"input": {
|
|
4440
|
+
"eventId": "AAMkAGI2THVSAAA-ZmQ0NzY2M2EtMDAwMC00YzI4LWFhYTEtYmJjYzEyMzQ1Njc4BGAAAAAAAWbKCSXNo0UOjEqSs3Og1AAAAABw2mAAA="
|
|
4441
|
+
}
|
|
4442
|
+
},
|
|
4443
|
+
{
|
|
4444
|
+
"connection": "company-outlook",
|
|
4445
|
+
"operation": "outlook.event.create",
|
|
4446
|
+
"resource": "inbox",
|
|
4447
|
+
"input": {
|
|
4448
|
+
"title": "Sprint review",
|
|
4449
|
+
"start": "2026-10-21T09:00:00Z",
|
|
4450
|
+
"end": "2026-10-21T10:00:00Z",
|
|
4451
|
+
"timeZone": "Asia/Kolkata",
|
|
4452
|
+
"attendees": [
|
|
4453
|
+
"jane@example.com"
|
|
4454
|
+
]
|
|
4455
|
+
},
|
|
4456
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d09"
|
|
4457
|
+
},
|
|
4458
|
+
{
|
|
4459
|
+
"connection": "company-outlook",
|
|
4460
|
+
"operation": "outlook.event.update",
|
|
4461
|
+
"resource": "inbox",
|
|
4462
|
+
"input": {
|
|
4463
|
+
"eventId": "AAMkAGI2THVSAAA-ZmQ0NzY2M2EtMDAwMC00YzI4LWFhYTEtYmJjYzEyMzQ1Njc4BGAAAAAAAWbKCSXNo0UOjEqSs3Og1AAAAABw2mAAA=",
|
|
4464
|
+
"location": "Teams call",
|
|
4465
|
+
"notify": true
|
|
4466
|
+
}
|
|
4467
|
+
},
|
|
4468
|
+
{
|
|
4469
|
+
"connection": "company-outlook",
|
|
4470
|
+
"operation": "outlook.event.cancel",
|
|
4471
|
+
"resource": "inbox",
|
|
4472
|
+
"input": {
|
|
4473
|
+
"eventId": "AAMkAGI2THVSAAA-ZmQ0NzY2M2EtMDAwMC00YzI4LWFhYTEtYmJjYzEyMzQ1Njc4BGAAAAAAAWbKCSXNo0UOjEqSs3Og1AAAAABw2mAAA=",
|
|
4474
|
+
"comment": "Moved to next week."
|
|
4475
|
+
}
|
|
4476
|
+
},
|
|
4477
|
+
{
|
|
4478
|
+
"connection": "company-onedrive",
|
|
4479
|
+
"operation": "onedrive.file.list",
|
|
4480
|
+
"resource": "my-drive",
|
|
4481
|
+
"input": {
|
|
4482
|
+
"folderId": "01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K"
|
|
4483
|
+
}
|
|
4484
|
+
},
|
|
4485
|
+
{
|
|
4486
|
+
"connection": "company-onedrive",
|
|
4487
|
+
"operation": "onedrive.file.search",
|
|
4488
|
+
"resource": "my-drive",
|
|
4489
|
+
"input": {
|
|
4490
|
+
"q": "weekly report"
|
|
4491
|
+
}
|
|
4492
|
+
},
|
|
4493
|
+
{
|
|
4494
|
+
"connection": "company-onedrive",
|
|
4495
|
+
"operation": "onedrive.file.read",
|
|
4496
|
+
"resource": "my-drive",
|
|
4497
|
+
"input": {
|
|
4498
|
+
"fileId": "01BYE5RZ5MYLM2SMX75ZBIPQZIHT6OAYPB"
|
|
4499
|
+
}
|
|
4500
|
+
},
|
|
4501
|
+
{
|
|
4502
|
+
"connection": "company-onedrive",
|
|
4503
|
+
"operation": "onedrive.file.upload",
|
|
4504
|
+
"resource": "my-drive",
|
|
4505
|
+
"input": {
|
|
4506
|
+
"filename": "weekly-report.pdf",
|
|
4507
|
+
"contentType": "application/pdf",
|
|
4508
|
+
"dataBase64": "JVBERi0xLjQKJcOkw7zDtsOfCg==",
|
|
4509
|
+
"folderId": "01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K"
|
|
4510
|
+
},
|
|
4511
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d10"
|
|
4512
|
+
},
|
|
4513
|
+
{
|
|
4514
|
+
"connection": "company-onedrive",
|
|
4515
|
+
"operation": "onedrive.folder.create",
|
|
4516
|
+
"resource": "my-drive",
|
|
4517
|
+
"input": {
|
|
4518
|
+
"title": "Reports 2026"
|
|
4519
|
+
},
|
|
4520
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d11"
|
|
4521
|
+
},
|
|
4522
|
+
{
|
|
4523
|
+
"connection": "company-excel",
|
|
4524
|
+
"operation": "excel.worksheet.list",
|
|
4525
|
+
"resource": "my-workbooks",
|
|
4526
|
+
"input": {
|
|
4527
|
+
"fileId": "01BYE5RZ4ZQJTCW6HHGBF2WSPZ4B7PMI4A"
|
|
4528
|
+
}
|
|
4529
|
+
},
|
|
4530
|
+
{
|
|
4531
|
+
"connection": "company-excel",
|
|
4532
|
+
"operation": "excel.range.read",
|
|
4533
|
+
"resource": "my-workbooks",
|
|
4534
|
+
"input": {
|
|
4535
|
+
"fileId": "01BYE5RZ4ZQJTCW6HHGBF2WSPZ4B7PMI4A",
|
|
4536
|
+
"worksheet": "Orders",
|
|
4537
|
+
"address": "A1:D10"
|
|
4538
|
+
}
|
|
4539
|
+
},
|
|
4540
|
+
{
|
|
4541
|
+
"connection": "company-excel",
|
|
4542
|
+
"operation": "excel.range.update",
|
|
4543
|
+
"resource": "my-workbooks",
|
|
4544
|
+
"input": {
|
|
4545
|
+
"fileId": "01BYE5RZ4ZQJTCW6HHGBF2WSPZ4B7PMI4A",
|
|
4546
|
+
"worksheet": "Orders",
|
|
4547
|
+
"address": "C2:D2",
|
|
4548
|
+
"values": [
|
|
4549
|
+
[
|
|
4550
|
+
1300,
|
|
4551
|
+
"paid"
|
|
4552
|
+
]
|
|
4553
|
+
]
|
|
4554
|
+
}
|
|
4555
|
+
},
|
|
4556
|
+
{
|
|
4557
|
+
"connection": "company-excel",
|
|
4558
|
+
"operation": "excel.table.list",
|
|
4559
|
+
"resource": "my-workbooks",
|
|
4560
|
+
"input": {
|
|
4561
|
+
"fileId": "01BYE5RZ4ZQJTCW6HHGBF2WSPZ4B7PMI4A",
|
|
4562
|
+
"worksheet": "Orders"
|
|
4563
|
+
}
|
|
4564
|
+
},
|
|
4565
|
+
{
|
|
4566
|
+
"connection": "company-excel",
|
|
4567
|
+
"operation": "excel.row.add",
|
|
4568
|
+
"resource": "my-workbooks",
|
|
4569
|
+
"input": {
|
|
4570
|
+
"fileId": "01BYE5RZ4ZQJTCW6HHGBF2WSPZ4B7PMI4A",
|
|
4571
|
+
"driveId": "b!X1Y2Z3a4B5c6D7e8F9g0H1i2J3k4L5m6N7o8P9q0R1s2T3u4V5w6X7y8Z9a0B1c2",
|
|
4572
|
+
"tableName": "OrdersTable",
|
|
4573
|
+
"values": [
|
|
4574
|
+
[
|
|
4575
|
+
"2026-10-17",
|
|
4576
|
+
"INV-1042",
|
|
4577
|
+
1250.5,
|
|
4578
|
+
true
|
|
4579
|
+
]
|
|
4580
|
+
]
|
|
4581
|
+
},
|
|
4582
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d12"
|
|
4583
|
+
},
|
|
4584
|
+
{
|
|
4585
|
+
"connection": "company-excel",
|
|
4586
|
+
"operation": "excel.worksheet.add",
|
|
4587
|
+
"resource": "my-workbooks",
|
|
4588
|
+
"input": {
|
|
4589
|
+
"fileId": "01BYE5RZ4ZQJTCW6HHGBF2WSPZ4B7PMI4A",
|
|
4590
|
+
"title": "Week 42"
|
|
4591
|
+
},
|
|
4592
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d13"
|
|
4593
|
+
},
|
|
4594
|
+
{
|
|
4595
|
+
"connection": "company-teams",
|
|
4596
|
+
"operation": "teams.message.list",
|
|
4597
|
+
"resource": "engineering",
|
|
4598
|
+
"input": {}
|
|
4599
|
+
},
|
|
4600
|
+
{
|
|
4601
|
+
"connection": "company-teams",
|
|
4602
|
+
"operation": "teams.message.post",
|
|
4603
|
+
"resource": "engineering",
|
|
4604
|
+
"input": {
|
|
4605
|
+
"text": "Weekly report posted.",
|
|
4606
|
+
"html": "<p>Weekly report <b>posted</b>.</p>"
|
|
4607
|
+
},
|
|
4608
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d14"
|
|
4609
|
+
},
|
|
4610
|
+
{
|
|
4611
|
+
"connection": "company-teams",
|
|
4612
|
+
"operation": "teams.reply.post",
|
|
4613
|
+
"resource": "engineering",
|
|
4614
|
+
"input": {
|
|
4615
|
+
"messageId": "1729159200123",
|
|
4616
|
+
"text": "Thanks, shipped."
|
|
4617
|
+
},
|
|
4618
|
+
"idempotencyKey": "6f1c2c1e-3a1c-4c3e-9f0e-2b6f7d8a9d15"
|
|
2354
4619
|
}
|
|
2355
4620
|
]
|
|
2356
4621
|
}
|