@camunda/connectors-element-templates 1.0.18 → 1.0.20

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.
Files changed (110) hide show
  1. package/package.json +2 -2
  2. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +3 -3
  3. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +2 -2
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +2 -2
  5. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +2 -2
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +2 -2
  7. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +49 -49
  8. package/src/element-templates/agenticai-aiagent-job-worker.json +389 -389
  9. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3928 -3928
  10. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +551 -551
  11. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +733 -733
  12. package/src/element-templates/asana-connector.json +111 -111
  13. package/src/element-templates/automation-anywhere-outbound-connector.json +1224 -1224
  14. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1 -1
  15. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +1 -1
  16. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +1 -1
  17. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +1 -1
  18. package/src/element-templates/aws-bedrock-outbound-connector.json +432 -432
  19. package/src/element-templates/aws-comprehend-outbound-connector.json +1 -1
  20. package/src/element-templates/aws-dynamodb-outbound-connector.json +3518 -2166
  21. package/src/element-templates/aws-eventbridge-connector-boundary.json +38 -38
  22. package/src/element-templates/aws-eventbridge-connector-intermediate.json +80 -80
  23. package/src/element-templates/aws-eventbridge-connector-message-start.json +21 -21
  24. package/src/element-templates/aws-eventbridge-connector-receive.json +6 -6
  25. package/src/element-templates/aws-eventbridge-connector-start-event.json +15 -15
  26. package/src/element-templates/aws-eventbridge-outbound-connector.json +306 -306
  27. package/src/element-templates/aws-lambda-outbound-connector.json +279 -279
  28. package/src/element-templates/aws-s3-outbound-connector.json +721 -48
  29. package/src/element-templates/aws-sagemaker-outbound-connector.json +59 -59
  30. package/src/element-templates/aws-sns-inbound-boundary.json +181 -181
  31. package/src/element-templates/aws-sns-inbound-intermediate.json +325 -325
  32. package/src/element-templates/aws-sns-inbound-message-start.json +350 -350
  33. package/src/element-templates/aws-sns-inbound-start-event.json +140 -140
  34. package/src/element-templates/aws-sns-outbound-connector.json +301 -301
  35. package/src/element-templates/aws-sqs-boundary-connector.json +930 -930
  36. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +628 -628
  37. package/src/element-templates/aws-sqs-outbound-connector.json +366 -366
  38. package/src/element-templates/aws-sqs-start-event-connector.json +717 -717
  39. package/src/element-templates/aws-sqs-start-message.json +488 -488
  40. package/src/element-templates/aws-textract-outbound-connector.json +351 -351
  41. package/src/element-templates/azure-blobstorage-outbound-connector.json +201 -201
  42. package/src/element-templates/azure-open-ai-connector.json +49 -49
  43. package/src/element-templates/blue-prism-connector.json +64 -64
  44. package/src/element-templates/box-outbound-connector.json +49 -49
  45. package/src/element-templates/csv-outbound-connector.json +449 -0
  46. package/src/element-templates/easy-post-connector.json +214 -214
  47. package/src/element-templates/email-inbound-connector-boundary.json +37 -37
  48. package/src/element-templates/email-inbound-connector-intermediate.json +37 -37
  49. package/src/element-templates/email-message-start-event-connector.json +63 -63
  50. package/src/element-templates/email-outbound-connector.json +903 -903
  51. package/src/element-templates/embeddings-vector-database-outbound-connector.json +520 -520
  52. package/src/element-templates/github-connector.json +8446 -8446
  53. package/src/element-templates/github-webhook-connector-intermediate.json +55 -55
  54. package/src/element-templates/github-webhook-connector-message-start.json +19 -19
  55. package/src/element-templates/github-webhook-connector-start-event.json +52 -52
  56. package/src/element-templates/gitlab-connector.json +2344 -2344
  57. package/src/element-templates/google-cloud-storage-outbound-connector.json +201 -201
  58. package/src/element-templates/google-drive-outbound-connector.json +1106 -1106
  59. package/src/element-templates/google-gemini-outbound-connector.json +125 -125
  60. package/src/element-templates/google-maps-platform-connector.json +97 -97
  61. package/src/element-templates/google-sheets-outbound-connector.json +3100 -3100
  62. package/src/element-templates/graphql-outbound-connector.json +738 -631
  63. package/src/element-templates/http-json-connector.json +3249 -1651
  64. package/src/element-templates/http-polling-boundary-catch-event-connector.json +866 -764
  65. package/src/element-templates/http-polling-connector.json +851 -749
  66. package/src/element-templates/hubspot-outbound-connector.json +67 -67
  67. package/src/element-templates/hugging-face-connector.json +79 -79
  68. package/src/element-templates/jdbc-outbound-connector.json +68 -68
  69. package/src/element-templates/kafka-inbound-connector-boundary.json +927 -927
  70. package/src/element-templates/kafka-inbound-connector-intermediate.json +1125 -1125
  71. package/src/element-templates/kafka-inbound-connector-start-message.json +650 -650
  72. package/src/element-templates/kafka-outbound-connector.json +424 -424
  73. package/src/element-templates/microsoft-office365-mail-connector.json +993 -7
  74. package/src/element-templates/microsoft-teams-outbound-connector.json +4145 -4145
  75. package/src/element-templates/openai-connector.json +317 -317
  76. package/src/element-templates/operate-connector.json +142 -142
  77. package/src/element-templates/power-automate-connector.json +44 -44
  78. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +905 -905
  79. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +763 -763
  80. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +470 -470
  81. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +752 -752
  82. package/src/element-templates/rabbitmq-outbound-connector.json +367 -367
  83. package/src/element-templates/rpa-connector.json +5 -5
  84. package/src/element-templates/salesforce-connector.json +112 -112
  85. package/src/element-templates/send-message-connector-intermediate-throw-event.json +1 -1
  86. package/src/element-templates/send-message-connector-message-end-event.json +1 -1
  87. package/src/element-templates/send-message-connector-send-task.json +1 -1
  88. package/src/element-templates/sendgrid-outbound-connector.json +1220 -1220
  89. package/src/element-templates/servicenow-connector.json +7 -7
  90. package/src/element-templates/servicenow-flow-starter-connector.json +1 -1
  91. package/src/element-templates/servicenow-incident-connector.json +7 -7
  92. package/src/element-templates/slack-inbound-boundary.json +463 -463
  93. package/src/element-templates/slack-inbound-intermediate.json +506 -506
  94. package/src/element-templates/slack-inbound-message-start.json +364 -364
  95. package/src/element-templates/slack-inbound-receive.json +23 -23
  96. package/src/element-templates/slack-inbound-start-event.json +334 -334
  97. package/src/element-templates/slack-outbound-connector.json +1803 -1803
  98. package/src/element-templates/soap-outbound-connector.json +1 -1
  99. package/src/element-templates/twilio-connector.json +355 -355
  100. package/src/element-templates/twilio-webhook-boundary-connector.json +35 -35
  101. package/src/element-templates/twilio-webhook-connector.json +53 -53
  102. package/src/element-templates/twilio-webhook-intermediate-connector.json +39 -39
  103. package/src/element-templates/twilio-webhook-message-start-connector.json +26 -26
  104. package/src/element-templates/uipath-connector.json +4 -4
  105. package/src/element-templates/webhook-connector-boundary.json +1205 -1205
  106. package/src/element-templates/webhook-connector-intermediate.json +1550 -1550
  107. package/src/element-templates/webhook-connector-receive.json +61 -61
  108. package/src/element-templates/webhook-connector-start-event.json +1606 -1606
  109. package/src/element-templates/webhook-connector-start-message.json +1300 -1300
  110. package/src/element-templates/whatsapp-connector.json +59 -59
@@ -3,18 +3,9 @@
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
4
  "name": "Google Drive Outbound Connector",
5
5
  "id": "io.camunda.connectors.GoogleDrive.v1",
6
- "description": "Manage Google Drive files and folders",
7
- "keywords": [
8
- "create file",
9
- "create file from template",
10
- "create folder",
11
- "upload file",
12
- "download file",
13
- "file storage",
14
- "document management"
15
- ],
6
+ "version": 2,
16
7
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
17
- "version": 6,
8
+ "description": "Create folder or a file from template",
18
9
  "category": {
19
10
  "id": "connectors",
20
11
  "name": "Connectors"
@@ -23,9 +14,6 @@
23
14
  "elementType": {
24
15
  "value": "bpmn:ServiceTask"
25
16
  },
26
- "engines": {
27
- "camunda": "^8.10"
28
- },
29
17
  "groups": [
30
18
  {
31
19
  "id": "authentication",
@@ -39,46 +27,30 @@
39
27
  "id": "operationDetails",
40
28
  "label": "Operation details"
41
29
  },
42
- {
43
- "id": "connector",
44
- "label": "Connector"
45
- },
46
30
  {
47
31
  "id": "output",
48
32
  "label": "Output mapping"
49
33
  },
50
34
  {
51
- "id": "error",
35
+ "id": "errors",
52
36
  "label": "Error handling"
53
- },
54
- {
55
- "id": "retries",
56
- "label": "Retries"
57
37
  }
58
38
  ],
59
39
  "properties": [
60
40
  {
41
+ "type": "Hidden",
61
42
  "value": "io.camunda:google-drive:1",
62
43
  "binding": {
63
- "property": "type",
64
- "type": "zeebe:taskDefinition"
65
- },
66
- "type": "Hidden"
44
+ "type": "zeebe:taskDefinition",
45
+ "property": "type"
46
+ }
67
47
  },
68
48
  {
69
- "id": "authentication.authType",
49
+ "id": "authenticationType",
70
50
  "label": "Type",
71
- "optional": false,
72
- "value": "refresh",
73
- "constraints": {
74
- "notEmpty": true
75
- },
76
51
  "group": "authentication",
77
- "binding": {
78
- "name": "authentication.authType",
79
- "type": "zeebe:input"
80
- },
81
52
  "type": "Dropdown",
53
+ "value": "bearer",
82
54
  "choices": [
83
55
  {
84
56
  "name": "Bearer token",
@@ -88,106 +60,86 @@
88
60
  "name": "Refresh token",
89
61
  "value": "refresh"
90
62
  }
91
- ]
63
+ ],
64
+ "binding": {
65
+ "type": "zeebe:input",
66
+ "name": "authentication.authType",
67
+ "key": "authentication.authType"
68
+ }
92
69
  },
93
70
  {
94
- "id": "authentication.bearerToken",
95
71
  "label": "Bearer token",
96
- "description": "Enter a valid Google API Bearer token",
97
- "optional": false,
98
- "constraints": {
99
- "notEmpty": true
100
- },
101
- "feel": "optional",
72
+ "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
102
73
  "group": "authentication",
74
+ "type": "String",
103
75
  "binding": {
104
- "name": "authentication.bearerToken",
105
- "type": "zeebe:input"
76
+ "type": "zeebe:input",
77
+ "name": "authentication.bearerToken"
106
78
  },
107
- "condition": {
108
- "property": "authentication.authType",
109
- "equals": "bearer",
110
- "type": "simple"
79
+ "constraints": {
80
+ "notEmpty": true
111
81
  },
112
- "type": "String"
82
+ "condition": {
83
+ "property": "authenticationType",
84
+ "equals": "bearer"
85
+ }
113
86
  },
114
87
  {
115
- "id": "authentication.oauthClientId",
116
88
  "label": "Client ID",
117
89
  "description": "Enter Google API Client ID",
118
- "optional": false,
119
- "constraints": {
120
- "notEmpty": true
121
- },
122
- "feel": "optional",
123
90
  "group": "authentication",
91
+ "type": "String",
124
92
  "binding": {
125
- "name": "authentication.oauthClientId",
126
- "type": "zeebe:input"
93
+ "type": "zeebe:input",
94
+ "name": "authentication.oauthClientId"
127
95
  },
128
- "condition": {
129
- "property": "authentication.authType",
130
- "equals": "refresh",
131
- "type": "simple"
96
+ "constraints": {
97
+ "notEmpty": true
132
98
  },
133
- "type": "String"
99
+ "condition": {
100
+ "property": "authenticationType",
101
+ "equals": "refresh"
102
+ }
134
103
  },
135
104
  {
136
- "id": "authentication.oauthClientSecret",
137
105
  "label": "Client secret",
138
106
  "description": "Enter Google API client Secret",
139
- "optional": false,
140
- "constraints": {
141
- "notEmpty": true
142
- },
143
- "feel": "optional",
144
107
  "group": "authentication",
108
+ "type": "String",
145
109
  "binding": {
146
- "name": "authentication.oauthClientSecret",
147
- "type": "zeebe:input"
110
+ "type": "zeebe:input",
111
+ "name": "authentication.oauthClientSecret"
148
112
  },
149
- "condition": {
150
- "property": "authentication.authType",
151
- "equals": "refresh",
152
- "type": "simple"
113
+ "constraints": {
114
+ "notEmpty": true
153
115
  },
154
- "type": "String"
116
+ "condition": {
117
+ "property": "authenticationType",
118
+ "equals": "refresh"
119
+ }
155
120
  },
156
121
  {
157
- "id": "authentication.oauthRefreshToken",
158
122
  "label": "Refresh token",
159
- "description": "Enter a valid Google API refresh token",
160
- "optional": false,
161
- "constraints": {
162
- "notEmpty": true
163
- },
164
- "feel": "optional",
123
+ "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
165
124
  "group": "authentication",
125
+ "type": "String",
166
126
  "binding": {
167
- "name": "authentication.oauthRefreshToken",
168
- "type": "zeebe:input"
169
- },
170
- "condition": {
171
- "property": "authentication.authType",
172
- "equals": "refresh",
173
- "type": "simple"
127
+ "type": "zeebe:input",
128
+ "name": "authentication.oauthRefreshToken"
174
129
  },
175
- "type": "String"
176
- },
177
- {
178
- "id": "resource.type",
179
- "label": "Operation",
180
- "optional": false,
181
- "value": "folder",
182
130
  "constraints": {
183
131
  "notEmpty": true
184
132
  },
133
+ "condition": {
134
+ "property": "authenticationType",
135
+ "equals": "refresh"
136
+ }
137
+ },
138
+ {
139
+ "id": "resourceType",
185
140
  "group": "operation",
186
- "binding": {
187
- "name": "resource.type",
188
- "type": "zeebe:input"
189
- },
190
141
  "type": "Dropdown",
142
+ "value": "folder",
191
143
  "choices": [
192
144
  {
193
145
  "name": "Create folder",
@@ -196,322 +148,499 @@
196
148
  {
197
149
  "name": "Create file from template",
198
150
  "value": "file"
199
- },
200
- {
201
- "name": "Upload file",
202
- "value": "upload"
203
- },
204
- {
205
- "name": "Download file",
206
- "value": "download"
207
151
  }
208
- ]
152
+ ],
153
+ "binding": {
154
+ "type": "zeebe:input",
155
+ "name": "resource.type",
156
+ "key": "resource.type"
157
+ }
209
158
  },
210
159
  {
211
- "id": "resource.name",
212
- "label": "New resource name",
213
- "optional": false,
214
- "constraints": {
215
- "notEmpty": true
216
- },
217
- "feel": "optional",
160
+ "label": "File name",
161
+ "description": "Enter name for your file",
218
162
  "group": "operationDetails",
163
+ "type": "String",
164
+ "feel": "optional",
219
165
  "binding": {
220
- "name": "resource.name",
221
- "type": "zeebe:input"
166
+ "type": "zeebe:input",
167
+ "name": "resource.name"
222
168
  },
223
- "condition": {
224
- "property": "resource.type",
225
- "oneOf": ["folder", "file"],
226
- "type": "simple"
169
+ "constraints": {
170
+ "notEmpty": true,
171
+ "maxLength": 255
227
172
  },
228
- "type": "String"
173
+ "condition": {
174
+ "property": "resourceType",
175
+ "equals": "file"
176
+ }
229
177
  },
230
178
  {
231
- "id": "resource.parent",
232
- "label": "Parent folder ID",
233
- "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
234
- "optional": true,
235
- "feel": "optional",
179
+ "label": "Folder name",
180
+ "description": "Enter name for your folder",
236
181
  "group": "operationDetails",
182
+ "type": "String",
183
+ "feel": "optional",
237
184
  "binding": {
238
- "name": "resource.parent",
239
- "type": "zeebe:input"
185
+ "type": "zeebe:input",
186
+ "name": "resource.name"
240
187
  },
241
- "condition": {
242
- "property": "resource.type",
243
- "oneOf": ["folder", "file", "upload"],
244
- "type": "simple"
188
+ "constraints": {
189
+ "notEmpty": true,
190
+ "maxLength": 255
245
191
  },
246
- "type": "String"
192
+ "condition": {
193
+ "property": "resourceType",
194
+ "equals": "folder"
195
+ }
247
196
  },
248
197
  {
249
- "id": "resource.additionalGoogleDriveProperties",
250
- "label": "Additional properties or metadata",
251
- "optional": true,
252
- "feel": "required",
198
+ "label": "Template ID",
199
+ "description": "Enter ID of the template you are creating a file from",
253
200
  "group": "operationDetails",
201
+ "type": "String",
202
+ "feel": "optional",
254
203
  "binding": {
255
- "name": "resource.additionalGoogleDriveProperties",
256
- "type": "zeebe:input"
257
- },
258
- "condition": {
259
- "property": "resource.type",
260
- "equals": "folder",
261
- "type": "simple"
204
+ "type": "zeebe:input",
205
+ "name": "resource.template.id"
262
206
  },
263
- "type": "String"
264
- },
265
- {
266
- "id": "resource.template.id",
267
- "label": "Template ID",
268
- "optional": false,
269
207
  "constraints": {
270
208
  "notEmpty": true
271
209
  },
272
- "feel": "optional",
273
- "group": "operationDetails",
274
- "binding": {
275
- "name": "resource.template.id",
276
- "type": "zeebe:input"
277
- },
278
210
  "condition": {
279
- "property": "resource.type",
280
- "equals": "file",
281
- "type": "simple"
282
- },
283
- "type": "String"
211
+ "property": "resourceType",
212
+ "equals": "file"
213
+ }
284
214
  },
285
215
  {
286
- "id": "resource.template.variables",
287
- "label": "Template variables",
288
- "optional": false,
289
- "feel": "required",
216
+ "label": "Parent folder ID",
217
+ "description": "Enter ID of the parent folder where new folder will be created",
290
218
  "group": "operationDetails",
219
+ "type": "String",
220
+ "feel": "optional",
221
+ "optional": true,
291
222
  "binding": {
292
- "name": "resource.template.variables",
293
- "type": "zeebe:input"
223
+ "type": "zeebe:input",
224
+ "name": "resource.parent"
294
225
  },
295
226
  "condition": {
296
- "property": "resource.type",
297
- "equals": "file",
298
- "type": "simple"
299
- },
300
- "type": "String"
227
+ "property": "resourceType",
228
+ "equals": "folder"
229
+ }
301
230
  },
302
231
  {
303
- "id": "resource.downloadData.fileId",
304
- "label": "File ID",
305
- "optional": false,
306
- "constraints": {
307
- "notEmpty": true
308
- },
309
- "feel": "optional",
232
+ "label": "Parent folder ID",
233
+ "description": "Enter ID of the parent folder where new file will be created",
310
234
  "group": "operationDetails",
235
+ "type": "String",
236
+ "feel": "optional",
237
+ "optional": true,
311
238
  "binding": {
312
- "name": "resource.downloadData.fileId",
313
- "type": "zeebe:input"
239
+ "type": "zeebe:input",
240
+ "name": "resource.parent"
314
241
  },
315
242
  "condition": {
316
- "property": "resource.type",
317
- "equals": "download",
318
- "type": "simple"
319
- },
320
- "type": "String"
243
+ "property": "resourceType",
244
+ "equals": "file"
245
+ }
321
246
  },
322
247
  {
323
- "id": "resource.uploadData.document_documentSource",
324
- "label": "Document source",
325
- "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
326
- "value": "camunda",
248
+ "label": "Template variables",
249
+ "description": "Use this field to pass and update variables in your template as JSON",
327
250
  "group": "operationDetails",
251
+ "type": "Text",
252
+ "feel": "required",
328
253
  "binding": {
329
- "name": "resource.uploadData.document_documentSource",
330
- "type": "zeebe:input"
254
+ "type": "zeebe:input",
255
+ "name": "resource.template.variables"
331
256
  },
332
257
  "condition": {
333
- "property": "resource.type",
334
- "equals": "upload",
335
- "type": "simple"
258
+ "property": "resourceType",
259
+ "equals": "file"
260
+ }
261
+ },
262
+ {
263
+ "label": "Additional properties or metadata",
264
+ "description": "Use this field to pass additional Google Drive parameters as JSON.",
265
+ "group": "operationDetails",
266
+ "type": "Text",
267
+ "optional": true,
268
+ "feel": "required",
269
+ "binding": {
270
+ "type": "zeebe:input",
271
+ "name": "resource.additionalGoogleDriveProperties",
272
+ "key": "resource.additionalGoogleDriveProperties"
273
+ }
274
+ },
275
+ {
276
+ "label": "Result variable",
277
+ "description": "Enter name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
278
+ "group": "output",
279
+ "type": "String",
280
+ "binding": {
281
+ "type": "zeebe:taskHeader",
282
+ "key": "resultVariable"
283
+ }
284
+ },
285
+ {
286
+ "label": "Result expression",
287
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
288
+ "group": "output",
289
+ "type": "Text",
290
+ "feel": "required",
291
+ "binding": {
292
+ "type": "zeebe:taskHeader",
293
+ "key": "resultExpression"
294
+ }
295
+ },
296
+ {
297
+ "label": "Error expression",
298
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
299
+ "group": "errors",
300
+ "type": "Text",
301
+ "feel": "required",
302
+ "binding": {
303
+ "type": "zeebe:taskHeader",
304
+ "key": "errorExpression"
305
+ }
306
+ }
307
+ ],
308
+ "icon": {
309
+ "contents": "data:image/svg+xml;utf8,%3Csvg width='18' height='18' viewBox='0 0 87.3 78' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z' fill='%230066da'/%3E%3Cpath d='m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z' fill='%2300ac47'/%3E%3Cpath d='m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z' fill='%23ea4335'/%3E%3Cpath d='m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z' fill='%2300832d'/%3E%3Cpath d='m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z' fill='%232684fc'/%3E%3Cpath d='m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z' fill='%23ffba00'/%3E%3C/svg%3E"
310
+ },
311
+ "engines": {
312
+ "camunda": "^8.2"
313
+ }
314
+ },
315
+ {
316
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
317
+ "name": "Google Drive Outbound Connector",
318
+ "id": "io.camunda.connectors.GoogleDrive.v1",
319
+ "description": "Manage Google Drive files and folders",
320
+ "keywords": [
321
+ "create file",
322
+ "create file from template",
323
+ "create folder",
324
+ "upload file",
325
+ "download file",
326
+ "file storage",
327
+ "document management"
328
+ ],
329
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
330
+ "version": 5,
331
+ "category": {
332
+ "id": "connectors",
333
+ "name": "Connectors"
334
+ },
335
+ "appliesTo": ["bpmn:Task"],
336
+ "elementType": {
337
+ "value": "bpmn:ServiceTask"
338
+ },
339
+ "engines": {
340
+ "camunda": "^8.3"
341
+ },
342
+ "groups": [
343
+ {
344
+ "id": "authentication",
345
+ "label": "Authentication"
346
+ },
347
+ {
348
+ "id": "operation",
349
+ "label": "Select operation"
350
+ },
351
+ {
352
+ "id": "operationDetails",
353
+ "label": "Operation details"
354
+ },
355
+ {
356
+ "id": "connector",
357
+ "label": "Connector"
358
+ },
359
+ {
360
+ "id": "output",
361
+ "label": "Output mapping"
362
+ },
363
+ {
364
+ "id": "error",
365
+ "label": "Error handling"
366
+ },
367
+ {
368
+ "id": "retries",
369
+ "label": "Retries"
370
+ }
371
+ ],
372
+ "properties": [
373
+ {
374
+ "value": "io.camunda:google-drive:1",
375
+ "binding": {
376
+ "property": "type",
377
+ "type": "zeebe:taskDefinition"
378
+ },
379
+ "type": "Hidden"
380
+ },
381
+ {
382
+ "id": "authentication.authType",
383
+ "label": "Type",
384
+ "optional": false,
385
+ "value": "refresh",
386
+ "constraints": {
387
+ "notEmpty": true
388
+ },
389
+ "group": "authentication",
390
+ "binding": {
391
+ "name": "authentication.authType",
392
+ "type": "zeebe:input"
336
393
  },
337
394
  "type": "Dropdown",
338
395
  "choices": [
339
396
  {
340
- "name": "Camunda Document",
341
- "value": "camunda"
342
- },
343
- {
344
- "name": "Inline Content",
345
- "value": "inline"
397
+ "name": "Bearer token",
398
+ "value": "bearer"
346
399
  },
347
400
  {
348
- "name": "From URL",
349
- "value": "external"
401
+ "name": "Refresh token",
402
+ "value": "refresh"
350
403
  }
351
404
  ]
352
405
  },
353
406
  {
354
- "id": "resource.uploadData.document_camundaReference",
355
- "label": "Camunda document",
407
+ "id": "authentication.bearerToken",
408
+ "label": "Bearer token",
409
+ "description": "Enter a valid Google API Bearer token",
410
+ "optional": false,
356
411
  "constraints": {
357
412
  "notEmpty": true
358
413
  },
359
- "feel": "required",
360
- "group": "operationDetails",
414
+ "feel": "optional",
415
+ "group": "authentication",
361
416
  "binding": {
362
- "name": "resource.uploadData.document_camundaReference",
417
+ "name": "authentication.bearerToken",
363
418
  "type": "zeebe:input"
364
419
  },
365
420
  "condition": {
366
- "allMatch": [
367
- {
368
- "property": "resource.type",
369
- "equals": "upload",
370
- "type": "simple"
371
- },
372
- {
373
- "property": "resource.uploadData.document_documentSource",
374
- "equals": "camunda",
375
- "type": "simple"
376
- }
377
- ]
421
+ "property": "authentication.authType",
422
+ "equals": "bearer",
423
+ "type": "simple"
378
424
  },
379
425
  "type": "String"
380
426
  },
381
427
  {
382
- "id": "resource.uploadData.document_inline_content",
383
- "label": "Content",
428
+ "id": "authentication.oauthClientId",
429
+ "label": "Client ID",
430
+ "description": "Enter Google API Client ID",
431
+ "optional": false,
384
432
  "constraints": {
385
433
  "notEmpty": true
386
434
  },
387
435
  "feel": "optional",
388
- "group": "operationDetails",
436
+ "group": "authentication",
389
437
  "binding": {
390
- "name": "resource.uploadData.document_inline_content",
438
+ "name": "authentication.oauthClientId",
391
439
  "type": "zeebe:input"
392
440
  },
393
441
  "condition": {
394
- "allMatch": [
395
- {
396
- "property": "resource.type",
397
- "equals": "upload",
398
- "type": "simple"
399
- },
400
- {
401
- "property": "resource.uploadData.document_documentSource",
402
- "equals": "inline",
403
- "type": "simple"
404
- }
405
- ]
442
+ "property": "authentication.authType",
443
+ "equals": "refresh",
444
+ "type": "simple"
406
445
  },
407
446
  "type": "String"
408
447
  },
409
448
  {
410
- "id": "resource.uploadData.document_inline_fileName",
411
- "label": "File name",
449
+ "id": "authentication.oauthClientSecret",
450
+ "label": "Client secret",
451
+ "description": "Enter Google API client Secret",
452
+ "optional": false,
453
+ "constraints": {
454
+ "notEmpty": true
455
+ },
456
+ "feel": "optional",
457
+ "group": "authentication",
458
+ "binding": {
459
+ "name": "authentication.oauthClientSecret",
460
+ "type": "zeebe:input"
461
+ },
462
+ "condition": {
463
+ "property": "authentication.authType",
464
+ "equals": "refresh",
465
+ "type": "simple"
466
+ },
467
+ "type": "String"
468
+ },
469
+ {
470
+ "id": "authentication.oauthRefreshToken",
471
+ "label": "Refresh token",
472
+ "description": "Enter a valid Google API refresh token",
473
+ "optional": false,
474
+ "constraints": {
475
+ "notEmpty": true
476
+ },
477
+ "feel": "optional",
478
+ "group": "authentication",
479
+ "binding": {
480
+ "name": "authentication.oauthRefreshToken",
481
+ "type": "zeebe:input"
482
+ },
483
+ "condition": {
484
+ "property": "authentication.authType",
485
+ "equals": "refresh",
486
+ "type": "simple"
487
+ },
488
+ "type": "String"
489
+ },
490
+ {
491
+ "id": "resource.type",
492
+ "label": "Operation",
493
+ "optional": false,
494
+ "value": "folder",
495
+ "constraints": {
496
+ "notEmpty": true
497
+ },
498
+ "group": "operation",
499
+ "binding": {
500
+ "name": "resource.type",
501
+ "type": "zeebe:input"
502
+ },
503
+ "type": "Dropdown",
504
+ "choices": [
505
+ {
506
+ "name": "Create folder",
507
+ "value": "folder"
508
+ },
509
+ {
510
+ "name": "Create file from template",
511
+ "value": "file"
512
+ },
513
+ {
514
+ "name": "Upload file",
515
+ "value": "upload"
516
+ },
517
+ {
518
+ "name": "Download file",
519
+ "value": "download"
520
+ }
521
+ ]
522
+ },
523
+ {
524
+ "id": "resource.name",
525
+ "label": "New resource name",
526
+ "optional": false,
527
+ "constraints": {
528
+ "notEmpty": true
529
+ },
412
530
  "feel": "optional",
413
531
  "group": "operationDetails",
414
532
  "binding": {
415
- "name": "resource.uploadData.document_inline_fileName",
533
+ "name": "resource.name",
416
534
  "type": "zeebe:input"
417
535
  },
418
536
  "condition": {
419
- "allMatch": [
420
- {
421
- "property": "resource.type",
422
- "equals": "upload",
423
- "type": "simple"
424
- },
425
- {
426
- "property": "resource.uploadData.document_documentSource",
427
- "equals": "inline",
428
- "type": "simple"
429
- }
430
- ]
537
+ "property": "resource.type",
538
+ "oneOf": ["folder", "file"],
539
+ "type": "simple"
431
540
  },
432
541
  "type": "String"
433
542
  },
434
543
  {
435
- "id": "resource.uploadData.document_inline_contentType",
436
- "label": "Content type",
544
+ "id": "resource.parent",
545
+ "label": "Parent folder ID",
546
+ "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
547
+ "optional": true,
437
548
  "feel": "optional",
438
549
  "group": "operationDetails",
439
550
  "binding": {
440
- "name": "resource.uploadData.document_inline_contentType",
551
+ "name": "resource.parent",
441
552
  "type": "zeebe:input"
442
553
  },
443
554
  "condition": {
444
- "allMatch": [
445
- {
446
- "property": "resource.type",
447
- "equals": "upload",
448
- "type": "simple"
449
- },
450
- {
451
- "property": "resource.uploadData.document_documentSource",
452
- "equals": "inline",
453
- "type": "simple"
454
- }
455
- ]
555
+ "property": "resource.type",
556
+ "oneOf": ["folder", "file", "upload"],
557
+ "type": "simple"
456
558
  },
457
559
  "type": "String"
458
560
  },
459
561
  {
460
- "id": "resource.uploadData.document_external_url",
461
- "label": "URL",
562
+ "id": "resource.additionalGoogleDriveProperties",
563
+ "label": "Additional properties or metadata",
564
+ "optional": true,
565
+ "feel": "required",
566
+ "group": "operationDetails",
567
+ "binding": {
568
+ "name": "resource.additionalGoogleDriveProperties",
569
+ "type": "zeebe:input"
570
+ },
571
+ "condition": {
572
+ "property": "resource.type",
573
+ "equals": "folder",
574
+ "type": "simple"
575
+ },
576
+ "type": "String"
577
+ },
578
+ {
579
+ "id": "resource.template.id",
580
+ "label": "Template ID",
581
+ "optional": false,
462
582
  "constraints": {
463
583
  "notEmpty": true
464
584
  },
465
585
  "feel": "optional",
466
586
  "group": "operationDetails",
467
587
  "binding": {
468
- "name": "resource.uploadData.document_external_url",
588
+ "name": "resource.template.id",
469
589
  "type": "zeebe:input"
470
590
  },
471
591
  "condition": {
472
- "allMatch": [
473
- {
474
- "property": "resource.type",
475
- "equals": "upload",
476
- "type": "simple"
477
- },
478
- {
479
- "property": "resource.uploadData.document_documentSource",
480
- "equals": "external",
481
- "type": "simple"
482
- }
483
- ]
592
+ "property": "resource.type",
593
+ "equals": "file",
594
+ "type": "simple"
484
595
  },
485
596
  "type": "String"
486
597
  },
487
598
  {
488
- "id": "resource.uploadData.document_external_fileName",
489
- "label": "File name",
599
+ "id": "resource.template.variables",
600
+ "label": "Template variables",
601
+ "optional": false,
602
+ "feel": "required",
603
+ "group": "operationDetails",
604
+ "binding": {
605
+ "name": "resource.template.variables",
606
+ "type": "zeebe:input"
607
+ },
608
+ "condition": {
609
+ "property": "resource.type",
610
+ "equals": "file",
611
+ "type": "simple"
612
+ },
613
+ "type": "String"
614
+ },
615
+ {
616
+ "id": "resource.downloadData.fileId",
617
+ "label": "File ID",
618
+ "optional": false,
619
+ "constraints": {
620
+ "notEmpty": true
621
+ },
490
622
  "feel": "optional",
491
623
  "group": "operationDetails",
492
624
  "binding": {
493
- "name": "resource.uploadData.document_external_fileName",
625
+ "name": "resource.downloadData.fileId",
494
626
  "type": "zeebe:input"
495
627
  },
496
628
  "condition": {
497
- "allMatch": [
498
- {
499
- "property": "resource.type",
500
- "equals": "upload",
501
- "type": "simple"
502
- },
503
- {
504
- "property": "resource.uploadData.document_documentSource",
505
- "equals": "external",
506
- "type": "simple"
507
- }
508
- ]
629
+ "property": "resource.type",
630
+ "equals": "download",
631
+ "type": "simple"
509
632
  },
510
633
  "type": "String"
511
634
  },
512
635
  {
513
- "id": "resource.uploadData.document__composer",
514
- "value": "=if document_documentSource = \"camunda\" then document_camundaReference else if document_documentSource = \"inline\" then { \"camunda.document.type\": \"inline\", content: document_inline_content, name: document_inline_fileName, contentType: document_inline_contentType } else if document_documentSource = \"external\" then { \"camunda.document.type\": \"external\", url: document_external_url, name: document_external_fileName } else null",
636
+ "id": "resource.uploadData.document",
637
+ "label": "Document",
638
+ "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
639
+ "optional": false,
640
+ "constraints": {
641
+ "notEmpty": true
642
+ },
643
+ "feel": "required",
515
644
  "group": "operationDetails",
516
645
  "binding": {
517
646
  "name": "resource.uploadData.document",
@@ -522,13 +651,13 @@
522
651
  "equals": "upload",
523
652
  "type": "simple"
524
653
  },
525
- "type": "Hidden"
654
+ "type": "String"
526
655
  },
527
656
  {
528
657
  "id": "version",
529
658
  "label": "Version",
530
659
  "description": "Version of the element template",
531
- "value": "6",
660
+ "value": "5",
532
661
  "group": "connector",
533
662
  "binding": {
534
663
  "key": "elementTemplateVersion",
@@ -617,9 +746,12 @@
617
746
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
618
747
  "name": "Google Drive Outbound Connector",
619
748
  "id": "io.camunda.connectors.GoogleDrive.v1",
620
- "version": 2,
749
+ "description": "Manage Google Drive files and folders",
750
+ "metadata": {
751
+ "keywords": ["create file", "create file from template", "create folder"]
752
+ },
621
753
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
622
- "description": "Create folder or a file from template",
754
+ "version": 4,
623
755
  "category": {
624
756
  "id": "connectors",
625
757
  "name": "Connectors"
@@ -628,6 +760,9 @@
628
760
  "elementType": {
629
761
  "value": "bpmn:ServiceTask"
630
762
  },
763
+ "engines": {
764
+ "camunda": "^8.3"
765
+ },
631
766
  "groups": [
632
767
  {
633
768
  "id": "authentication",
@@ -646,25 +781,37 @@
646
781
  "label": "Output mapping"
647
782
  },
648
783
  {
649
- "id": "errors",
784
+ "id": "error",
650
785
  "label": "Error handling"
786
+ },
787
+ {
788
+ "id": "retries",
789
+ "label": "Retries"
651
790
  }
652
791
  ],
653
792
  "properties": [
654
793
  {
655
- "type": "Hidden",
656
794
  "value": "io.camunda:google-drive:1",
657
795
  "binding": {
658
- "type": "zeebe:taskDefinition",
659
- "property": "type"
660
- }
796
+ "property": "type",
797
+ "type": "zeebe:taskDefinition"
798
+ },
799
+ "type": "Hidden"
661
800
  },
662
801
  {
663
- "id": "authenticationType",
802
+ "id": "authentication.authType",
664
803
  "label": "Type",
665
- "group": "authentication",
666
- "type": "Dropdown",
667
- "value": "bearer",
804
+ "optional": false,
805
+ "value": "refresh",
806
+ "constraints": {
807
+ "notEmpty": true
808
+ },
809
+ "group": "authentication",
810
+ "binding": {
811
+ "name": "authentication.authType",
812
+ "type": "zeebe:input"
813
+ },
814
+ "type": "Dropdown",
668
815
  "choices": [
669
816
  {
670
817
  "name": "Bearer token",
@@ -674,86 +821,106 @@
674
821
  "name": "Refresh token",
675
822
  "value": "refresh"
676
823
  }
677
- ],
678
- "binding": {
679
- "type": "zeebe:input",
680
- "name": "authentication.authType",
681
- "key": "authentication.authType"
682
- }
824
+ ]
683
825
  },
684
826
  {
827
+ "id": "authentication.bearerToken",
685
828
  "label": "Bearer token",
686
- "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
687
- "group": "authentication",
688
- "type": "String",
689
- "binding": {
690
- "type": "zeebe:input",
691
- "name": "authentication.bearerToken"
692
- },
829
+ "description": "Enter a valid Google API Bearer token",
830
+ "optional": false,
693
831
  "constraints": {
694
832
  "notEmpty": true
695
833
  },
834
+ "feel": "optional",
835
+ "group": "authentication",
836
+ "binding": {
837
+ "name": "authentication.bearerToken",
838
+ "type": "zeebe:input"
839
+ },
696
840
  "condition": {
697
- "property": "authenticationType",
698
- "equals": "bearer"
699
- }
841
+ "property": "authentication.authType",
842
+ "equals": "bearer",
843
+ "type": "simple"
844
+ },
845
+ "type": "String"
700
846
  },
701
847
  {
848
+ "id": "authentication.oauthClientId",
702
849
  "label": "Client ID",
703
850
  "description": "Enter Google API Client ID",
704
- "group": "authentication",
705
- "type": "String",
706
- "binding": {
707
- "type": "zeebe:input",
708
- "name": "authentication.oauthClientId"
709
- },
851
+ "optional": false,
710
852
  "constraints": {
711
853
  "notEmpty": true
712
854
  },
855
+ "feel": "optional",
856
+ "group": "authentication",
857
+ "binding": {
858
+ "name": "authentication.oauthClientId",
859
+ "type": "zeebe:input"
860
+ },
713
861
  "condition": {
714
- "property": "authenticationType",
715
- "equals": "refresh"
716
- }
862
+ "property": "authentication.authType",
863
+ "equals": "refresh",
864
+ "type": "simple"
865
+ },
866
+ "type": "String"
717
867
  },
718
868
  {
869
+ "id": "authentication.oauthClientSecret",
719
870
  "label": "Client secret",
720
871
  "description": "Enter Google API client Secret",
721
- "group": "authentication",
722
- "type": "String",
723
- "binding": {
724
- "type": "zeebe:input",
725
- "name": "authentication.oauthClientSecret"
726
- },
872
+ "optional": false,
727
873
  "constraints": {
728
874
  "notEmpty": true
729
875
  },
876
+ "feel": "optional",
877
+ "group": "authentication",
878
+ "binding": {
879
+ "name": "authentication.oauthClientSecret",
880
+ "type": "zeebe:input"
881
+ },
730
882
  "condition": {
731
- "property": "authenticationType",
732
- "equals": "refresh"
733
- }
883
+ "property": "authentication.authType",
884
+ "equals": "refresh",
885
+ "type": "simple"
886
+ },
887
+ "type": "String"
734
888
  },
735
889
  {
890
+ "id": "authentication.oauthRefreshToken",
736
891
  "label": "Refresh token",
737
- "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
738
- "group": "authentication",
739
- "type": "String",
740
- "binding": {
741
- "type": "zeebe:input",
742
- "name": "authentication.oauthRefreshToken"
743
- },
892
+ "description": "Enter a valid Google API refresh token",
893
+ "optional": false,
744
894
  "constraints": {
745
895
  "notEmpty": true
746
896
  },
897
+ "feel": "optional",
898
+ "group": "authentication",
899
+ "binding": {
900
+ "name": "authentication.oauthRefreshToken",
901
+ "type": "zeebe:input"
902
+ },
747
903
  "condition": {
748
- "property": "authenticationType",
749
- "equals": "refresh"
750
- }
904
+ "property": "authentication.authType",
905
+ "equals": "refresh",
906
+ "type": "simple"
907
+ },
908
+ "type": "String"
751
909
  },
752
910
  {
753
- "id": "resourceType",
911
+ "id": "resource.type",
912
+ "label": "Operation",
913
+ "optional": false,
914
+ "value": "folder",
915
+ "constraints": {
916
+ "notEmpty": true
917
+ },
754
918
  "group": "operation",
919
+ "binding": {
920
+ "name": "resource.type",
921
+ "type": "zeebe:input"
922
+ },
755
923
  "type": "Dropdown",
756
- "value": "folder",
757
924
  "choices": [
758
925
  {
759
926
  "name": "Create folder",
@@ -762,180 +929,222 @@
762
929
  {
763
930
  "name": "Create file from template",
764
931
  "value": "file"
932
+ },
933
+ {
934
+ "name": "Upload file",
935
+ "value": "upload"
936
+ },
937
+ {
938
+ "name": "Download file",
939
+ "value": "download"
765
940
  }
766
- ],
767
- "binding": {
768
- "type": "zeebe:input",
769
- "name": "resource.type",
770
- "key": "resource.type"
771
- }
941
+ ]
772
942
  },
773
943
  {
774
- "label": "File name",
775
- "description": "Enter name for your file",
776
- "group": "operationDetails",
777
- "type": "String",
778
- "feel": "optional",
779
- "binding": {
780
- "type": "zeebe:input",
781
- "name": "resource.name"
782
- },
944
+ "id": "resource.name",
945
+ "label": "New resource name",
946
+ "optional": false,
783
947
  "constraints": {
784
- "notEmpty": true,
785
- "maxLength": 255
948
+ "notEmpty": true
786
949
  },
787
- "condition": {
788
- "property": "resourceType",
789
- "equals": "file"
790
- }
791
- },
792
- {
793
- "label": "Folder name",
794
- "description": "Enter name for your folder",
795
- "group": "operationDetails",
796
- "type": "String",
797
950
  "feel": "optional",
951
+ "group": "operationDetails",
798
952
  "binding": {
799
- "type": "zeebe:input",
800
- "name": "resource.name"
801
- },
802
- "constraints": {
803
- "notEmpty": true,
804
- "maxLength": 255
953
+ "name": "resource.name",
954
+ "type": "zeebe:input"
805
955
  },
806
956
  "condition": {
807
- "property": "resourceType",
808
- "equals": "folder"
809
- }
957
+ "property": "resource.type",
958
+ "oneOf": ["folder", "file"],
959
+ "type": "simple"
960
+ },
961
+ "type": "String"
810
962
  },
811
963
  {
812
- "label": "Template ID",
813
- "description": "Enter ID of the template you are creating a file from",
814
- "group": "operationDetails",
815
- "type": "String",
964
+ "id": "resource.parent",
965
+ "label": "Parent folder ID",
966
+ "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
967
+ "optional": true,
816
968
  "feel": "optional",
969
+ "group": "operationDetails",
817
970
  "binding": {
818
- "type": "zeebe:input",
819
- "name": "resource.template.id"
820
- },
821
- "constraints": {
822
- "notEmpty": true
971
+ "name": "resource.parent",
972
+ "type": "zeebe:input"
823
973
  },
824
974
  "condition": {
825
- "property": "resourceType",
826
- "equals": "file"
827
- }
975
+ "property": "resource.type",
976
+ "oneOf": ["folder", "file", "upload"],
977
+ "type": "simple"
978
+ },
979
+ "type": "String"
828
980
  },
829
981
  {
830
- "label": "Parent folder ID",
831
- "description": "Enter ID of the parent folder where new folder will be created",
832
- "group": "operationDetails",
833
- "type": "String",
834
- "feel": "optional",
982
+ "id": "resource.additionalGoogleDriveProperties",
983
+ "label": "Additional properties or metadata",
835
984
  "optional": true,
985
+ "feel": "required",
986
+ "group": "operationDetails",
836
987
  "binding": {
837
- "type": "zeebe:input",
838
- "name": "resource.parent"
988
+ "name": "resource.additionalGoogleDriveProperties",
989
+ "type": "zeebe:input"
839
990
  },
840
991
  "condition": {
841
- "property": "resourceType",
842
- "equals": "folder"
843
- }
992
+ "property": "resource.type",
993
+ "equals": "folder",
994
+ "type": "simple"
995
+ },
996
+ "type": "String"
844
997
  },
845
998
  {
846
- "label": "Parent folder ID",
847
- "description": "Enter ID of the parent folder where new file will be created",
848
- "group": "operationDetails",
849
- "type": "String",
999
+ "id": "resource.template.id",
1000
+ "label": "Template ID",
1001
+ "optional": false,
1002
+ "constraints": {
1003
+ "notEmpty": true
1004
+ },
850
1005
  "feel": "optional",
851
- "optional": true,
1006
+ "group": "operationDetails",
852
1007
  "binding": {
853
- "type": "zeebe:input",
854
- "name": "resource.parent"
1008
+ "name": "resource.template.id",
1009
+ "type": "zeebe:input"
855
1010
  },
856
1011
  "condition": {
857
- "property": "resourceType",
858
- "equals": "file"
859
- }
1012
+ "property": "resource.type",
1013
+ "equals": "file",
1014
+ "type": "simple"
1015
+ },
1016
+ "type": "String"
860
1017
  },
861
1018
  {
1019
+ "id": "resource.template.variables",
862
1020
  "label": "Template variables",
863
- "description": "Use this field to pass and update variables in your template as JSON",
864
- "group": "operationDetails",
865
- "type": "Text",
1021
+ "optional": false,
866
1022
  "feel": "required",
1023
+ "group": "operationDetails",
867
1024
  "binding": {
868
- "type": "zeebe:input",
869
- "name": "resource.template.variables"
1025
+ "name": "resource.template.variables",
1026
+ "type": "zeebe:input"
870
1027
  },
871
1028
  "condition": {
872
- "property": "resourceType",
873
- "equals": "file"
874
- }
1029
+ "property": "resource.type",
1030
+ "equals": "file",
1031
+ "type": "simple"
1032
+ },
1033
+ "type": "String"
875
1034
  },
876
1035
  {
877
- "label": "Additional properties or metadata",
878
- "description": "Use this field to pass additional Google Drive parameters as JSON.",
1036
+ "id": "resource.downloadData.fileId",
1037
+ "label": "File ID",
1038
+ "optional": false,
1039
+ "constraints": {
1040
+ "notEmpty": true
1041
+ },
1042
+ "feel": "optional",
879
1043
  "group": "operationDetails",
880
- "type": "Text",
881
- "optional": true,
1044
+ "binding": {
1045
+ "name": "resource.downloadData.fileId",
1046
+ "type": "zeebe:input"
1047
+ },
1048
+ "condition": {
1049
+ "property": "resource.type",
1050
+ "equals": "download",
1051
+ "type": "simple"
1052
+ },
1053
+ "type": "String"
1054
+ },
1055
+ {
1056
+ "id": "resource.uploadData.document",
1057
+ "label": "Document",
1058
+ "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
1059
+ "optional": false,
1060
+ "constraints": {
1061
+ "notEmpty": true
1062
+ },
882
1063
  "feel": "required",
1064
+ "group": "operationDetails",
883
1065
  "binding": {
884
- "type": "zeebe:input",
885
- "name": "resource.additionalGoogleDriveProperties",
886
- "key": "resource.additionalGoogleDriveProperties"
887
- }
1066
+ "name": "resource.uploadData.document",
1067
+ "type": "zeebe:input"
1068
+ },
1069
+ "condition": {
1070
+ "property": "resource.type",
1071
+ "equals": "upload",
1072
+ "type": "simple"
1073
+ },
1074
+ "type": "String"
888
1075
  },
889
1076
  {
1077
+ "id": "resultVariable",
890
1078
  "label": "Result variable",
891
- "description": "Enter name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
1079
+ "description": "Name of variable to store the response in",
892
1080
  "group": "output",
893
- "type": "String",
894
1081
  "binding": {
895
- "type": "zeebe:taskHeader",
896
- "key": "resultVariable"
897
- }
1082
+ "key": "resultVariable",
1083
+ "type": "zeebe:taskHeader"
1084
+ },
1085
+ "type": "String"
898
1086
  },
899
1087
  {
1088
+ "id": "resultExpression",
900
1089
  "label": "Result expression",
901
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
902
- "group": "output",
903
- "type": "Text",
1090
+ "description": "Expression to map the response into process variables",
904
1091
  "feel": "required",
1092
+ "group": "output",
905
1093
  "binding": {
906
- "type": "zeebe:taskHeader",
907
- "key": "resultExpression"
908
- }
1094
+ "key": "resultExpression",
1095
+ "type": "zeebe:taskHeader"
1096
+ },
1097
+ "type": "Text"
909
1098
  },
910
1099
  {
1100
+ "id": "errorExpression",
911
1101
  "label": "Error expression",
912
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
913
- "group": "errors",
914
- "type": "Text",
1102
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
915
1103
  "feel": "required",
1104
+ "group": "error",
916
1105
  "binding": {
917
- "type": "zeebe:taskHeader",
918
- "key": "errorExpression"
919
- }
1106
+ "key": "errorExpression",
1107
+ "type": "zeebe:taskHeader"
1108
+ },
1109
+ "type": "Text"
1110
+ },
1111
+ {
1112
+ "id": "retryCount",
1113
+ "label": "Retries",
1114
+ "description": "Number of retries",
1115
+ "value": "3",
1116
+ "feel": "optional",
1117
+ "group": "retries",
1118
+ "binding": {
1119
+ "property": "retries",
1120
+ "type": "zeebe:taskDefinition"
1121
+ },
1122
+ "type": "String"
1123
+ },
1124
+ {
1125
+ "id": "retryBackoff",
1126
+ "label": "Retry backoff",
1127
+ "description": "ISO-8601 duration to wait between retries",
1128
+ "value": "PT0S",
1129
+ "group": "retries",
1130
+ "binding": {
1131
+ "key": "retryBackoff",
1132
+ "type": "zeebe:taskHeader"
1133
+ },
1134
+ "type": "String"
920
1135
  }
921
1136
  ],
922
1137
  "icon": {
923
- "contents": "data:image/svg+xml;utf8,%3Csvg width='18' height='18' viewBox='0 0 87.3 78' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z' fill='%230066da'/%3E%3Cpath d='m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z' fill='%2300ac47'/%3E%3Cpath d='m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z' fill='%23ea4335'/%3E%3Cpath d='m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z' fill='%2300832d'/%3E%3Cpath d='m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z' fill='%232684fc'/%3E%3Cpath d='m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z' fill='%23ffba00'/%3E%3C/svg%3E"
924
- },
925
- "engines": {
926
- "camunda": "^8.2"
1138
+ "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
927
1139
  }
928
1140
  },
929
1141
  {
930
1142
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
931
1143
  "name": "Google Drive connector",
932
1144
  "id": "io.camunda.connectors.GoogleDrive.v1",
1145
+ "version": 1,
933
1146
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
934
1147
  "description": "Create folder or a file from template",
935
- "deprecated": {
936
- "message": "Replace with 'Google Drive connector' template.",
937
- "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
938
- },
939
1148
  "category": {
940
1149
  "id": "connectors",
941
1150
  "name": "Connectors"
@@ -1237,24 +1446,21 @@
1237
1446
  ],
1238
1447
  "icon": {
1239
1448
  "contents": "data:image/svg+xml;utf8,%3Csvg width='18' height='18' viewBox='0 0 87.3 78' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z' fill='%230066da'/%3E%3Cpath d='m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z' fill='%2300ac47'/%3E%3Cpath d='m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z' fill='%23ea4335'/%3E%3Cpath d='m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z' fill='%2300832d'/%3E%3Cpath d='m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z' fill='%232684fc'/%3E%3Cpath d='m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z' fill='%23ffba00'/%3E%3C/svg%3E"
1449
+ },
1450
+ "engines": {
1451
+ "camunda": "^8.2"
1240
1452
  }
1241
1453
  },
1242
1454
  {
1243
1455
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1244
- "name": "Google Drive Outbound Connector",
1456
+ "name": "Google Drive connector",
1245
1457
  "id": "io.camunda.connectors.GoogleDrive.v1",
1246
- "description": "Manage Google Drive files and folders",
1247
- "keywords": [
1248
- "create file",
1249
- "create file from template",
1250
- "create folder",
1251
- "upload file",
1252
- "download file",
1253
- "file storage",
1254
- "document management"
1255
- ],
1256
1458
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1257
- "version": 5,
1459
+ "description": "Create folder or a file from template",
1460
+ "deprecated": {
1461
+ "message": "Replace with 'Google Drive connector' template.",
1462
+ "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
1463
+ },
1258
1464
  "category": {
1259
1465
  "id": "connectors",
1260
1466
  "name": "Connectors"
@@ -1263,9 +1469,6 @@
1263
1469
  "elementType": {
1264
1470
  "value": "bpmn:ServiceTask"
1265
1471
  },
1266
- "engines": {
1267
- "camunda": "^8.3"
1268
- },
1269
1472
  "groups": [
1270
1473
  {
1271
1474
  "id": "authentication",
@@ -1279,46 +1482,30 @@
1279
1482
  "id": "operationDetails",
1280
1483
  "label": "Operation details"
1281
1484
  },
1282
- {
1283
- "id": "connector",
1284
- "label": "Connector"
1285
- },
1286
1485
  {
1287
1486
  "id": "output",
1288
1487
  "label": "Output mapping"
1289
1488
  },
1290
1489
  {
1291
- "id": "error",
1490
+ "id": "errors",
1292
1491
  "label": "Error handling"
1293
- },
1294
- {
1295
- "id": "retries",
1296
- "label": "Retries"
1297
1492
  }
1298
1493
  ],
1299
1494
  "properties": [
1300
1495
  {
1496
+ "type": "Hidden",
1301
1497
  "value": "io.camunda:google-drive:1",
1302
1498
  "binding": {
1303
- "property": "type",
1304
- "type": "zeebe:taskDefinition"
1305
- },
1306
- "type": "Hidden"
1499
+ "type": "zeebe:taskDefinition",
1500
+ "property": "type"
1501
+ }
1307
1502
  },
1308
1503
  {
1309
- "id": "authentication.authType",
1504
+ "id": "authenticationType",
1310
1505
  "label": "Type",
1311
- "optional": false,
1312
- "value": "refresh",
1313
- "constraints": {
1314
- "notEmpty": true
1315
- },
1316
1506
  "group": "authentication",
1317
- "binding": {
1318
- "name": "authentication.authType",
1319
- "type": "zeebe:input"
1320
- },
1321
1507
  "type": "Dropdown",
1508
+ "value": "bearer",
1322
1509
  "choices": [
1323
1510
  {
1324
1511
  "name": "Bearer token",
@@ -1328,106 +1515,86 @@
1328
1515
  "name": "Refresh token",
1329
1516
  "value": "refresh"
1330
1517
  }
1331
- ]
1518
+ ],
1519
+ "binding": {
1520
+ "type": "zeebe:input",
1521
+ "name": "authentication.authType",
1522
+ "key": "authentication.authType"
1523
+ }
1332
1524
  },
1333
1525
  {
1334
- "id": "authentication.bearerToken",
1335
1526
  "label": "Bearer token",
1336
- "description": "Enter a valid Google API Bearer token",
1337
- "optional": false,
1338
- "constraints": {
1339
- "notEmpty": true
1340
- },
1341
- "feel": "optional",
1527
+ "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
1342
1528
  "group": "authentication",
1529
+ "type": "String",
1343
1530
  "binding": {
1344
- "name": "authentication.bearerToken",
1345
- "type": "zeebe:input"
1531
+ "type": "zeebe:input",
1532
+ "name": "authentication.bearerToken"
1346
1533
  },
1347
- "condition": {
1348
- "property": "authentication.authType",
1349
- "equals": "bearer",
1350
- "type": "simple"
1534
+ "constraints": {
1535
+ "notEmpty": true
1351
1536
  },
1352
- "type": "String"
1537
+ "condition": {
1538
+ "property": "authenticationType",
1539
+ "equals": "bearer"
1540
+ }
1353
1541
  },
1354
1542
  {
1355
- "id": "authentication.oauthClientId",
1356
1543
  "label": "Client ID",
1357
1544
  "description": "Enter Google API Client ID",
1358
- "optional": false,
1359
- "constraints": {
1360
- "notEmpty": true
1361
- },
1362
- "feel": "optional",
1363
1545
  "group": "authentication",
1546
+ "type": "String",
1364
1547
  "binding": {
1365
- "name": "authentication.oauthClientId",
1366
- "type": "zeebe:input"
1548
+ "type": "zeebe:input",
1549
+ "name": "authentication.oauthClientId"
1367
1550
  },
1368
- "condition": {
1369
- "property": "authentication.authType",
1370
- "equals": "refresh",
1371
- "type": "simple"
1551
+ "constraints": {
1552
+ "notEmpty": true
1372
1553
  },
1373
- "type": "String"
1554
+ "condition": {
1555
+ "property": "authenticationType",
1556
+ "equals": "refresh"
1557
+ }
1374
1558
  },
1375
1559
  {
1376
- "id": "authentication.oauthClientSecret",
1377
1560
  "label": "Client secret",
1378
1561
  "description": "Enter Google API client Secret",
1379
- "optional": false,
1380
- "constraints": {
1381
- "notEmpty": true
1382
- },
1383
- "feel": "optional",
1384
1562
  "group": "authentication",
1563
+ "type": "String",
1385
1564
  "binding": {
1386
- "name": "authentication.oauthClientSecret",
1387
- "type": "zeebe:input"
1565
+ "type": "zeebe:input",
1566
+ "name": "authentication.oauthClientSecret"
1388
1567
  },
1389
- "condition": {
1390
- "property": "authentication.authType",
1391
- "equals": "refresh",
1392
- "type": "simple"
1568
+ "constraints": {
1569
+ "notEmpty": true
1393
1570
  },
1394
- "type": "String"
1571
+ "condition": {
1572
+ "property": "authenticationType",
1573
+ "equals": "refresh"
1574
+ }
1395
1575
  },
1396
1576
  {
1397
- "id": "authentication.oauthRefreshToken",
1398
1577
  "label": "Refresh token",
1399
- "description": "Enter a valid Google API refresh token",
1400
- "optional": false,
1401
- "constraints": {
1402
- "notEmpty": true
1403
- },
1404
- "feel": "optional",
1578
+ "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
1405
1579
  "group": "authentication",
1580
+ "type": "String",
1406
1581
  "binding": {
1407
- "name": "authentication.oauthRefreshToken",
1408
- "type": "zeebe:input"
1409
- },
1410
- "condition": {
1411
- "property": "authentication.authType",
1412
- "equals": "refresh",
1413
- "type": "simple"
1582
+ "type": "zeebe:input",
1583
+ "name": "authentication.oauthRefreshToken"
1414
1584
  },
1415
- "type": "String"
1416
- },
1417
- {
1418
- "id": "resource.type",
1419
- "label": "Operation",
1420
- "optional": false,
1421
- "value": "folder",
1422
1585
  "constraints": {
1423
1586
  "notEmpty": true
1424
1587
  },
1588
+ "condition": {
1589
+ "property": "authenticationType",
1590
+ "equals": "refresh"
1591
+ }
1592
+ },
1593
+ {
1594
+ "id": "resourceType",
1425
1595
  "group": "operation",
1426
- "binding": {
1427
- "name": "resource.type",
1428
- "type": "zeebe:input"
1429
- },
1430
1596
  "type": "Dropdown",
1597
+ "value": "folder",
1431
1598
  "choices": [
1432
1599
  {
1433
1600
  "name": "Create folder",
@@ -1436,249 +1603,174 @@
1436
1603
  {
1437
1604
  "name": "Create file from template",
1438
1605
  "value": "file"
1439
- },
1440
- {
1441
- "name": "Upload file",
1442
- "value": "upload"
1443
- },
1444
- {
1445
- "name": "Download file",
1446
- "value": "download"
1447
1606
  }
1448
- ]
1607
+ ],
1608
+ "binding": {
1609
+ "type": "zeebe:input",
1610
+ "name": "resource.type",
1611
+ "key": "resource.type"
1612
+ }
1449
1613
  },
1450
1614
  {
1451
- "id": "resource.name",
1452
- "label": "New resource name",
1453
- "optional": false,
1454
- "constraints": {
1455
- "notEmpty": true
1456
- },
1457
- "feel": "optional",
1615
+ "label": "File name",
1616
+ "description": "Enter name for your file",
1458
1617
  "group": "operationDetails",
1618
+ "type": "String",
1619
+ "feel": "optional",
1459
1620
  "binding": {
1460
- "name": "resource.name",
1461
- "type": "zeebe:input"
1621
+ "type": "zeebe:input",
1622
+ "name": "resource.name"
1462
1623
  },
1463
- "condition": {
1464
- "property": "resource.type",
1465
- "oneOf": ["folder", "file"],
1466
- "type": "simple"
1624
+ "constraints": {
1625
+ "notEmpty": true,
1626
+ "maxLength": 255
1467
1627
  },
1468
- "type": "String"
1628
+ "condition": {
1629
+ "property": "resourceType",
1630
+ "equals": "file"
1631
+ }
1469
1632
  },
1470
1633
  {
1471
- "id": "resource.parent",
1472
- "label": "Parent folder ID",
1473
- "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
1474
- "optional": true,
1475
- "feel": "optional",
1634
+ "label": "Folder name",
1635
+ "description": "Enter name for your folder",
1476
1636
  "group": "operationDetails",
1637
+ "type": "String",
1638
+ "feel": "optional",
1477
1639
  "binding": {
1478
- "name": "resource.parent",
1479
- "type": "zeebe:input"
1640
+ "type": "zeebe:input",
1641
+ "name": "resource.name"
1480
1642
  },
1481
- "condition": {
1482
- "property": "resource.type",
1483
- "oneOf": ["folder", "file", "upload"],
1484
- "type": "simple"
1643
+ "constraints": {
1644
+ "notEmpty": true,
1645
+ "maxLength": 255
1485
1646
  },
1486
- "type": "String"
1647
+ "condition": {
1648
+ "property": "resourceType",
1649
+ "equals": "folder"
1650
+ }
1487
1651
  },
1488
1652
  {
1489
- "id": "resource.additionalGoogleDriveProperties",
1490
- "label": "Additional properties or metadata",
1491
- "optional": true,
1492
- "feel": "required",
1653
+ "label": "Template ID",
1654
+ "description": "Enter ID of the template you are creating a file from",
1493
1655
  "group": "operationDetails",
1656
+ "type": "String",
1657
+ "feel": "optional",
1494
1658
  "binding": {
1495
- "name": "resource.additionalGoogleDriveProperties",
1496
- "type": "zeebe:input"
1497
- },
1498
- "condition": {
1499
- "property": "resource.type",
1500
- "equals": "folder",
1501
- "type": "simple"
1659
+ "type": "zeebe:input",
1660
+ "name": "resource.template.id"
1502
1661
  },
1503
- "type": "String"
1504
- },
1505
- {
1506
- "id": "resource.template.id",
1507
- "label": "Template ID",
1508
- "optional": false,
1509
1662
  "constraints": {
1510
1663
  "notEmpty": true
1511
1664
  },
1512
- "feel": "optional",
1513
- "group": "operationDetails",
1514
- "binding": {
1515
- "name": "resource.template.id",
1516
- "type": "zeebe:input"
1517
- },
1518
1665
  "condition": {
1519
- "property": "resource.type",
1520
- "equals": "file",
1521
- "type": "simple"
1522
- },
1523
- "type": "String"
1666
+ "property": "resourceType",
1667
+ "equals": "file"
1668
+ }
1524
1669
  },
1525
1670
  {
1526
- "id": "resource.template.variables",
1527
- "label": "Template variables",
1528
- "optional": false,
1529
- "feel": "required",
1671
+ "label": "Parent folder ID",
1672
+ "description": "Enter ID of the parent folder where new folder will be created",
1530
1673
  "group": "operationDetails",
1674
+ "type": "String",
1675
+ "feel": "optional",
1676
+ "optional": true,
1531
1677
  "binding": {
1532
- "name": "resource.template.variables",
1533
- "type": "zeebe:input"
1678
+ "type": "zeebe:input",
1679
+ "name": "resource.parent"
1534
1680
  },
1535
1681
  "condition": {
1536
- "property": "resource.type",
1537
- "equals": "file",
1538
- "type": "simple"
1539
- },
1540
- "type": "String"
1682
+ "property": "resourceType",
1683
+ "equals": "folder"
1684
+ }
1541
1685
  },
1542
1686
  {
1543
- "id": "resource.downloadData.fileId",
1544
- "label": "File ID",
1545
- "optional": false,
1546
- "constraints": {
1547
- "notEmpty": true
1548
- },
1549
- "feel": "optional",
1687
+ "label": "Parent folder ID",
1688
+ "description": "Enter ID of the parent folder where new file will be created",
1550
1689
  "group": "operationDetails",
1690
+ "type": "String",
1691
+ "feel": "optional",
1692
+ "optional": true,
1551
1693
  "binding": {
1552
- "name": "resource.downloadData.fileId",
1553
- "type": "zeebe:input"
1694
+ "type": "zeebe:input",
1695
+ "name": "resource.parent"
1554
1696
  },
1555
1697
  "condition": {
1556
- "property": "resource.type",
1557
- "equals": "download",
1558
- "type": "simple"
1559
- },
1560
- "type": "String"
1698
+ "property": "resourceType",
1699
+ "equals": "file"
1700
+ }
1561
1701
  },
1562
1702
  {
1563
- "id": "resource.uploadData.document",
1564
- "label": "Document",
1565
- "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
1566
- "optional": false,
1567
- "constraints": {
1568
- "notEmpty": true
1569
- },
1570
- "feel": "required",
1703
+ "label": "Template variables",
1704
+ "description": "Use this field to pass and update variables in your template as JSON",
1571
1705
  "group": "operationDetails",
1706
+ "type": "Text",
1707
+ "feel": "required",
1572
1708
  "binding": {
1573
- "name": "resource.uploadData.document",
1574
- "type": "zeebe:input"
1709
+ "type": "zeebe:input",
1710
+ "name": "resource.template.variables"
1575
1711
  },
1576
1712
  "condition": {
1577
- "property": "resource.type",
1578
- "equals": "upload",
1579
- "type": "simple"
1580
- },
1581
- "type": "String"
1582
- },
1583
- {
1584
- "id": "version",
1585
- "label": "Version",
1586
- "description": "Version of the element template",
1587
- "value": "5",
1588
- "group": "connector",
1589
- "binding": {
1590
- "key": "elementTemplateVersion",
1591
- "type": "zeebe:taskHeader"
1592
- },
1593
- "type": "Hidden"
1713
+ "property": "resourceType",
1714
+ "equals": "file"
1715
+ }
1594
1716
  },
1595
1717
  {
1596
- "id": "id",
1597
- "label": "ID",
1598
- "description": "ID of the element template",
1599
- "value": "io.camunda.connectors.GoogleDrive.v1",
1600
- "group": "connector",
1718
+ "label": "Additional properties or metadata",
1719
+ "description": "Use this field to pass additional Google Drive parameters as JSON.",
1720
+ "group": "operationDetails",
1721
+ "type": "Text",
1722
+ "optional": true,
1723
+ "feel": "required",
1601
1724
  "binding": {
1602
- "key": "elementTemplateId",
1603
- "type": "zeebe:taskHeader"
1604
- },
1605
- "type": "Hidden"
1725
+ "type": "zeebe:input",
1726
+ "name": "resource.additionalGoogleDriveProperties",
1727
+ "key": "resource.additionalGoogleDriveProperties"
1728
+ }
1606
1729
  },
1607
1730
  {
1608
- "id": "resultVariable",
1609
1731
  "label": "Result variable",
1610
- "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
1732
+ "description": "Enter name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
1611
1733
  "group": "output",
1734
+ "type": "String",
1612
1735
  "binding": {
1613
- "key": "resultVariable",
1614
- "type": "zeebe:taskHeader"
1615
- },
1616
- "type": "String"
1736
+ "type": "zeebe:taskHeader",
1737
+ "key": "resultVariable"
1738
+ }
1617
1739
  },
1618
1740
  {
1619
- "id": "resultExpression",
1620
1741
  "label": "Result expression",
1621
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
1622
- "feel": "required",
1742
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
1623
1743
  "group": "output",
1744
+ "type": "Text",
1745
+ "feel": "required",
1624
1746
  "binding": {
1625
- "key": "resultExpression",
1626
- "type": "zeebe:taskHeader"
1627
- },
1628
- "type": "Text"
1747
+ "type": "zeebe:taskHeader",
1748
+ "key": "resultExpression"
1749
+ }
1629
1750
  },
1630
1751
  {
1631
- "id": "errorExpression",
1632
1752
  "label": "Error expression",
1633
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1753
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
1754
+ "group": "errors",
1755
+ "type": "Text",
1634
1756
  "feel": "required",
1635
- "group": "error",
1636
1757
  "binding": {
1637
- "key": "errorExpression",
1638
- "type": "zeebe:taskHeader"
1639
- },
1640
- "type": "Text"
1641
- },
1642
- {
1643
- "id": "retryCount",
1644
- "label": "Retries",
1645
- "description": "Number of retries",
1646
- "value": "3",
1647
- "feel": "optional",
1648
- "group": "retries",
1649
- "binding": {
1650
- "property": "retries",
1651
- "type": "zeebe:taskDefinition"
1652
- },
1653
- "type": "String"
1654
- },
1655
- {
1656
- "id": "retryBackoff",
1657
- "label": "Retry backoff",
1658
- "description": "ISO-8601 duration to wait between retries",
1659
- "value": "PT0S",
1660
- "group": "retries",
1661
- "binding": {
1662
- "key": "retryBackoff",
1663
- "type": "zeebe:taskHeader"
1664
- },
1665
- "type": "String"
1758
+ "type": "zeebe:taskHeader",
1759
+ "key": "errorExpression"
1760
+ }
1666
1761
  }
1667
1762
  ],
1668
1763
  "icon": {
1669
- "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
1764
+ "contents": "data:image/svg+xml;utf8,%3Csvg width='18' height='18' viewBox='0 0 87.3 78' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z' fill='%230066da'/%3E%3Cpath d='m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z' fill='%2300ac47'/%3E%3Cpath d='m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z' fill='%23ea4335'/%3E%3Cpath d='m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z' fill='%2300832d'/%3E%3Cpath d='m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z' fill='%232684fc'/%3E%3Cpath d='m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z' fill='%23ffba00'/%3E%3C/svg%3E"
1670
1765
  }
1671
1766
  },
1672
1767
  {
1673
1768
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1674
1769
  "name": "Google Drive Outbound Connector",
1675
1770
  "id": "io.camunda.connectors.GoogleDrive.v1",
1676
- "description": "Manage Google Drive files and folders",
1677
- "metadata": {
1678
- "keywords": ["create file", "create file from template", "create folder"]
1679
- },
1771
+ "description": "Create folder or a file from template",
1680
1772
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1681
- "version": 4,
1773
+ "version": 3,
1682
1774
  "category": {
1683
1775
  "id": "connectors",
1684
1776
  "name": "Connectors"
@@ -1687,9 +1779,6 @@
1687
1779
  "elementType": {
1688
1780
  "value": "bpmn:ServiceTask"
1689
1781
  },
1690
- "engines": {
1691
- "camunda": "^8.3"
1692
- },
1693
1782
  "groups": [
1694
1783
  {
1695
1784
  "id": "authentication",
@@ -1856,14 +1945,6 @@
1856
1945
  {
1857
1946
  "name": "Create file from template",
1858
1947
  "value": "file"
1859
- },
1860
- {
1861
- "name": "Upload file",
1862
- "value": "upload"
1863
- },
1864
- {
1865
- "name": "Download file",
1866
- "value": "download"
1867
1948
  }
1868
1949
  ]
1869
1950
  },
@@ -1880,11 +1961,6 @@
1880
1961
  "name": "resource.name",
1881
1962
  "type": "zeebe:input"
1882
1963
  },
1883
- "condition": {
1884
- "property": "resource.type",
1885
- "oneOf": ["folder", "file"],
1886
- "type": "simple"
1887
- },
1888
1964
  "type": "String"
1889
1965
  },
1890
1966
  {
@@ -1898,11 +1974,6 @@
1898
1974
  "name": "resource.parent",
1899
1975
  "type": "zeebe:input"
1900
1976
  },
1901
- "condition": {
1902
- "property": "resource.type",
1903
- "oneOf": ["folder", "file", "upload"],
1904
- "type": "simple"
1905
- },
1906
1977
  "type": "String"
1907
1978
  },
1908
1979
  {
@@ -1959,47 +2030,6 @@
1959
2030
  },
1960
2031
  "type": "String"
1961
2032
  },
1962
- {
1963
- "id": "resource.downloadData.fileId",
1964
- "label": "File ID",
1965
- "optional": false,
1966
- "constraints": {
1967
- "notEmpty": true
1968
- },
1969
- "feel": "optional",
1970
- "group": "operationDetails",
1971
- "binding": {
1972
- "name": "resource.downloadData.fileId",
1973
- "type": "zeebe:input"
1974
- },
1975
- "condition": {
1976
- "property": "resource.type",
1977
- "equals": "download",
1978
- "type": "simple"
1979
- },
1980
- "type": "String"
1981
- },
1982
- {
1983
- "id": "resource.uploadData.document",
1984
- "label": "Document",
1985
- "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
1986
- "optional": false,
1987
- "constraints": {
1988
- "notEmpty": true
1989
- },
1990
- "feel": "required",
1991
- "group": "operationDetails",
1992
- "binding": {
1993
- "name": "resource.uploadData.document",
1994
- "type": "zeebe:input"
1995
- },
1996
- "condition": {
1997
- "property": "resource.type",
1998
- "equals": "upload",
1999
- "type": "simple"
2000
- },
2001
- "type": "String"
2002
- },
2003
2033
  {
2004
2034
  "id": "resultVariable",
2005
2035
  "label": "Result variable",
@@ -2053,6 +2083,7 @@
2053
2083
  "label": "Retry backoff",
2054
2084
  "description": "ISO-8601 duration to wait between retries",
2055
2085
  "value": "PT0S",
2086
+ "feel": "optional",
2056
2087
  "group": "retries",
2057
2088
  "binding": {
2058
2089
  "key": "retryBackoff",
@@ -2063,15 +2094,27 @@
2063
2094
  ],
2064
2095
  "icon": {
2065
2096
  "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
2097
+ },
2098
+ "engines": {
2099
+ "camunda": "^8.5"
2066
2100
  }
2067
2101
  },
2068
2102
  {
2069
2103
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2070
2104
  "name": "Google Drive Outbound Connector",
2071
2105
  "id": "io.camunda.connectors.GoogleDrive.v1",
2072
- "description": "Create folder or a file from template",
2106
+ "description": "Manage Google Drive files and folders",
2107
+ "keywords": [
2108
+ "create file",
2109
+ "create file from template",
2110
+ "create folder",
2111
+ "upload file",
2112
+ "download file",
2113
+ "file storage",
2114
+ "document management"
2115
+ ],
2073
2116
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
2074
- "version": 3,
2117
+ "version": 6,
2075
2118
  "category": {
2076
2119
  "id": "connectors",
2077
2120
  "name": "Connectors"
@@ -2080,6 +2123,9 @@
2080
2123
  "elementType": {
2081
2124
  "value": "bpmn:ServiceTask"
2082
2125
  },
2126
+ "engines": {
2127
+ "camunda": "^8.10"
2128
+ },
2083
2129
  "groups": [
2084
2130
  {
2085
2131
  "id": "authentication",
@@ -2093,6 +2139,10 @@
2093
2139
  "id": "operationDetails",
2094
2140
  "label": "Operation details"
2095
2141
  },
2142
+ {
2143
+ "id": "connector",
2144
+ "label": "Connector"
2145
+ },
2096
2146
  {
2097
2147
  "id": "output",
2098
2148
  "label": "Output mapping"
@@ -2246,6 +2296,14 @@
2246
2296
  {
2247
2297
  "name": "Create file from template",
2248
2298
  "value": "file"
2299
+ },
2300
+ {
2301
+ "name": "Upload file",
2302
+ "value": "upload"
2303
+ },
2304
+ {
2305
+ "name": "Download file",
2306
+ "value": "download"
2249
2307
  }
2250
2308
  ]
2251
2309
  },
@@ -2262,6 +2320,11 @@
2262
2320
  "name": "resource.name",
2263
2321
  "type": "zeebe:input"
2264
2322
  },
2323
+ "condition": {
2324
+ "property": "resource.type",
2325
+ "oneOf": ["folder", "file"],
2326
+ "type": "simple"
2327
+ },
2265
2328
  "type": "String"
2266
2329
  },
2267
2330
  {
@@ -2275,6 +2338,11 @@
2275
2338
  "name": "resource.parent",
2276
2339
  "type": "zeebe:input"
2277
2340
  },
2341
+ "condition": {
2342
+ "property": "resource.type",
2343
+ "oneOf": ["folder", "file", "upload"],
2344
+ "type": "simple"
2345
+ },
2278
2346
  "type": "String"
2279
2347
  },
2280
2348
  {
@@ -2332,385 +2400,317 @@
2332
2400
  "type": "String"
2333
2401
  },
2334
2402
  {
2335
- "id": "resultVariable",
2336
- "label": "Result variable",
2337
- "description": "Name of variable to store the response in",
2338
- "group": "output",
2339
- "binding": {
2340
- "key": "resultVariable",
2341
- "type": "zeebe:taskHeader"
2342
- },
2343
- "type": "String"
2344
- },
2345
- {
2346
- "id": "resultExpression",
2347
- "label": "Result expression",
2348
- "description": "Expression to map the response into process variables",
2349
- "feel": "required",
2350
- "group": "output",
2351
- "binding": {
2352
- "key": "resultExpression",
2353
- "type": "zeebe:taskHeader"
2354
- },
2355
- "type": "Text"
2356
- },
2357
- {
2358
- "id": "errorExpression",
2359
- "label": "Error expression",
2360
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2361
- "feel": "required",
2362
- "group": "error",
2363
- "binding": {
2364
- "key": "errorExpression",
2365
- "type": "zeebe:taskHeader"
2403
+ "id": "resource.downloadData.fileId",
2404
+ "label": "File ID",
2405
+ "optional": false,
2406
+ "constraints": {
2407
+ "notEmpty": true
2366
2408
  },
2367
- "type": "Text"
2368
- },
2369
- {
2370
- "id": "retryCount",
2371
- "label": "Retries",
2372
- "description": "Number of retries",
2373
- "value": "3",
2374
2409
  "feel": "optional",
2375
- "group": "retries",
2410
+ "group": "operationDetails",
2376
2411
  "binding": {
2377
- "property": "retries",
2378
- "type": "zeebe:taskDefinition"
2412
+ "name": "resource.downloadData.fileId",
2413
+ "type": "zeebe:input"
2379
2414
  },
2380
- "type": "String"
2381
- },
2382
- {
2383
- "id": "retryBackoff",
2384
- "label": "Retry backoff",
2385
- "description": "ISO-8601 duration to wait between retries",
2386
- "value": "PT0S",
2387
- "feel": "optional",
2388
- "group": "retries",
2389
- "binding": {
2390
- "key": "retryBackoff",
2391
- "type": "zeebe:taskHeader"
2415
+ "condition": {
2416
+ "property": "resource.type",
2417
+ "equals": "download",
2418
+ "type": "simple"
2392
2419
  },
2393
2420
  "type": "String"
2394
- }
2395
- ],
2396
- "icon": {
2397
- "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
2398
- },
2399
- "engines": {
2400
- "camunda": "^8.5"
2401
- }
2402
- },
2403
- {
2404
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2405
- "name": "Google Drive connector",
2406
- "id": "io.camunda.connectors.GoogleDrive.v1",
2407
- "version": 1,
2408
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
2409
- "description": "Create folder or a file from template",
2410
- "category": {
2411
- "id": "connectors",
2412
- "name": "Connectors"
2413
- },
2414
- "appliesTo": ["bpmn:Task"],
2415
- "elementType": {
2416
- "value": "bpmn:ServiceTask"
2417
- },
2418
- "groups": [
2419
- {
2420
- "id": "authentication",
2421
- "label": "Authentication"
2422
- },
2423
- {
2424
- "id": "operation",
2425
- "label": "Select operation"
2426
2421
  },
2427
2422
  {
2428
- "id": "operationDetails",
2429
- "label": "Operation details"
2430
- },
2431
- {
2432
- "id": "output",
2433
- "label": "Output mapping"
2434
- },
2435
- {
2436
- "id": "errors",
2437
- "label": "Error handling"
2438
- }
2439
- ],
2440
- "properties": [
2441
- {
2442
- "type": "Hidden",
2443
- "value": "io.camunda:google-drive:1",
2423
+ "id": "resource.uploadData.document_documentSource",
2424
+ "label": "Document source",
2425
+ "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
2426
+ "value": "camunda",
2427
+ "group": "operationDetails",
2444
2428
  "binding": {
2445
- "type": "zeebe:taskDefinition",
2446
- "property": "type"
2447
- }
2448
- },
2449
- {
2450
- "id": "authenticationType",
2451
- "label": "Type",
2452
- "group": "authentication",
2429
+ "name": "resource.uploadData.document_documentSource",
2430
+ "type": "zeebe:input"
2431
+ },
2432
+ "condition": {
2433
+ "property": "resource.type",
2434
+ "equals": "upload",
2435
+ "type": "simple"
2436
+ },
2453
2437
  "type": "Dropdown",
2454
- "value": "bearer",
2455
2438
  "choices": [
2456
2439
  {
2457
- "name": "Bearer token",
2458
- "value": "bearer"
2440
+ "name": "Camunda Document",
2441
+ "value": "camunda"
2459
2442
  },
2460
2443
  {
2461
- "name": "Refresh token",
2462
- "value": "refresh"
2444
+ "name": "Inline Content",
2445
+ "value": "inline"
2446
+ },
2447
+ {
2448
+ "name": "From URL",
2449
+ "value": "external"
2463
2450
  }
2464
- ],
2465
- "binding": {
2466
- "type": "zeebe:input",
2467
- "name": "authentication.authType",
2468
- "key": "authentication.authType"
2469
- }
2451
+ ]
2470
2452
  },
2471
2453
  {
2472
- "label": "Bearer token",
2473
- "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
2474
- "group": "authentication",
2475
- "type": "String",
2476
- "binding": {
2477
- "type": "zeebe:input",
2478
- "name": "authentication.bearerToken"
2479
- },
2454
+ "id": "resource.uploadData.document_camundaReference",
2455
+ "label": "Camunda document",
2480
2456
  "constraints": {
2481
2457
  "notEmpty": true
2482
2458
  },
2483
- "condition": {
2484
- "property": "authenticationType",
2485
- "equals": "bearer"
2486
- }
2487
- },
2488
- {
2489
- "label": "Client ID",
2490
- "description": "Enter Google API Client ID",
2491
- "group": "authentication",
2492
- "type": "String",
2459
+ "feel": "required",
2460
+ "group": "operationDetails",
2493
2461
  "binding": {
2494
- "type": "zeebe:input",
2495
- "name": "authentication.oauthClientId"
2496
- },
2497
- "constraints": {
2498
- "notEmpty": true
2462
+ "name": "resource.uploadData.document_camundaReference",
2463
+ "type": "zeebe:input"
2499
2464
  },
2500
2465
  "condition": {
2501
- "property": "authenticationType",
2502
- "equals": "refresh"
2503
- }
2466
+ "allMatch": [
2467
+ {
2468
+ "property": "resource.type",
2469
+ "equals": "upload",
2470
+ "type": "simple"
2471
+ },
2472
+ {
2473
+ "property": "resource.uploadData.document_documentSource",
2474
+ "equals": "camunda",
2475
+ "type": "simple"
2476
+ }
2477
+ ]
2478
+ },
2479
+ "type": "String"
2504
2480
  },
2505
2481
  {
2506
- "label": "Client secret",
2507
- "description": "Enter Google API client Secret",
2508
- "group": "authentication",
2509
- "type": "String",
2510
- "binding": {
2511
- "type": "zeebe:input",
2512
- "name": "authentication.oauthClientSecret"
2513
- },
2482
+ "id": "resource.uploadData.document_inline_content",
2483
+ "label": "Content",
2514
2484
  "constraints": {
2515
2485
  "notEmpty": true
2516
2486
  },
2517
- "condition": {
2518
- "property": "authenticationType",
2519
- "equals": "refresh"
2520
- }
2521
- },
2522
- {
2523
- "label": "Refresh token",
2524
- "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
2525
- "group": "authentication",
2526
- "type": "String",
2487
+ "feel": "optional",
2488
+ "group": "operationDetails",
2527
2489
  "binding": {
2528
- "type": "zeebe:input",
2529
- "name": "authentication.oauthRefreshToken"
2530
- },
2531
- "constraints": {
2532
- "notEmpty": true
2490
+ "name": "resource.uploadData.document_inline_content",
2491
+ "type": "zeebe:input"
2533
2492
  },
2534
2493
  "condition": {
2535
- "property": "authenticationType",
2536
- "equals": "refresh"
2537
- }
2538
- },
2539
- {
2540
- "id": "resourceType",
2541
- "group": "operation",
2542
- "type": "Dropdown",
2543
- "value": "folder",
2544
- "choices": [
2545
- {
2546
- "name": "Create folder",
2547
- "value": "folder"
2548
- },
2549
- {
2550
- "name": "Create file from template",
2551
- "value": "file"
2552
- }
2553
- ],
2554
- "binding": {
2555
- "type": "zeebe:input",
2556
- "name": "resource.type",
2557
- "key": "resource.type"
2558
- }
2494
+ "allMatch": [
2495
+ {
2496
+ "property": "resource.type",
2497
+ "equals": "upload",
2498
+ "type": "simple"
2499
+ },
2500
+ {
2501
+ "property": "resource.uploadData.document_documentSource",
2502
+ "equals": "inline",
2503
+ "type": "simple"
2504
+ }
2505
+ ]
2506
+ },
2507
+ "type": "String"
2559
2508
  },
2560
2509
  {
2510
+ "id": "resource.uploadData.document_inline_fileName",
2561
2511
  "label": "File name",
2562
- "description": "Enter name for your file",
2563
- "group": "operationDetails",
2564
- "type": "String",
2565
2512
  "feel": "optional",
2513
+ "group": "operationDetails",
2566
2514
  "binding": {
2567
- "type": "zeebe:input",
2568
- "name": "resource.name"
2569
- },
2570
- "constraints": {
2571
- "notEmpty": true,
2572
- "maxLength": 255
2515
+ "name": "resource.uploadData.document_inline_fileName",
2516
+ "type": "zeebe:input"
2573
2517
  },
2574
2518
  "condition": {
2575
- "property": "resourceType",
2576
- "equals": "file"
2577
- }
2519
+ "allMatch": [
2520
+ {
2521
+ "property": "resource.type",
2522
+ "equals": "upload",
2523
+ "type": "simple"
2524
+ },
2525
+ {
2526
+ "property": "resource.uploadData.document_documentSource",
2527
+ "equals": "inline",
2528
+ "type": "simple"
2529
+ }
2530
+ ]
2531
+ },
2532
+ "type": "String"
2578
2533
  },
2579
2534
  {
2580
- "label": "Folder name",
2581
- "description": "Enter name for your folder",
2582
- "group": "operationDetails",
2583
- "type": "String",
2535
+ "id": "resource.uploadData.document_inline_contentType",
2536
+ "label": "Content type",
2584
2537
  "feel": "optional",
2538
+ "group": "operationDetails",
2585
2539
  "binding": {
2586
- "type": "zeebe:input",
2587
- "name": "resource.name"
2588
- },
2589
- "constraints": {
2590
- "notEmpty": true,
2591
- "maxLength": 255
2540
+ "name": "resource.uploadData.document_inline_contentType",
2541
+ "type": "zeebe:input"
2592
2542
  },
2593
2543
  "condition": {
2594
- "property": "resourceType",
2595
- "equals": "folder"
2596
- }
2544
+ "allMatch": [
2545
+ {
2546
+ "property": "resource.type",
2547
+ "equals": "upload",
2548
+ "type": "simple"
2549
+ },
2550
+ {
2551
+ "property": "resource.uploadData.document_documentSource",
2552
+ "equals": "inline",
2553
+ "type": "simple"
2554
+ }
2555
+ ]
2556
+ },
2557
+ "type": "String"
2597
2558
  },
2598
2559
  {
2599
- "label": "Template ID",
2600
- "description": "Enter ID of the template you are creating a file from",
2601
- "group": "operationDetails",
2602
- "type": "String",
2603
- "feel": "optional",
2604
- "binding": {
2605
- "type": "zeebe:input",
2606
- "name": "resource.template.id"
2607
- },
2560
+ "id": "resource.uploadData.document_external_url",
2561
+ "label": "URL",
2608
2562
  "constraints": {
2609
2563
  "notEmpty": true
2610
2564
  },
2565
+ "feel": "optional",
2566
+ "group": "operationDetails",
2567
+ "binding": {
2568
+ "name": "resource.uploadData.document_external_url",
2569
+ "type": "zeebe:input"
2570
+ },
2611
2571
  "condition": {
2612
- "property": "resourceType",
2613
- "equals": "file"
2614
- }
2572
+ "allMatch": [
2573
+ {
2574
+ "property": "resource.type",
2575
+ "equals": "upload",
2576
+ "type": "simple"
2577
+ },
2578
+ {
2579
+ "property": "resource.uploadData.document_documentSource",
2580
+ "equals": "external",
2581
+ "type": "simple"
2582
+ }
2583
+ ]
2584
+ },
2585
+ "type": "String"
2615
2586
  },
2616
2587
  {
2617
- "label": "Parent folder ID",
2618
- "description": "Enter ID of the parent folder where new folder will be created",
2619
- "group": "operationDetails",
2620
- "type": "String",
2588
+ "id": "resource.uploadData.document_external_fileName",
2589
+ "label": "File name",
2621
2590
  "feel": "optional",
2622
- "optional": true,
2591
+ "group": "operationDetails",
2623
2592
  "binding": {
2624
- "type": "zeebe:input",
2625
- "name": "resource.parent"
2593
+ "name": "resource.uploadData.document_external_fileName",
2594
+ "type": "zeebe:input"
2626
2595
  },
2627
2596
  "condition": {
2628
- "property": "resourceType",
2629
- "equals": "folder"
2630
- }
2597
+ "allMatch": [
2598
+ {
2599
+ "property": "resource.type",
2600
+ "equals": "upload",
2601
+ "type": "simple"
2602
+ },
2603
+ {
2604
+ "property": "resource.uploadData.document_documentSource",
2605
+ "equals": "external",
2606
+ "type": "simple"
2607
+ }
2608
+ ]
2609
+ },
2610
+ "type": "String"
2631
2611
  },
2632
2612
  {
2633
- "label": "Parent folder ID",
2634
- "description": "Enter ID of the parent folder where new file will be created",
2613
+ "id": "resource.uploadData.document__composer",
2614
+ "value": "=if document_documentSource = \"camunda\" then document_camundaReference else if document_documentSource = \"inline\" then { \"camunda.document.type\": \"inline\", content: document_inline_content, name: document_inline_fileName, contentType: document_inline_contentType } else if document_documentSource = \"external\" then { \"camunda.document.type\": \"external\", url: document_external_url, name: document_external_fileName } else null",
2635
2615
  "group": "operationDetails",
2636
- "type": "String",
2637
- "feel": "optional",
2638
- "optional": true,
2639
2616
  "binding": {
2640
- "type": "zeebe:input",
2641
- "name": "resource.parent"
2617
+ "name": "resource.uploadData.document",
2618
+ "type": "zeebe:input"
2642
2619
  },
2643
2620
  "condition": {
2644
- "property": "resourceType",
2645
- "equals": "file"
2646
- }
2621
+ "property": "resource.type",
2622
+ "equals": "upload",
2623
+ "type": "simple"
2624
+ },
2625
+ "type": "Hidden"
2647
2626
  },
2648
2627
  {
2649
- "label": "Template variables",
2650
- "description": "Use this field to pass and update variables in your template as JSON",
2651
- "group": "operationDetails",
2652
- "type": "Text",
2653
- "feel": "required",
2628
+ "id": "version",
2629
+ "label": "Version",
2630
+ "description": "Version of the element template",
2631
+ "value": "6",
2632
+ "group": "connector",
2654
2633
  "binding": {
2655
- "type": "zeebe:input",
2656
- "name": "resource.template.variables"
2634
+ "key": "elementTemplateVersion",
2635
+ "type": "zeebe:taskHeader"
2657
2636
  },
2658
- "condition": {
2659
- "property": "resourceType",
2660
- "equals": "file"
2661
- }
2637
+ "type": "Hidden"
2662
2638
  },
2663
2639
  {
2664
- "label": "Additional properties or metadata",
2665
- "description": "Use this field to pass additional Google Drive parameters as JSON.",
2666
- "group": "operationDetails",
2667
- "type": "Text",
2668
- "optional": true,
2669
- "feel": "required",
2640
+ "id": "id",
2641
+ "label": "ID",
2642
+ "description": "ID of the element template",
2643
+ "value": "io.camunda.connectors.GoogleDrive.v1",
2644
+ "group": "connector",
2670
2645
  "binding": {
2671
- "type": "zeebe:input",
2672
- "name": "resource.additionalGoogleDriveProperties",
2673
- "key": "resource.additionalGoogleDriveProperties"
2674
- }
2646
+ "key": "elementTemplateId",
2647
+ "type": "zeebe:taskHeader"
2648
+ },
2649
+ "type": "Hidden"
2675
2650
  },
2676
2651
  {
2652
+ "id": "resultVariable",
2677
2653
  "label": "Result variable",
2678
- "description": "Enter name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
2654
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
2679
2655
  "group": "output",
2680
- "type": "String",
2681
2656
  "binding": {
2682
- "type": "zeebe:taskHeader",
2683
- "key": "resultVariable"
2684
- }
2657
+ "key": "resultVariable",
2658
+ "type": "zeebe:taskHeader"
2659
+ },
2660
+ "type": "String"
2685
2661
  },
2686
2662
  {
2663
+ "id": "resultExpression",
2687
2664
  "label": "Result expression",
2688
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
2689
- "group": "output",
2690
- "type": "Text",
2665
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
2691
2666
  "feel": "required",
2667
+ "group": "output",
2692
2668
  "binding": {
2693
- "type": "zeebe:taskHeader",
2694
- "key": "resultExpression"
2695
- }
2669
+ "key": "resultExpression",
2670
+ "type": "zeebe:taskHeader"
2671
+ },
2672
+ "type": "Text"
2696
2673
  },
2697
2674
  {
2675
+ "id": "errorExpression",
2698
2676
  "label": "Error expression",
2699
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
2700
- "group": "errors",
2701
- "type": "Text",
2677
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2702
2678
  "feel": "required",
2679
+ "group": "error",
2703
2680
  "binding": {
2704
- "type": "zeebe:taskHeader",
2705
- "key": "errorExpression"
2706
- }
2681
+ "key": "errorExpression",
2682
+ "type": "zeebe:taskHeader"
2683
+ },
2684
+ "type": "Text"
2685
+ },
2686
+ {
2687
+ "id": "retryCount",
2688
+ "label": "Retries",
2689
+ "description": "Number of retries",
2690
+ "value": "3",
2691
+ "feel": "optional",
2692
+ "group": "retries",
2693
+ "binding": {
2694
+ "property": "retries",
2695
+ "type": "zeebe:taskDefinition"
2696
+ },
2697
+ "type": "String"
2698
+ },
2699
+ {
2700
+ "id": "retryBackoff",
2701
+ "label": "Retry backoff",
2702
+ "description": "ISO-8601 duration to wait between retries",
2703
+ "value": "PT30S",
2704
+ "group": "retries",
2705
+ "binding": {
2706
+ "key": "retryBackoff",
2707
+ "type": "zeebe:taskHeader"
2708
+ },
2709
+ "type": "String"
2707
2710
  }
2708
2711
  ],
2709
2712
  "icon": {
2710
- "contents": "data:image/svg+xml;utf8,%3Csvg width='18' height='18' viewBox='0 0 87.3 78' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z' fill='%230066da'/%3E%3Cpath d='m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z' fill='%2300ac47'/%3E%3Cpath d='m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z' fill='%23ea4335'/%3E%3Cpath d='m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z' fill='%2300832d'/%3E%3Cpath d='m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z' fill='%232684fc'/%3E%3Cpath d='m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z' fill='%23ffba00'/%3E%3C/svg%3E"
2711
- },
2712
- "engines": {
2713
- "camunda": "^8.2"
2713
+ "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
2714
2714
  }
2715
2715
  }
2716
2716
  ]