@camunda/connectors-element-templates 1.0.17 → 1.0.18

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 (125) hide show
  1. package/package.json +2 -2
  2. package/src/connectors.js +12 -2
  3. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +2 -5
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +6 -6
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +6 -6
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +6 -6
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +6 -6
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +10 -13
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +3774 -33
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +7968 -4288
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +2 -5
  12. package/src/element-templates/agenticai-mcp-message-start-event.json +122 -0
  13. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2 -5
  14. package/src/element-templates/asana-connector.json +718 -7
  15. package/src/element-templates/automation-anywhere-outbound-connector.json +1175 -1171
  16. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +431 -0
  17. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +285 -0
  18. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +341 -0
  19. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +316 -0
  20. package/src/element-templates/aws-bedrock-outbound-connector.json +775 -38
  21. package/src/element-templates/aws-comprehend-outbound-connector.json +10 -5
  22. package/src/element-templates/aws-dynamodb-outbound-connector.json +1407 -1407
  23. package/src/element-templates/aws-eventbridge-connector-boundary.json +370 -5
  24. package/src/element-templates/aws-eventbridge-connector-intermediate.json +400 -35
  25. package/src/element-templates/aws-eventbridge-connector-message-start.json +399 -0
  26. package/src/element-templates/aws-eventbridge-connector-receive.json +364 -0
  27. package/src/element-templates/aws-eventbridge-connector-start-event.json +317 -0
  28. package/src/element-templates/aws-eventbridge-outbound-connector.json +300 -295
  29. package/src/element-templates/aws-lambda-outbound-connector.json +472 -468
  30. package/src/element-templates/aws-s3-outbound-connector.json +656 -15
  31. package/src/element-templates/aws-sagemaker-outbound-connector.json +56 -52
  32. package/src/element-templates/aws-sns-inbound-boundary.json +230 -223
  33. package/src/element-templates/aws-sns-inbound-intermediate.json +486 -479
  34. package/src/element-templates/aws-sns-inbound-message-start.json +240 -233
  35. package/src/element-templates/aws-sns-inbound-receive.json +13 -6
  36. package/src/element-templates/aws-sns-inbound-start-event.json +139 -132
  37. package/src/element-templates/aws-sns-outbound-connector.json +390 -386
  38. package/src/element-templates/aws-sqs-boundary-connector.json +472 -468
  39. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +388 -384
  40. package/src/element-templates/aws-sqs-outbound-connector.json +402 -400
  41. package/src/element-templates/aws-sqs-receive-connector.json +15 -11
  42. package/src/element-templates/aws-sqs-start-event-connector.json +571 -563
  43. package/src/element-templates/aws-sqs-start-message.json +866 -862
  44. package/src/element-templates/aws-textract-outbound-connector.json +358 -354
  45. package/src/element-templates/azure-blobstorage-outbound-connector.json +668 -11
  46. package/src/element-templates/azure-open-ai-connector.json +1325 -0
  47. package/src/element-templates/blue-prism-connector.json +595 -50
  48. package/src/element-templates/box-outbound-connector.json +924 -12
  49. package/src/element-templates/csv-outbound-connector.json +39 -31
  50. package/src/element-templates/easy-post-connector.json +1088 -120
  51. package/src/element-templates/email-inbound-connector-boundary.json +16 -8
  52. package/src/element-templates/email-inbound-connector-intermediate.json +16 -8
  53. package/src/element-templates/email-inbound-connector-receive.json +564 -0
  54. package/src/element-templates/email-message-start-event-connector.json +16 -8
  55. package/src/element-templates/email-outbound-connector.json +2114 -241
  56. package/src/element-templates/embeddings-vector-database-outbound-connector.json +513 -516
  57. package/src/element-templates/github-connector.json +12587 -9052
  58. package/src/element-templates/github-webhook-connector-boundary.json +27 -29
  59. package/src/element-templates/github-webhook-connector-intermediate.json +40 -42
  60. package/src/element-templates/github-webhook-connector-message-start.json +19 -21
  61. package/src/element-templates/github-webhook-connector-receive.json +13 -15
  62. package/src/element-templates/github-webhook-connector-start-event.json +11 -13
  63. package/src/element-templates/gitlab-connector.json +4756 -3124
  64. package/src/element-templates/google-cloud-storage-outbound-connector.json +561 -12
  65. package/src/element-templates/google-drive-outbound-connector.json +1285 -665
  66. package/src/element-templates/google-gemini-outbound-connector.json +117 -109
  67. package/src/element-templates/google-maps-platform-connector.json +1055 -26
  68. package/src/element-templates/google-sheets-outbound-connector.json +2413 -1419
  69. package/src/element-templates/graphql-outbound-connector.json +1136 -1127
  70. package/src/element-templates/http-json-connector.json +2779 -2129
  71. package/src/element-templates/http-polling-boundary-catch-event-connector.json +1483 -1472
  72. package/src/element-templates/http-polling-connector.json +746 -735
  73. package/src/element-templates/hubspot-outbound-connector.json +2376 -30
  74. package/src/element-templates/hugging-face-connector.json +249 -18
  75. package/src/element-templates/jdbc-outbound-connector.json +62 -48
  76. package/src/element-templates/kafka-inbound-connector-boundary.json +528 -519
  77. package/src/element-templates/kafka-inbound-connector-intermediate.json +729 -720
  78. package/src/element-templates/kafka-inbound-connector-receive.json +15 -6
  79. package/src/element-templates/kafka-inbound-connector-start-message.json +628 -619
  80. package/src/element-templates/kafka-inbound-connector.json +240 -240
  81. package/src/element-templates/kafka-outbound-connector.json +666 -660
  82. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +18 -6
  83. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +18 -6
  84. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +18 -6
  85. package/src/element-templates/microsoft-office365-mail-connector.json +883 -0
  86. package/src/element-templates/microsoft-teams-outbound-connector.json +4161 -1997
  87. package/src/element-templates/openai-connector.json +579 -116
  88. package/src/element-templates/operate-connector.json +1219 -67
  89. package/src/element-templates/power-automate-connector.json +604 -12
  90. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +863 -854
  91. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +926 -917
  92. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +469 -460
  93. package/src/element-templates/rabbitmq-inbound-connector-receive.json +15 -6
  94. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +601 -592
  95. package/src/element-templates/rabbitmq-outbound-connector.json +634 -628
  96. package/src/element-templates/rpa-connector.json +346 -0
  97. package/src/element-templates/salesforce-connector.json +553 -9
  98. package/src/element-templates/send-message-connector-intermediate-throw-event.json +10 -5
  99. package/src/element-templates/send-message-connector-message-end-event.json +10 -5
  100. package/src/element-templates/send-message-connector-send-task.json +10 -5
  101. package/src/element-templates/sendgrid-outbound-connector.json +1380 -772
  102. package/src/element-templates/servicenow-connector.json +971 -3
  103. package/src/element-templates/servicenow-flow-starter-connector.json +8 -3
  104. package/src/element-templates/servicenow-incident-connector.json +980 -3
  105. package/src/element-templates/slack-inbound-boundary.json +389 -91
  106. package/src/element-templates/slack-inbound-intermediate.json +393 -95
  107. package/src/element-templates/slack-inbound-message-start.json +566 -236
  108. package/src/element-templates/slack-inbound-receive.json +297 -0
  109. package/src/element-templates/slack-inbound-start-event.json +127 -122
  110. package/src/element-templates/slack-outbound-connector.json +2613 -915
  111. package/src/element-templates/soap-outbound-connector.json +812 -2
  112. package/src/element-templates/twilio-connector.json +1514 -34
  113. package/src/element-templates/twilio-webhook-boundary-connector.json +29 -20
  114. package/src/element-templates/twilio-webhook-connector.json +238 -8
  115. package/src/element-templates/twilio-webhook-intermediate-connector.json +39 -30
  116. package/src/element-templates/twilio-webhook-message-start-connector.json +312 -0
  117. package/src/element-templates/twilio-webhook-receive-connector.json +11 -2
  118. package/src/element-templates/uipath-connector.json +607 -15
  119. package/src/element-templates/webhook-connector-boundary.json +1218 -1208
  120. package/src/element-templates/webhook-connector-intermediate.json +1837 -1827
  121. package/src/element-templates/webhook-connector-receive.json +55 -45
  122. package/src/element-templates/webhook-connector-start-event.json +1299 -1292
  123. package/src/element-templates/webhook-connector-start-message.json +711 -701
  124. package/src/element-templates/whatsapp-connector.json +339 -5
  125. package/src/element-templates/http-connector.json.json +0 -654
@@ -1,14 +1,20 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "Google Drive connector",
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
16
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
7
- "description": "Create folder or a file from template",
8
- "deprecated": {
9
- "message": "Replace with 'Google Drive connector' template.",
10
- "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
11
- },
17
+ "version": 6,
12
18
  "category": {
13
19
  "id": "connectors",
14
20
  "name": "Connectors"
@@ -17,6 +23,9 @@
17
23
  "elementType": {
18
24
  "value": "bpmn:ServiceTask"
19
25
  },
26
+ "engines": {
27
+ "camunda": "^8.10"
28
+ },
20
29
  "groups": [
21
30
  {
22
31
  "id": "authentication",
@@ -30,30 +39,46 @@
30
39
  "id": "operationDetails",
31
40
  "label": "Operation details"
32
41
  },
42
+ {
43
+ "id": "connector",
44
+ "label": "Connector"
45
+ },
33
46
  {
34
47
  "id": "output",
35
48
  "label": "Output mapping"
36
49
  },
37
50
  {
38
- "id": "errors",
51
+ "id": "error",
39
52
  "label": "Error handling"
53
+ },
54
+ {
55
+ "id": "retries",
56
+ "label": "Retries"
40
57
  }
41
58
  ],
42
59
  "properties": [
43
60
  {
44
- "type": "Hidden",
45
61
  "value": "io.camunda:google-drive:1",
46
62
  "binding": {
47
- "type": "zeebe:taskDefinition",
48
- "property": "type"
49
- }
63
+ "property": "type",
64
+ "type": "zeebe:taskDefinition"
65
+ },
66
+ "type": "Hidden"
50
67
  },
51
68
  {
52
- "id": "authenticationType",
69
+ "id": "authentication.authType",
53
70
  "label": "Type",
71
+ "optional": false,
72
+ "value": "refresh",
73
+ "constraints": {
74
+ "notEmpty": true
75
+ },
54
76
  "group": "authentication",
77
+ "binding": {
78
+ "name": "authentication.authType",
79
+ "type": "zeebe:input"
80
+ },
55
81
  "type": "Dropdown",
56
- "value": "bearer",
57
82
  "choices": [
58
83
  {
59
84
  "name": "Bearer token",
@@ -63,86 +88,106 @@
63
88
  "name": "Refresh token",
64
89
  "value": "refresh"
65
90
  }
66
- ],
67
- "binding": {
68
- "type": "zeebe:input",
69
- "name": "authentication.authType",
70
- "key": "authentication.authType"
71
- }
91
+ ]
72
92
  },
73
93
  {
94
+ "id": "authentication.bearerToken",
74
95
  "label": "Bearer token",
75
- "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
76
- "group": "authentication",
77
- "type": "String",
78
- "binding": {
79
- "type": "zeebe:input",
80
- "name": "authentication.bearerToken"
81
- },
96
+ "description": "Enter a valid Google API Bearer token",
97
+ "optional": false,
82
98
  "constraints": {
83
99
  "notEmpty": true
84
100
  },
101
+ "feel": "optional",
102
+ "group": "authentication",
103
+ "binding": {
104
+ "name": "authentication.bearerToken",
105
+ "type": "zeebe:input"
106
+ },
85
107
  "condition": {
86
- "property": "authenticationType",
87
- "equals": "bearer"
88
- }
108
+ "property": "authentication.authType",
109
+ "equals": "bearer",
110
+ "type": "simple"
111
+ },
112
+ "type": "String"
89
113
  },
90
114
  {
115
+ "id": "authentication.oauthClientId",
91
116
  "label": "Client ID",
92
117
  "description": "Enter Google API Client ID",
93
- "group": "authentication",
94
- "type": "String",
95
- "binding": {
96
- "type": "zeebe:input",
97
- "name": "authentication.oauthClientId"
98
- },
118
+ "optional": false,
99
119
  "constraints": {
100
120
  "notEmpty": true
101
121
  },
122
+ "feel": "optional",
123
+ "group": "authentication",
124
+ "binding": {
125
+ "name": "authentication.oauthClientId",
126
+ "type": "zeebe:input"
127
+ },
102
128
  "condition": {
103
- "property": "authenticationType",
104
- "equals": "refresh"
105
- }
129
+ "property": "authentication.authType",
130
+ "equals": "refresh",
131
+ "type": "simple"
132
+ },
133
+ "type": "String"
106
134
  },
107
135
  {
136
+ "id": "authentication.oauthClientSecret",
108
137
  "label": "Client secret",
109
138
  "description": "Enter Google API client Secret",
110
- "group": "authentication",
111
- "type": "String",
112
- "binding": {
113
- "type": "zeebe:input",
114
- "name": "authentication.oauthClientSecret"
115
- },
139
+ "optional": false,
116
140
  "constraints": {
117
141
  "notEmpty": true
118
142
  },
143
+ "feel": "optional",
144
+ "group": "authentication",
145
+ "binding": {
146
+ "name": "authentication.oauthClientSecret",
147
+ "type": "zeebe:input"
148
+ },
119
149
  "condition": {
120
- "property": "authenticationType",
121
- "equals": "refresh"
122
- }
150
+ "property": "authentication.authType",
151
+ "equals": "refresh",
152
+ "type": "simple"
153
+ },
154
+ "type": "String"
123
155
  },
124
156
  {
157
+ "id": "authentication.oauthRefreshToken",
125
158
  "label": "Refresh token",
126
- "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
127
- "group": "authentication",
128
- "type": "String",
129
- "binding": {
130
- "type": "zeebe:input",
131
- "name": "authentication.oauthRefreshToken"
132
- },
159
+ "description": "Enter a valid Google API refresh token",
160
+ "optional": false,
133
161
  "constraints": {
134
162
  "notEmpty": true
135
163
  },
164
+ "feel": "optional",
165
+ "group": "authentication",
166
+ "binding": {
167
+ "name": "authentication.oauthRefreshToken",
168
+ "type": "zeebe:input"
169
+ },
136
170
  "condition": {
137
- "property": "authenticationType",
138
- "equals": "refresh"
139
- }
171
+ "property": "authentication.authType",
172
+ "equals": "refresh",
173
+ "type": "simple"
174
+ },
175
+ "type": "String"
140
176
  },
141
177
  {
142
- "id": "resourceType",
178
+ "id": "resource.type",
179
+ "label": "Operation",
180
+ "optional": false,
181
+ "value": "folder",
182
+ "constraints": {
183
+ "notEmpty": true
184
+ },
143
185
  "group": "operation",
186
+ "binding": {
187
+ "name": "resource.type",
188
+ "type": "zeebe:input"
189
+ },
144
190
  "type": "Dropdown",
145
- "value": "folder",
146
191
  "choices": [
147
192
  {
148
193
  "name": "Create folder",
@@ -151,165 +196,421 @@
151
196
  {
152
197
  "name": "Create file from template",
153
198
  "value": "file"
199
+ },
200
+ {
201
+ "name": "Upload file",
202
+ "value": "upload"
203
+ },
204
+ {
205
+ "name": "Download file",
206
+ "value": "download"
154
207
  }
155
- ],
156
- "binding": {
157
- "type": "zeebe:input",
158
- "name": "resource.type",
159
- "key": "resource.type"
160
- }
208
+ ]
161
209
  },
162
210
  {
163
- "label": "File name",
164
- "description": "Enter name for your file",
165
- "group": "operationDetails",
166
- "type": "String",
167
- "feel": "optional",
168
- "binding": {
169
- "type": "zeebe:input",
170
- "name": "resource.name"
171
- },
211
+ "id": "resource.name",
212
+ "label": "New resource name",
213
+ "optional": false,
172
214
  "constraints": {
173
- "notEmpty": true,
174
- "maxLength": 255
215
+ "notEmpty": true
175
216
  },
176
- "condition": {
177
- "property": "resourceType",
178
- "equals": "file"
179
- }
180
- },
181
- {
182
- "label": "Folder name",
183
- "description": "Enter name for your folder",
184
- "group": "operationDetails",
185
- "type": "String",
186
217
  "feel": "optional",
218
+ "group": "operationDetails",
187
219
  "binding": {
188
- "type": "zeebe:input",
189
- "name": "resource.name"
190
- },
191
- "constraints": {
192
- "notEmpty": true,
193
- "maxLength": 255
220
+ "name": "resource.name",
221
+ "type": "zeebe:input"
194
222
  },
195
223
  "condition": {
196
- "property": "resourceType",
197
- "equals": "folder"
198
- }
224
+ "property": "resource.type",
225
+ "oneOf": ["folder", "file"],
226
+ "type": "simple"
227
+ },
228
+ "type": "String"
199
229
  },
200
230
  {
201
- "label": "Template ID",
202
- "description": "Enter ID of the template you are creating a file from",
203
- "group": "operationDetails",
204
- "type": "String",
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,
205
235
  "feel": "optional",
236
+ "group": "operationDetails",
206
237
  "binding": {
207
- "type": "zeebe:input",
208
- "name": "resource.template.id"
209
- },
210
- "constraints": {
211
- "notEmpty": true
238
+ "name": "resource.parent",
239
+ "type": "zeebe:input"
212
240
  },
213
241
  "condition": {
214
- "property": "resourceType",
215
- "equals": "file"
216
- }
242
+ "property": "resource.type",
243
+ "oneOf": ["folder", "file", "upload"],
244
+ "type": "simple"
245
+ },
246
+ "type": "String"
217
247
  },
218
248
  {
219
- "label": "Parent folder ID",
220
- "description": "Enter ID of the parent folder where new folder will be created",
221
- "group": "operationDetails",
222
- "type": "String",
223
- "feel": "optional",
249
+ "id": "resource.additionalGoogleDriveProperties",
250
+ "label": "Additional properties or metadata",
224
251
  "optional": true,
252
+ "feel": "required",
253
+ "group": "operationDetails",
225
254
  "binding": {
226
- "type": "zeebe:input",
227
- "name": "resource.parent"
255
+ "name": "resource.additionalGoogleDriveProperties",
256
+ "type": "zeebe:input"
228
257
  },
229
258
  "condition": {
230
- "property": "resourceType",
231
- "equals": "folder"
232
- }
259
+ "property": "resource.type",
260
+ "equals": "folder",
261
+ "type": "simple"
262
+ },
263
+ "type": "String"
233
264
  },
234
265
  {
235
- "label": "Parent folder ID",
236
- "description": "Enter ID of the parent folder where new file will be created",
237
- "group": "operationDetails",
238
- "type": "String",
266
+ "id": "resource.template.id",
267
+ "label": "Template ID",
268
+ "optional": false,
269
+ "constraints": {
270
+ "notEmpty": true
271
+ },
239
272
  "feel": "optional",
240
- "optional": true,
273
+ "group": "operationDetails",
241
274
  "binding": {
242
- "type": "zeebe:input",
243
- "name": "resource.parent"
275
+ "name": "resource.template.id",
276
+ "type": "zeebe:input"
244
277
  },
245
278
  "condition": {
246
- "property": "resourceType",
247
- "equals": "file"
248
- }
279
+ "property": "resource.type",
280
+ "equals": "file",
281
+ "type": "simple"
282
+ },
283
+ "type": "String"
249
284
  },
250
285
  {
286
+ "id": "resource.template.variables",
251
287
  "label": "Template variables",
252
- "description": "Use this field to pass and update variables in your template as JSON",
253
- "group": "operationDetails",
254
- "type": "Text",
288
+ "optional": false,
255
289
  "feel": "required",
290
+ "group": "operationDetails",
256
291
  "binding": {
257
- "type": "zeebe:input",
258
- "name": "resource.template.variables"
292
+ "name": "resource.template.variables",
293
+ "type": "zeebe:input"
259
294
  },
260
295
  "condition": {
261
- "property": "resourceType",
262
- "equals": "file"
263
- }
296
+ "property": "resource.type",
297
+ "equals": "file",
298
+ "type": "simple"
299
+ },
300
+ "type": "String"
264
301
  },
265
302
  {
266
- "label": "Additional properties or metadata",
267
- "description": "Use this field to pass additional Google Drive parameters as JSON.",
303
+ "id": "resource.downloadData.fileId",
304
+ "label": "File ID",
305
+ "optional": false,
306
+ "constraints": {
307
+ "notEmpty": true
308
+ },
309
+ "feel": "optional",
268
310
  "group": "operationDetails",
269
- "type": "Text",
270
- "optional": true,
311
+ "binding": {
312
+ "name": "resource.downloadData.fileId",
313
+ "type": "zeebe:input"
314
+ },
315
+ "condition": {
316
+ "property": "resource.type",
317
+ "equals": "download",
318
+ "type": "simple"
319
+ },
320
+ "type": "String"
321
+ },
322
+ {
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",
327
+ "group": "operationDetails",
328
+ "binding": {
329
+ "name": "resource.uploadData.document_documentSource",
330
+ "type": "zeebe:input"
331
+ },
332
+ "condition": {
333
+ "property": "resource.type",
334
+ "equals": "upload",
335
+ "type": "simple"
336
+ },
337
+ "type": "Dropdown",
338
+ "choices": [
339
+ {
340
+ "name": "Camunda Document",
341
+ "value": "camunda"
342
+ },
343
+ {
344
+ "name": "Inline Content",
345
+ "value": "inline"
346
+ },
347
+ {
348
+ "name": "From URL",
349
+ "value": "external"
350
+ }
351
+ ]
352
+ },
353
+ {
354
+ "id": "resource.uploadData.document_camundaReference",
355
+ "label": "Camunda document",
356
+ "constraints": {
357
+ "notEmpty": true
358
+ },
271
359
  "feel": "required",
360
+ "group": "operationDetails",
272
361
  "binding": {
273
- "type": "zeebe:input",
274
- "name": "resource.additionalGoogleDriveProperties",
275
- "key": "resource.additionalGoogleDriveProperties"
276
- }
362
+ "name": "resource.uploadData.document_camundaReference",
363
+ "type": "zeebe:input"
364
+ },
365
+ "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
+ ]
378
+ },
379
+ "type": "String"
380
+ },
381
+ {
382
+ "id": "resource.uploadData.document_inline_content",
383
+ "label": "Content",
384
+ "constraints": {
385
+ "notEmpty": true
386
+ },
387
+ "feel": "optional",
388
+ "group": "operationDetails",
389
+ "binding": {
390
+ "name": "resource.uploadData.document_inline_content",
391
+ "type": "zeebe:input"
392
+ },
393
+ "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
+ ]
406
+ },
407
+ "type": "String"
408
+ },
409
+ {
410
+ "id": "resource.uploadData.document_inline_fileName",
411
+ "label": "File name",
412
+ "feel": "optional",
413
+ "group": "operationDetails",
414
+ "binding": {
415
+ "name": "resource.uploadData.document_inline_fileName",
416
+ "type": "zeebe:input"
417
+ },
418
+ "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
+ ]
431
+ },
432
+ "type": "String"
433
+ },
434
+ {
435
+ "id": "resource.uploadData.document_inline_contentType",
436
+ "label": "Content type",
437
+ "feel": "optional",
438
+ "group": "operationDetails",
439
+ "binding": {
440
+ "name": "resource.uploadData.document_inline_contentType",
441
+ "type": "zeebe:input"
442
+ },
443
+ "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
+ ]
456
+ },
457
+ "type": "String"
458
+ },
459
+ {
460
+ "id": "resource.uploadData.document_external_url",
461
+ "label": "URL",
462
+ "constraints": {
463
+ "notEmpty": true
464
+ },
465
+ "feel": "optional",
466
+ "group": "operationDetails",
467
+ "binding": {
468
+ "name": "resource.uploadData.document_external_url",
469
+ "type": "zeebe:input"
470
+ },
471
+ "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
+ ]
484
+ },
485
+ "type": "String"
486
+ },
487
+ {
488
+ "id": "resource.uploadData.document_external_fileName",
489
+ "label": "File name",
490
+ "feel": "optional",
491
+ "group": "operationDetails",
492
+ "binding": {
493
+ "name": "resource.uploadData.document_external_fileName",
494
+ "type": "zeebe:input"
495
+ },
496
+ "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
+ ]
509
+ },
510
+ "type": "String"
511
+ },
512
+ {
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",
515
+ "group": "operationDetails",
516
+ "binding": {
517
+ "name": "resource.uploadData.document",
518
+ "type": "zeebe:input"
519
+ },
520
+ "condition": {
521
+ "property": "resource.type",
522
+ "equals": "upload",
523
+ "type": "simple"
524
+ },
525
+ "type": "Hidden"
526
+ },
527
+ {
528
+ "id": "version",
529
+ "label": "Version",
530
+ "description": "Version of the element template",
531
+ "value": "6",
532
+ "group": "connector",
533
+ "binding": {
534
+ "key": "elementTemplateVersion",
535
+ "type": "zeebe:taskHeader"
536
+ },
537
+ "type": "Hidden"
538
+ },
539
+ {
540
+ "id": "id",
541
+ "label": "ID",
542
+ "description": "ID of the element template",
543
+ "value": "io.camunda.connectors.GoogleDrive.v1",
544
+ "group": "connector",
545
+ "binding": {
546
+ "key": "elementTemplateId",
547
+ "type": "zeebe:taskHeader"
548
+ },
549
+ "type": "Hidden"
277
550
  },
278
551
  {
552
+ "id": "resultVariable",
279
553
  "label": "Result variable",
280
- "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>",
554
+ "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>.",
281
555
  "group": "output",
282
- "type": "String",
283
556
  "binding": {
284
- "type": "zeebe:taskHeader",
285
- "key": "resultVariable"
286
- }
557
+ "key": "resultVariable",
558
+ "type": "zeebe:taskHeader"
559
+ },
560
+ "type": "String"
287
561
  },
288
562
  {
563
+ "id": "resultExpression",
289
564
  "label": "Result expression",
290
- "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>",
291
- "group": "output",
292
- "type": "Text",
565
+ "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>.",
293
566
  "feel": "required",
567
+ "group": "output",
294
568
  "binding": {
295
- "type": "zeebe:taskHeader",
296
- "key": "resultExpression"
297
- }
569
+ "key": "resultExpression",
570
+ "type": "zeebe:taskHeader"
571
+ },
572
+ "type": "Text"
298
573
  },
299
574
  {
575
+ "id": "errorExpression",
300
576
  "label": "Error expression",
301
- "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>",
302
- "group": "errors",
303
- "type": "Text",
577
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
304
578
  "feel": "required",
579
+ "group": "error",
305
580
  "binding": {
306
- "type": "zeebe:taskHeader",
307
- "key": "errorExpression"
308
- }
581
+ "key": "errorExpression",
582
+ "type": "zeebe:taskHeader"
583
+ },
584
+ "type": "Text"
585
+ },
586
+ {
587
+ "id": "retryCount",
588
+ "label": "Retries",
589
+ "description": "Number of retries",
590
+ "value": "3",
591
+ "feel": "optional",
592
+ "group": "retries",
593
+ "binding": {
594
+ "property": "retries",
595
+ "type": "zeebe:taskDefinition"
596
+ },
597
+ "type": "String"
598
+ },
599
+ {
600
+ "id": "retryBackoff",
601
+ "label": "Retry backoff",
602
+ "description": "ISO-8601 duration to wait between retries",
603
+ "value": "PT0S",
604
+ "group": "retries",
605
+ "binding": {
606
+ "key": "retryBackoff",
607
+ "type": "zeebe:taskHeader"
608
+ },
609
+ "type": "String"
309
610
  }
310
611
  ],
311
612
  "icon": {
312
- "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"
613
+ "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
313
614
  }
314
615
  },
315
616
  {
@@ -627,14 +928,14 @@
627
928
  },
628
929
  {
629
930
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
630
- "name": "Google Drive Outbound Connector",
931
+ "name": "Google Drive connector",
631
932
  "id": "io.camunda.connectors.GoogleDrive.v1",
632
- "description": "Manage Google Drive files and folders",
633
- "metadata": {
634
- "keywords": ["create file", "create file from template", "create folder"]
635
- },
636
933
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
637
- "version": 4,
934
+ "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
+ },
638
939
  "category": {
639
940
  "id": "connectors",
640
941
  "name": "Connectors"
@@ -643,9 +944,6 @@
643
944
  "elementType": {
644
945
  "value": "bpmn:ServiceTask"
645
946
  },
646
- "engines": {
647
- "camunda": "^8.3"
648
- },
649
947
  "groups": [
650
948
  {
651
949
  "id": "authentication",
@@ -664,37 +962,25 @@
664
962
  "label": "Output mapping"
665
963
  },
666
964
  {
667
- "id": "error",
965
+ "id": "errors",
668
966
  "label": "Error handling"
669
- },
670
- {
671
- "id": "retries",
672
- "label": "Retries"
673
967
  }
674
968
  ],
675
969
  "properties": [
676
970
  {
971
+ "type": "Hidden",
677
972
  "value": "io.camunda:google-drive:1",
678
973
  "binding": {
679
- "property": "type",
680
- "type": "zeebe:taskDefinition"
681
- },
682
- "type": "Hidden"
974
+ "type": "zeebe:taskDefinition",
975
+ "property": "type"
976
+ }
683
977
  },
684
978
  {
685
- "id": "authentication.authType",
979
+ "id": "authenticationType",
686
980
  "label": "Type",
687
- "optional": false,
688
- "value": "refresh",
689
- "constraints": {
690
- "notEmpty": true
691
- },
692
981
  "group": "authentication",
693
- "binding": {
694
- "name": "authentication.authType",
695
- "type": "zeebe:input"
696
- },
697
982
  "type": "Dropdown",
983
+ "value": "bearer",
698
984
  "choices": [
699
985
  {
700
986
  "name": "Bearer token",
@@ -704,106 +990,86 @@
704
990
  "name": "Refresh token",
705
991
  "value": "refresh"
706
992
  }
707
- ]
993
+ ],
994
+ "binding": {
995
+ "type": "zeebe:input",
996
+ "name": "authentication.authType",
997
+ "key": "authentication.authType"
998
+ }
708
999
  },
709
1000
  {
710
- "id": "authentication.bearerToken",
711
1001
  "label": "Bearer token",
712
- "description": "Enter a valid Google API Bearer token",
713
- "optional": false,
714
- "constraints": {
715
- "notEmpty": true
716
- },
717
- "feel": "optional",
1002
+ "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
718
1003
  "group": "authentication",
1004
+ "type": "String",
719
1005
  "binding": {
720
- "name": "authentication.bearerToken",
721
- "type": "zeebe:input"
1006
+ "type": "zeebe:input",
1007
+ "name": "authentication.bearerToken"
722
1008
  },
723
- "condition": {
724
- "property": "authentication.authType",
725
- "equals": "bearer",
726
- "type": "simple"
1009
+ "constraints": {
1010
+ "notEmpty": true
727
1011
  },
728
- "type": "String"
1012
+ "condition": {
1013
+ "property": "authenticationType",
1014
+ "equals": "bearer"
1015
+ }
729
1016
  },
730
1017
  {
731
- "id": "authentication.oauthClientId",
732
1018
  "label": "Client ID",
733
1019
  "description": "Enter Google API Client ID",
734
- "optional": false,
735
- "constraints": {
736
- "notEmpty": true
737
- },
738
- "feel": "optional",
739
1020
  "group": "authentication",
1021
+ "type": "String",
740
1022
  "binding": {
741
- "name": "authentication.oauthClientId",
742
- "type": "zeebe:input"
1023
+ "type": "zeebe:input",
1024
+ "name": "authentication.oauthClientId"
743
1025
  },
744
- "condition": {
745
- "property": "authentication.authType",
746
- "equals": "refresh",
747
- "type": "simple"
1026
+ "constraints": {
1027
+ "notEmpty": true
748
1028
  },
749
- "type": "String"
1029
+ "condition": {
1030
+ "property": "authenticationType",
1031
+ "equals": "refresh"
1032
+ }
750
1033
  },
751
1034
  {
752
- "id": "authentication.oauthClientSecret",
753
1035
  "label": "Client secret",
754
1036
  "description": "Enter Google API client Secret",
755
- "optional": false,
756
- "constraints": {
757
- "notEmpty": true
758
- },
759
- "feel": "optional",
760
1037
  "group": "authentication",
1038
+ "type": "String",
761
1039
  "binding": {
762
- "name": "authentication.oauthClientSecret",
763
- "type": "zeebe:input"
1040
+ "type": "zeebe:input",
1041
+ "name": "authentication.oauthClientSecret"
764
1042
  },
765
- "condition": {
766
- "property": "authentication.authType",
767
- "equals": "refresh",
768
- "type": "simple"
1043
+ "constraints": {
1044
+ "notEmpty": true
769
1045
  },
770
- "type": "String"
1046
+ "condition": {
1047
+ "property": "authenticationType",
1048
+ "equals": "refresh"
1049
+ }
771
1050
  },
772
1051
  {
773
- "id": "authentication.oauthRefreshToken",
774
1052
  "label": "Refresh token",
775
- "description": "Enter a valid Google API refresh token",
776
- "optional": false,
777
- "constraints": {
778
- "notEmpty": true
779
- },
780
- "feel": "optional",
1053
+ "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
781
1054
  "group": "authentication",
1055
+ "type": "String",
782
1056
  "binding": {
783
- "name": "authentication.oauthRefreshToken",
784
- "type": "zeebe:input"
785
- },
786
- "condition": {
787
- "property": "authentication.authType",
788
- "equals": "refresh",
789
- "type": "simple"
1057
+ "type": "zeebe:input",
1058
+ "name": "authentication.oauthRefreshToken"
790
1059
  },
791
- "type": "String"
792
- },
793
- {
794
- "id": "resource.type",
795
- "label": "Operation",
796
- "optional": false,
797
- "value": "folder",
798
1060
  "constraints": {
799
1061
  "notEmpty": true
800
1062
  },
1063
+ "condition": {
1064
+ "property": "authenticationType",
1065
+ "equals": "refresh"
1066
+ }
1067
+ },
1068
+ {
1069
+ "id": "resourceType",
801
1070
  "group": "operation",
802
- "binding": {
803
- "name": "resource.type",
804
- "type": "zeebe:input"
805
- },
806
1071
  "type": "Dropdown",
1072
+ "value": "folder",
807
1073
  "choices": [
808
1074
  {
809
1075
  "name": "Create folder",
@@ -812,222 +1078,183 @@
812
1078
  {
813
1079
  "name": "Create file from template",
814
1080
  "value": "file"
815
- },
816
- {
817
- "name": "Upload file",
818
- "value": "upload"
819
- },
820
- {
821
- "name": "Download file",
822
- "value": "download"
823
1081
  }
824
- ]
1082
+ ],
1083
+ "binding": {
1084
+ "type": "zeebe:input",
1085
+ "name": "resource.type",
1086
+ "key": "resource.type"
1087
+ }
825
1088
  },
826
1089
  {
827
- "id": "resource.name",
828
- "label": "New resource name",
829
- "optional": false,
830
- "constraints": {
831
- "notEmpty": true
832
- },
833
- "feel": "optional",
1090
+ "label": "File name",
1091
+ "description": "Enter name for your file",
834
1092
  "group": "operationDetails",
1093
+ "type": "String",
1094
+ "feel": "optional",
835
1095
  "binding": {
836
- "name": "resource.name",
837
- "type": "zeebe:input"
1096
+ "type": "zeebe:input",
1097
+ "name": "resource.name"
838
1098
  },
839
- "condition": {
840
- "property": "resource.type",
841
- "oneOf": ["folder", "file"],
842
- "type": "simple"
1099
+ "constraints": {
1100
+ "notEmpty": true,
1101
+ "maxLength": 255
843
1102
  },
844
- "type": "String"
1103
+ "condition": {
1104
+ "property": "resourceType",
1105
+ "equals": "file"
1106
+ }
845
1107
  },
846
1108
  {
847
- "id": "resource.parent",
848
- "label": "Parent folder ID",
849
- "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
850
- "optional": true,
851
- "feel": "optional",
1109
+ "label": "Folder name",
1110
+ "description": "Enter name for your folder",
852
1111
  "group": "operationDetails",
1112
+ "type": "String",
1113
+ "feel": "optional",
853
1114
  "binding": {
854
- "name": "resource.parent",
855
- "type": "zeebe:input"
1115
+ "type": "zeebe:input",
1116
+ "name": "resource.name"
856
1117
  },
857
- "condition": {
858
- "property": "resource.type",
859
- "oneOf": ["folder", "file", "upload"],
860
- "type": "simple"
1118
+ "constraints": {
1119
+ "notEmpty": true,
1120
+ "maxLength": 255
861
1121
  },
862
- "type": "String"
1122
+ "condition": {
1123
+ "property": "resourceType",
1124
+ "equals": "folder"
1125
+ }
863
1126
  },
864
1127
  {
865
- "id": "resource.additionalGoogleDriveProperties",
866
- "label": "Additional properties or metadata",
867
- "optional": true,
868
- "feel": "required",
1128
+ "label": "Template ID",
1129
+ "description": "Enter ID of the template you are creating a file from",
869
1130
  "group": "operationDetails",
1131
+ "type": "String",
1132
+ "feel": "optional",
870
1133
  "binding": {
871
- "name": "resource.additionalGoogleDriveProperties",
872
- "type": "zeebe:input"
873
- },
874
- "condition": {
875
- "property": "resource.type",
876
- "equals": "folder",
877
- "type": "simple"
1134
+ "type": "zeebe:input",
1135
+ "name": "resource.template.id"
878
1136
  },
879
- "type": "String"
880
- },
881
- {
882
- "id": "resource.template.id",
883
- "label": "Template ID",
884
- "optional": false,
885
1137
  "constraints": {
886
1138
  "notEmpty": true
887
1139
  },
888
- "feel": "optional",
889
- "group": "operationDetails",
890
- "binding": {
891
- "name": "resource.template.id",
892
- "type": "zeebe:input"
893
- },
894
1140
  "condition": {
895
- "property": "resource.type",
896
- "equals": "file",
897
- "type": "simple"
898
- },
899
- "type": "String"
1141
+ "property": "resourceType",
1142
+ "equals": "file"
1143
+ }
900
1144
  },
901
1145
  {
902
- "id": "resource.template.variables",
903
- "label": "Template variables",
904
- "optional": false,
905
- "feel": "required",
1146
+ "label": "Parent folder ID",
1147
+ "description": "Enter ID of the parent folder where new folder will be created",
906
1148
  "group": "operationDetails",
1149
+ "type": "String",
1150
+ "feel": "optional",
1151
+ "optional": true,
907
1152
  "binding": {
908
- "name": "resource.template.variables",
909
- "type": "zeebe:input"
1153
+ "type": "zeebe:input",
1154
+ "name": "resource.parent"
910
1155
  },
911
1156
  "condition": {
912
- "property": "resource.type",
913
- "equals": "file",
914
- "type": "simple"
915
- },
916
- "type": "String"
1157
+ "property": "resourceType",
1158
+ "equals": "folder"
1159
+ }
917
1160
  },
918
1161
  {
919
- "id": "resource.downloadData.fileId",
920
- "label": "File ID",
921
- "optional": false,
922
- "constraints": {
923
- "notEmpty": true
924
- },
925
- "feel": "optional",
1162
+ "label": "Parent folder ID",
1163
+ "description": "Enter ID of the parent folder where new file will be created",
926
1164
  "group": "operationDetails",
1165
+ "type": "String",
1166
+ "feel": "optional",
1167
+ "optional": true,
927
1168
  "binding": {
928
- "name": "resource.downloadData.fileId",
929
- "type": "zeebe:input"
1169
+ "type": "zeebe:input",
1170
+ "name": "resource.parent"
930
1171
  },
931
1172
  "condition": {
932
- "property": "resource.type",
933
- "equals": "download",
934
- "type": "simple"
935
- },
936
- "type": "String"
1173
+ "property": "resourceType",
1174
+ "equals": "file"
1175
+ }
937
1176
  },
938
1177
  {
939
- "id": "resource.uploadData.document",
940
- "label": "Document",
941
- "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
942
- "optional": false,
943
- "constraints": {
944
- "notEmpty": true
945
- },
946
- "feel": "required",
1178
+ "label": "Template variables",
1179
+ "description": "Use this field to pass and update variables in your template as JSON",
947
1180
  "group": "operationDetails",
1181
+ "type": "Text",
1182
+ "feel": "required",
948
1183
  "binding": {
949
- "name": "resource.uploadData.document",
950
- "type": "zeebe:input"
1184
+ "type": "zeebe:input",
1185
+ "name": "resource.template.variables"
951
1186
  },
952
1187
  "condition": {
953
- "property": "resource.type",
954
- "equals": "upload",
955
- "type": "simple"
956
- },
957
- "type": "String"
1188
+ "property": "resourceType",
1189
+ "equals": "file"
1190
+ }
1191
+ },
1192
+ {
1193
+ "label": "Additional properties or metadata",
1194
+ "description": "Use this field to pass additional Google Drive parameters as JSON.",
1195
+ "group": "operationDetails",
1196
+ "type": "Text",
1197
+ "optional": true,
1198
+ "feel": "required",
1199
+ "binding": {
1200
+ "type": "zeebe:input",
1201
+ "name": "resource.additionalGoogleDriveProperties",
1202
+ "key": "resource.additionalGoogleDriveProperties"
1203
+ }
958
1204
  },
959
1205
  {
960
- "id": "resultVariable",
961
1206
  "label": "Result variable",
962
- "description": "Name of variable to store the response in",
1207
+ "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>",
963
1208
  "group": "output",
1209
+ "type": "String",
964
1210
  "binding": {
965
- "key": "resultVariable",
966
- "type": "zeebe:taskHeader"
967
- },
968
- "type": "String"
1211
+ "type": "zeebe:taskHeader",
1212
+ "key": "resultVariable"
1213
+ }
969
1214
  },
970
1215
  {
971
- "id": "resultExpression",
972
1216
  "label": "Result expression",
973
- "description": "Expression to map the response into process variables",
974
- "feel": "required",
1217
+ "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>",
975
1218
  "group": "output",
1219
+ "type": "Text",
1220
+ "feel": "required",
976
1221
  "binding": {
977
- "key": "resultExpression",
978
- "type": "zeebe:taskHeader"
979
- },
980
- "type": "Text"
1222
+ "type": "zeebe:taskHeader",
1223
+ "key": "resultExpression"
1224
+ }
981
1225
  },
982
1226
  {
983
- "id": "errorExpression",
984
1227
  "label": "Error expression",
985
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1228
+ "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>",
1229
+ "group": "errors",
1230
+ "type": "Text",
986
1231
  "feel": "required",
987
- "group": "error",
988
- "binding": {
989
- "key": "errorExpression",
990
- "type": "zeebe:taskHeader"
991
- },
992
- "type": "Text"
993
- },
994
- {
995
- "id": "retryCount",
996
- "label": "Retries",
997
- "description": "Number of retries",
998
- "value": "3",
999
- "feel": "optional",
1000
- "group": "retries",
1001
- "binding": {
1002
- "property": "retries",
1003
- "type": "zeebe:taskDefinition"
1004
- },
1005
- "type": "String"
1006
- },
1007
- {
1008
- "id": "retryBackoff",
1009
- "label": "Retry backoff",
1010
- "description": "ISO-8601 duration to wait between retries",
1011
- "value": "PT0S",
1012
- "group": "retries",
1013
1232
  "binding": {
1014
- "key": "retryBackoff",
1015
- "type": "zeebe:taskHeader"
1016
- },
1017
- "type": "String"
1233
+ "type": "zeebe:taskHeader",
1234
+ "key": "errorExpression"
1235
+ }
1018
1236
  }
1019
1237
  ],
1020
1238
  "icon": {
1021
- "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
1239
+ "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"
1022
1240
  }
1023
1241
  },
1024
1242
  {
1025
1243
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1026
- "name": "Google Drive connector",
1244
+ "name": "Google Drive Outbound Connector",
1027
1245
  "id": "io.camunda.connectors.GoogleDrive.v1",
1028
- "version": 1,
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
+ ],
1029
1256
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1030
- "description": "Create folder or a file from template",
1257
+ "version": 5,
1031
1258
  "category": {
1032
1259
  "id": "connectors",
1033
1260
  "name": "Connectors"
@@ -1036,6 +1263,9 @@
1036
1263
  "elementType": {
1037
1264
  "value": "bpmn:ServiceTask"
1038
1265
  },
1266
+ "engines": {
1267
+ "camunda": "^8.3"
1268
+ },
1039
1269
  "groups": [
1040
1270
  {
1041
1271
  "id": "authentication",
@@ -1049,30 +1279,46 @@
1049
1279
  "id": "operationDetails",
1050
1280
  "label": "Operation details"
1051
1281
  },
1282
+ {
1283
+ "id": "connector",
1284
+ "label": "Connector"
1285
+ },
1052
1286
  {
1053
1287
  "id": "output",
1054
1288
  "label": "Output mapping"
1055
1289
  },
1056
1290
  {
1057
- "id": "errors",
1291
+ "id": "error",
1058
1292
  "label": "Error handling"
1293
+ },
1294
+ {
1295
+ "id": "retries",
1296
+ "label": "Retries"
1059
1297
  }
1060
1298
  ],
1061
1299
  "properties": [
1062
1300
  {
1063
- "type": "Hidden",
1064
1301
  "value": "io.camunda:google-drive:1",
1065
1302
  "binding": {
1066
- "type": "zeebe:taskDefinition",
1067
- "property": "type"
1068
- }
1303
+ "property": "type",
1304
+ "type": "zeebe:taskDefinition"
1305
+ },
1306
+ "type": "Hidden"
1069
1307
  },
1070
1308
  {
1071
- "id": "authenticationType",
1309
+ "id": "authentication.authType",
1072
1310
  "label": "Type",
1311
+ "optional": false,
1312
+ "value": "refresh",
1313
+ "constraints": {
1314
+ "notEmpty": true
1315
+ },
1073
1316
  "group": "authentication",
1317
+ "binding": {
1318
+ "name": "authentication.authType",
1319
+ "type": "zeebe:input"
1320
+ },
1074
1321
  "type": "Dropdown",
1075
- "value": "bearer",
1076
1322
  "choices": [
1077
1323
  {
1078
1324
  "name": "Bearer token",
@@ -1082,86 +1328,106 @@
1082
1328
  "name": "Refresh token",
1083
1329
  "value": "refresh"
1084
1330
  }
1085
- ],
1086
- "binding": {
1087
- "type": "zeebe:input",
1088
- "name": "authentication.authType",
1089
- "key": "authentication.authType"
1090
- }
1331
+ ]
1091
1332
  },
1092
1333
  {
1334
+ "id": "authentication.bearerToken",
1093
1335
  "label": "Bearer token",
1094
- "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
1095
- "group": "authentication",
1096
- "type": "String",
1097
- "binding": {
1098
- "type": "zeebe:input",
1099
- "name": "authentication.bearerToken"
1100
- },
1336
+ "description": "Enter a valid Google API Bearer token",
1337
+ "optional": false,
1101
1338
  "constraints": {
1102
1339
  "notEmpty": true
1103
1340
  },
1341
+ "feel": "optional",
1342
+ "group": "authentication",
1343
+ "binding": {
1344
+ "name": "authentication.bearerToken",
1345
+ "type": "zeebe:input"
1346
+ },
1104
1347
  "condition": {
1105
- "property": "authenticationType",
1106
- "equals": "bearer"
1107
- }
1348
+ "property": "authentication.authType",
1349
+ "equals": "bearer",
1350
+ "type": "simple"
1351
+ },
1352
+ "type": "String"
1108
1353
  },
1109
1354
  {
1355
+ "id": "authentication.oauthClientId",
1110
1356
  "label": "Client ID",
1111
1357
  "description": "Enter Google API Client ID",
1112
- "group": "authentication",
1113
- "type": "String",
1114
- "binding": {
1115
- "type": "zeebe:input",
1116
- "name": "authentication.oauthClientId"
1117
- },
1358
+ "optional": false,
1118
1359
  "constraints": {
1119
1360
  "notEmpty": true
1120
1361
  },
1362
+ "feel": "optional",
1363
+ "group": "authentication",
1364
+ "binding": {
1365
+ "name": "authentication.oauthClientId",
1366
+ "type": "zeebe:input"
1367
+ },
1121
1368
  "condition": {
1122
- "property": "authenticationType",
1123
- "equals": "refresh"
1124
- }
1369
+ "property": "authentication.authType",
1370
+ "equals": "refresh",
1371
+ "type": "simple"
1372
+ },
1373
+ "type": "String"
1125
1374
  },
1126
1375
  {
1376
+ "id": "authentication.oauthClientSecret",
1127
1377
  "label": "Client secret",
1128
1378
  "description": "Enter Google API client Secret",
1129
- "group": "authentication",
1130
- "type": "String",
1131
- "binding": {
1132
- "type": "zeebe:input",
1133
- "name": "authentication.oauthClientSecret"
1134
- },
1379
+ "optional": false,
1135
1380
  "constraints": {
1136
1381
  "notEmpty": true
1137
1382
  },
1138
- "condition": {
1139
- "property": "authenticationType",
1140
- "equals": "refresh"
1141
- }
1142
- },
1143
- {
1144
- "label": "Refresh token",
1145
- "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
1383
+ "feel": "optional",
1146
1384
  "group": "authentication",
1147
- "type": "String",
1148
1385
  "binding": {
1149
- "type": "zeebe:input",
1150
- "name": "authentication.oauthRefreshToken"
1386
+ "name": "authentication.oauthClientSecret",
1387
+ "type": "zeebe:input"
1388
+ },
1389
+ "condition": {
1390
+ "property": "authentication.authType",
1391
+ "equals": "refresh",
1392
+ "type": "simple"
1151
1393
  },
1394
+ "type": "String"
1395
+ },
1396
+ {
1397
+ "id": "authentication.oauthRefreshToken",
1398
+ "label": "Refresh token",
1399
+ "description": "Enter a valid Google API refresh token",
1400
+ "optional": false,
1152
1401
  "constraints": {
1153
1402
  "notEmpty": true
1154
1403
  },
1404
+ "feel": "optional",
1405
+ "group": "authentication",
1406
+ "binding": {
1407
+ "name": "authentication.oauthRefreshToken",
1408
+ "type": "zeebe:input"
1409
+ },
1155
1410
  "condition": {
1156
- "property": "authenticationType",
1157
- "equals": "refresh"
1158
- }
1411
+ "property": "authentication.authType",
1412
+ "equals": "refresh",
1413
+ "type": "simple"
1414
+ },
1415
+ "type": "String"
1159
1416
  },
1160
1417
  {
1161
- "id": "resourceType",
1418
+ "id": "resource.type",
1419
+ "label": "Operation",
1420
+ "optional": false,
1421
+ "value": "folder",
1422
+ "constraints": {
1423
+ "notEmpty": true
1424
+ },
1162
1425
  "group": "operation",
1426
+ "binding": {
1427
+ "name": "resource.type",
1428
+ "type": "zeebe:input"
1429
+ },
1163
1430
  "type": "Dropdown",
1164
- "value": "folder",
1165
1431
  "choices": [
1166
1432
  {
1167
1433
  "name": "Create folder",
@@ -1170,177 +1436,249 @@
1170
1436
  {
1171
1437
  "name": "Create file from template",
1172
1438
  "value": "file"
1439
+ },
1440
+ {
1441
+ "name": "Upload file",
1442
+ "value": "upload"
1443
+ },
1444
+ {
1445
+ "name": "Download file",
1446
+ "value": "download"
1173
1447
  }
1174
- ],
1175
- "binding": {
1176
- "type": "zeebe:input",
1177
- "name": "resource.type",
1178
- "key": "resource.type"
1179
- }
1448
+ ]
1180
1449
  },
1181
1450
  {
1182
- "label": "File name",
1183
- "description": "Enter name for your file",
1184
- "group": "operationDetails",
1185
- "type": "String",
1451
+ "id": "resource.name",
1452
+ "label": "New resource name",
1453
+ "optional": false,
1454
+ "constraints": {
1455
+ "notEmpty": true
1456
+ },
1186
1457
  "feel": "optional",
1458
+ "group": "operationDetails",
1187
1459
  "binding": {
1188
- "type": "zeebe:input",
1189
- "name": "resource.name"
1190
- },
1191
- "constraints": {
1192
- "notEmpty": true,
1193
- "maxLength": 255
1460
+ "name": "resource.name",
1461
+ "type": "zeebe:input"
1194
1462
  },
1195
1463
  "condition": {
1196
- "property": "resourceType",
1197
- "equals": "file"
1198
- }
1464
+ "property": "resource.type",
1465
+ "oneOf": ["folder", "file"],
1466
+ "type": "simple"
1467
+ },
1468
+ "type": "String"
1199
1469
  },
1200
1470
  {
1201
- "label": "Folder name",
1202
- "description": "Enter name for your folder",
1203
- "group": "operationDetails",
1204
- "type": "String",
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,
1205
1475
  "feel": "optional",
1476
+ "group": "operationDetails",
1206
1477
  "binding": {
1207
- "type": "zeebe:input",
1208
- "name": "resource.name"
1209
- },
1210
- "constraints": {
1211
- "notEmpty": true,
1212
- "maxLength": 255
1478
+ "name": "resource.parent",
1479
+ "type": "zeebe:input"
1213
1480
  },
1214
1481
  "condition": {
1215
- "property": "resourceType",
1216
- "equals": "folder"
1217
- }
1482
+ "property": "resource.type",
1483
+ "oneOf": ["folder", "file", "upload"],
1484
+ "type": "simple"
1485
+ },
1486
+ "type": "String"
1218
1487
  },
1219
1488
  {
1220
- "label": "Template ID",
1221
- "description": "Enter ID of the template you are creating a file from",
1489
+ "id": "resource.additionalGoogleDriveProperties",
1490
+ "label": "Additional properties or metadata",
1491
+ "optional": true,
1492
+ "feel": "required",
1222
1493
  "group": "operationDetails",
1223
- "type": "String",
1224
- "feel": "optional",
1225
1494
  "binding": {
1226
- "type": "zeebe:input",
1227
- "name": "resource.template.id"
1495
+ "name": "resource.additionalGoogleDriveProperties",
1496
+ "type": "zeebe:input"
1497
+ },
1498
+ "condition": {
1499
+ "property": "resource.type",
1500
+ "equals": "folder",
1501
+ "type": "simple"
1228
1502
  },
1503
+ "type": "String"
1504
+ },
1505
+ {
1506
+ "id": "resource.template.id",
1507
+ "label": "Template ID",
1508
+ "optional": false,
1229
1509
  "constraints": {
1230
1510
  "notEmpty": true
1231
1511
  },
1512
+ "feel": "optional",
1513
+ "group": "operationDetails",
1514
+ "binding": {
1515
+ "name": "resource.template.id",
1516
+ "type": "zeebe:input"
1517
+ },
1232
1518
  "condition": {
1233
- "property": "resourceType",
1234
- "equals": "file"
1235
- }
1519
+ "property": "resource.type",
1520
+ "equals": "file",
1521
+ "type": "simple"
1522
+ },
1523
+ "type": "String"
1236
1524
  },
1237
1525
  {
1238
- "label": "Parent folder ID",
1239
- "description": "Enter ID of the parent folder where new folder will be created",
1526
+ "id": "resource.template.variables",
1527
+ "label": "Template variables",
1528
+ "optional": false,
1529
+ "feel": "required",
1240
1530
  "group": "operationDetails",
1241
- "type": "String",
1242
- "feel": "optional",
1243
- "optional": true,
1244
1531
  "binding": {
1245
- "type": "zeebe:input",
1246
- "name": "resource.parent"
1532
+ "name": "resource.template.variables",
1533
+ "type": "zeebe:input"
1247
1534
  },
1248
1535
  "condition": {
1249
- "property": "resourceType",
1250
- "equals": "folder"
1251
- }
1536
+ "property": "resource.type",
1537
+ "equals": "file",
1538
+ "type": "simple"
1539
+ },
1540
+ "type": "String"
1252
1541
  },
1253
1542
  {
1254
- "label": "Parent folder ID",
1255
- "description": "Enter ID of the parent folder where new file will be created",
1256
- "group": "operationDetails",
1257
- "type": "String",
1543
+ "id": "resource.downloadData.fileId",
1544
+ "label": "File ID",
1545
+ "optional": false,
1546
+ "constraints": {
1547
+ "notEmpty": true
1548
+ },
1258
1549
  "feel": "optional",
1259
- "optional": true,
1550
+ "group": "operationDetails",
1260
1551
  "binding": {
1261
- "type": "zeebe:input",
1262
- "name": "resource.parent"
1552
+ "name": "resource.downloadData.fileId",
1553
+ "type": "zeebe:input"
1263
1554
  },
1264
1555
  "condition": {
1265
- "property": "resourceType",
1266
- "equals": "file"
1267
- }
1556
+ "property": "resource.type",
1557
+ "equals": "download",
1558
+ "type": "simple"
1559
+ },
1560
+ "type": "String"
1268
1561
  },
1269
1562
  {
1270
- "label": "Template variables",
1271
- "description": "Use this field to pass and update variables in your template as JSON",
1272
- "group": "operationDetails",
1273
- "type": "Text",
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
+ },
1274
1570
  "feel": "required",
1571
+ "group": "operationDetails",
1275
1572
  "binding": {
1276
- "type": "zeebe:input",
1277
- "name": "resource.template.variables"
1573
+ "name": "resource.uploadData.document",
1574
+ "type": "zeebe:input"
1278
1575
  },
1279
1576
  "condition": {
1280
- "property": "resourceType",
1281
- "equals": "file"
1282
- }
1577
+ "property": "resource.type",
1578
+ "equals": "upload",
1579
+ "type": "simple"
1580
+ },
1581
+ "type": "String"
1283
1582
  },
1284
1583
  {
1285
- "label": "Additional properties or metadata",
1286
- "description": "Use this field to pass additional Google Drive parameters as JSON.",
1287
- "group": "operationDetails",
1288
- "type": "Text",
1289
- "optional": true,
1290
- "feel": "required",
1584
+ "id": "version",
1585
+ "label": "Version",
1586
+ "description": "Version of the element template",
1587
+ "value": "5",
1588
+ "group": "connector",
1291
1589
  "binding": {
1292
- "type": "zeebe:input",
1293
- "name": "resource.additionalGoogleDriveProperties",
1294
- "key": "resource.additionalGoogleDriveProperties"
1295
- }
1590
+ "key": "elementTemplateVersion",
1591
+ "type": "zeebe:taskHeader"
1592
+ },
1593
+ "type": "Hidden"
1296
1594
  },
1297
1595
  {
1298
- "label": "Result variable",
1299
- "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>",
1300
- "group": "output",
1301
- "type": "String",
1596
+ "id": "id",
1597
+ "label": "ID",
1598
+ "description": "ID of the element template",
1599
+ "value": "io.camunda.connectors.GoogleDrive.v1",
1600
+ "group": "connector",
1302
1601
  "binding": {
1303
- "type": "zeebe:taskHeader",
1304
- "key": "resultVariable"
1305
- }
1602
+ "key": "elementTemplateId",
1603
+ "type": "zeebe:taskHeader"
1604
+ },
1605
+ "type": "Hidden"
1306
1606
  },
1307
1607
  {
1308
- "label": "Result expression",
1309
- "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>",
1608
+ "id": "resultVariable",
1609
+ "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>.",
1310
1611
  "group": "output",
1311
- "type": "Text",
1612
+ "binding": {
1613
+ "key": "resultVariable",
1614
+ "type": "zeebe:taskHeader"
1615
+ },
1616
+ "type": "String"
1617
+ },
1618
+ {
1619
+ "id": "resultExpression",
1620
+ "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>.",
1312
1622
  "feel": "required",
1623
+ "group": "output",
1313
1624
  "binding": {
1314
- "type": "zeebe:taskHeader",
1315
- "key": "resultExpression"
1316
- }
1625
+ "key": "resultExpression",
1626
+ "type": "zeebe:taskHeader"
1627
+ },
1628
+ "type": "Text"
1317
1629
  },
1318
1630
  {
1631
+ "id": "errorExpression",
1319
1632
  "label": "Error expression",
1320
- "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>",
1321
- "group": "errors",
1322
- "type": "Text",
1633
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1323
1634
  "feel": "required",
1635
+ "group": "error",
1324
1636
  "binding": {
1325
- "type": "zeebe:taskHeader",
1326
- "key": "errorExpression"
1327
- }
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"
1328
1666
  }
1329
1667
  ],
1330
1668
  "icon": {
1331
- "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"
1332
- },
1333
- "engines": {
1334
- "camunda": "^8.2"
1669
+ "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
1335
1670
  }
1336
1671
  },
1337
1672
  {
1338
1673
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1339
1674
  "name": "Google Drive Outbound Connector",
1340
1675
  "id": "io.camunda.connectors.GoogleDrive.v1",
1341
- "description": "Create folder or a file from template",
1676
+ "description": "Manage Google Drive files and folders",
1677
+ "metadata": {
1678
+ "keywords": ["create file", "create file from template", "create folder"]
1679
+ },
1342
1680
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1343
- "version": 3,
1681
+ "version": 4,
1344
1682
  "category": {
1345
1683
  "id": "connectors",
1346
1684
  "name": "Connectors"
@@ -1349,6 +1687,9 @@
1349
1687
  "elementType": {
1350
1688
  "value": "bpmn:ServiceTask"
1351
1689
  },
1690
+ "engines": {
1691
+ "camunda": "^8.3"
1692
+ },
1352
1693
  "groups": [
1353
1694
  {
1354
1695
  "id": "authentication",
@@ -1515,6 +1856,14 @@
1515
1856
  {
1516
1857
  "name": "Create file from template",
1517
1858
  "value": "file"
1859
+ },
1860
+ {
1861
+ "name": "Upload file",
1862
+ "value": "upload"
1863
+ },
1864
+ {
1865
+ "name": "Download file",
1866
+ "value": "download"
1518
1867
  }
1519
1868
  ]
1520
1869
  },
@@ -1531,6 +1880,11 @@
1531
1880
  "name": "resource.name",
1532
1881
  "type": "zeebe:input"
1533
1882
  },
1883
+ "condition": {
1884
+ "property": "resource.type",
1885
+ "oneOf": ["folder", "file"],
1886
+ "type": "simple"
1887
+ },
1534
1888
  "type": "String"
1535
1889
  },
1536
1890
  {
@@ -1544,6 +1898,11 @@
1544
1898
  "name": "resource.parent",
1545
1899
  "type": "zeebe:input"
1546
1900
  },
1901
+ "condition": {
1902
+ "property": "resource.type",
1903
+ "oneOf": ["folder", "file", "upload"],
1904
+ "type": "simple"
1905
+ },
1547
1906
  "type": "String"
1548
1907
  },
1549
1908
  {
@@ -1600,6 +1959,47 @@
1600
1959
  },
1601
1960
  "type": "String"
1602
1961
  },
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
+ },
1603
2003
  {
1604
2004
  "id": "resultVariable",
1605
2005
  "label": "Result variable",
@@ -1653,7 +2053,6 @@
1653
2053
  "label": "Retry backoff",
1654
2054
  "description": "ISO-8601 duration to wait between retries",
1655
2055
  "value": "PT0S",
1656
- "feel": "optional",
1657
2056
  "group": "retries",
1658
2057
  "binding": {
1659
2058
  "key": "retryBackoff",
@@ -1664,21 +2063,15 @@
1664
2063
  ],
1665
2064
  "icon": {
1666
2065
  "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
1667
- },
1668
- "engines": {
1669
- "camunda": "^8.5"
1670
2066
  }
1671
2067
  },
1672
2068
  {
1673
2069
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1674
2070
  "name": "Google Drive Outbound Connector",
1675
2071
  "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
- },
2072
+ "description": "Create folder or a file from template",
1680
2073
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1681
- "version": 5,
2074
+ "version": 3,
1682
2075
  "category": {
1683
2076
  "id": "connectors",
1684
2077
  "name": "Connectors"
@@ -1687,9 +2080,6 @@
1687
2080
  "elementType": {
1688
2081
  "value": "bpmn:ServiceTask"
1689
2082
  },
1690
- "engines": {
1691
- "camunda": "^8.3"
1692
- },
1693
2083
  "groups": [
1694
2084
  {
1695
2085
  "id": "authentication",
@@ -1703,10 +2093,6 @@
1703
2093
  "id": "operationDetails",
1704
2094
  "label": "Operation details"
1705
2095
  },
1706
- {
1707
- "id": "connector",
1708
- "label": "Connector"
1709
- },
1710
2096
  {
1711
2097
  "id": "output",
1712
2098
  "label": "Output mapping"
@@ -1860,14 +2246,6 @@
1860
2246
  {
1861
2247
  "name": "Create file from template",
1862
2248
  "value": "file"
1863
- },
1864
- {
1865
- "name": "Upload file",
1866
- "value": "upload"
1867
- },
1868
- {
1869
- "name": "Download file",
1870
- "value": "download"
1871
2249
  }
1872
2250
  ]
1873
2251
  },
@@ -1884,11 +2262,6 @@
1884
2262
  "name": "resource.name",
1885
2263
  "type": "zeebe:input"
1886
2264
  },
1887
- "condition": {
1888
- "property": "resource.type",
1889
- "oneOf": ["folder", "file"],
1890
- "type": "simple"
1891
- },
1892
2265
  "type": "String"
1893
2266
  },
1894
2267
  {
@@ -1902,11 +2275,6 @@
1902
2275
  "name": "resource.parent",
1903
2276
  "type": "zeebe:input"
1904
2277
  },
1905
- "condition": {
1906
- "property": "resource.type",
1907
- "oneOf": ["folder", "file", "upload"],
1908
- "type": "simple"
1909
- },
1910
2278
  "type": "String"
1911
2279
  },
1912
2280
  {
@@ -1963,71 +2331,6 @@
1963
2331
  },
1964
2332
  "type": "String"
1965
2333
  },
1966
- {
1967
- "id": "resource.downloadData.fileId",
1968
- "label": "File ID",
1969
- "optional": false,
1970
- "constraints": {
1971
- "notEmpty": true
1972
- },
1973
- "feel": "optional",
1974
- "group": "operationDetails",
1975
- "binding": {
1976
- "name": "resource.downloadData.fileId",
1977
- "type": "zeebe:input"
1978
- },
1979
- "condition": {
1980
- "property": "resource.type",
1981
- "equals": "download",
1982
- "type": "simple"
1983
- },
1984
- "type": "String"
1985
- },
1986
- {
1987
- "id": "resource.uploadData.document",
1988
- "label": "Document",
1989
- "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
1990
- "optional": false,
1991
- "constraints": {
1992
- "notEmpty": true
1993
- },
1994
- "feel": "required",
1995
- "group": "operationDetails",
1996
- "binding": {
1997
- "name": "resource.uploadData.document",
1998
- "type": "zeebe:input"
1999
- },
2000
- "condition": {
2001
- "property": "resource.type",
2002
- "equals": "upload",
2003
- "type": "simple"
2004
- },
2005
- "type": "String"
2006
- },
2007
- {
2008
- "id": "version",
2009
- "label": "Version",
2010
- "description": "Version of the element template",
2011
- "value": "5",
2012
- "group": "connector",
2013
- "binding": {
2014
- "key": "elementTemplateVersion",
2015
- "type": "zeebe:taskHeader"
2016
- },
2017
- "type": "Hidden"
2018
- },
2019
- {
2020
- "id": "id",
2021
- "label": "ID",
2022
- "description": "ID of the element template",
2023
- "value": "io.camunda.connectors.GoogleDrive.v1",
2024
- "group": "connector",
2025
- "binding": {
2026
- "key": "elementTemplateId",
2027
- "type": "zeebe:taskHeader"
2028
- },
2029
- "type": "Hidden"
2030
- },
2031
2334
  {
2032
2335
  "id": "resultVariable",
2033
2336
  "label": "Result variable",
@@ -2081,6 +2384,7 @@
2081
2384
  "label": "Retry backoff",
2082
2385
  "description": "ISO-8601 duration to wait between retries",
2083
2386
  "value": "PT0S",
2387
+ "feel": "optional",
2084
2388
  "group": "retries",
2085
2389
  "binding": {
2086
2390
  "key": "retryBackoff",
@@ -2091,6 +2395,322 @@
2091
2395
  ],
2092
2396
  "icon": {
2093
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
+ },
2427
+ {
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",
2444
+ "binding": {
2445
+ "type": "zeebe:taskDefinition",
2446
+ "property": "type"
2447
+ }
2448
+ },
2449
+ {
2450
+ "id": "authenticationType",
2451
+ "label": "Type",
2452
+ "group": "authentication",
2453
+ "type": "Dropdown",
2454
+ "value": "bearer",
2455
+ "choices": [
2456
+ {
2457
+ "name": "Bearer token",
2458
+ "value": "bearer"
2459
+ },
2460
+ {
2461
+ "name": "Refresh token",
2462
+ "value": "refresh"
2463
+ }
2464
+ ],
2465
+ "binding": {
2466
+ "type": "zeebe:input",
2467
+ "name": "authentication.authType",
2468
+ "key": "authentication.authType"
2469
+ }
2470
+ },
2471
+ {
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
+ },
2480
+ "constraints": {
2481
+ "notEmpty": true
2482
+ },
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",
2493
+ "binding": {
2494
+ "type": "zeebe:input",
2495
+ "name": "authentication.oauthClientId"
2496
+ },
2497
+ "constraints": {
2498
+ "notEmpty": true
2499
+ },
2500
+ "condition": {
2501
+ "property": "authenticationType",
2502
+ "equals": "refresh"
2503
+ }
2504
+ },
2505
+ {
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
+ },
2514
+ "constraints": {
2515
+ "notEmpty": true
2516
+ },
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",
2527
+ "binding": {
2528
+ "type": "zeebe:input",
2529
+ "name": "authentication.oauthRefreshToken"
2530
+ },
2531
+ "constraints": {
2532
+ "notEmpty": true
2533
+ },
2534
+ "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
+ }
2559
+ },
2560
+ {
2561
+ "label": "File name",
2562
+ "description": "Enter name for your file",
2563
+ "group": "operationDetails",
2564
+ "type": "String",
2565
+ "feel": "optional",
2566
+ "binding": {
2567
+ "type": "zeebe:input",
2568
+ "name": "resource.name"
2569
+ },
2570
+ "constraints": {
2571
+ "notEmpty": true,
2572
+ "maxLength": 255
2573
+ },
2574
+ "condition": {
2575
+ "property": "resourceType",
2576
+ "equals": "file"
2577
+ }
2578
+ },
2579
+ {
2580
+ "label": "Folder name",
2581
+ "description": "Enter name for your folder",
2582
+ "group": "operationDetails",
2583
+ "type": "String",
2584
+ "feel": "optional",
2585
+ "binding": {
2586
+ "type": "zeebe:input",
2587
+ "name": "resource.name"
2588
+ },
2589
+ "constraints": {
2590
+ "notEmpty": true,
2591
+ "maxLength": 255
2592
+ },
2593
+ "condition": {
2594
+ "property": "resourceType",
2595
+ "equals": "folder"
2596
+ }
2597
+ },
2598
+ {
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
+ },
2608
+ "constraints": {
2609
+ "notEmpty": true
2610
+ },
2611
+ "condition": {
2612
+ "property": "resourceType",
2613
+ "equals": "file"
2614
+ }
2615
+ },
2616
+ {
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",
2621
+ "feel": "optional",
2622
+ "optional": true,
2623
+ "binding": {
2624
+ "type": "zeebe:input",
2625
+ "name": "resource.parent"
2626
+ },
2627
+ "condition": {
2628
+ "property": "resourceType",
2629
+ "equals": "folder"
2630
+ }
2631
+ },
2632
+ {
2633
+ "label": "Parent folder ID",
2634
+ "description": "Enter ID of the parent folder where new file will be created",
2635
+ "group": "operationDetails",
2636
+ "type": "String",
2637
+ "feel": "optional",
2638
+ "optional": true,
2639
+ "binding": {
2640
+ "type": "zeebe:input",
2641
+ "name": "resource.parent"
2642
+ },
2643
+ "condition": {
2644
+ "property": "resourceType",
2645
+ "equals": "file"
2646
+ }
2647
+ },
2648
+ {
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",
2654
+ "binding": {
2655
+ "type": "zeebe:input",
2656
+ "name": "resource.template.variables"
2657
+ },
2658
+ "condition": {
2659
+ "property": "resourceType",
2660
+ "equals": "file"
2661
+ }
2662
+ },
2663
+ {
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",
2670
+ "binding": {
2671
+ "type": "zeebe:input",
2672
+ "name": "resource.additionalGoogleDriveProperties",
2673
+ "key": "resource.additionalGoogleDriveProperties"
2674
+ }
2675
+ },
2676
+ {
2677
+ "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>",
2679
+ "group": "output",
2680
+ "type": "String",
2681
+ "binding": {
2682
+ "type": "zeebe:taskHeader",
2683
+ "key": "resultVariable"
2684
+ }
2685
+ },
2686
+ {
2687
+ "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",
2691
+ "feel": "required",
2692
+ "binding": {
2693
+ "type": "zeebe:taskHeader",
2694
+ "key": "resultExpression"
2695
+ }
2696
+ },
2697
+ {
2698
+ "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",
2702
+ "feel": "required",
2703
+ "binding": {
2704
+ "type": "zeebe:taskHeader",
2705
+ "key": "errorExpression"
2706
+ }
2707
+ }
2708
+ ],
2709
+ "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"
2094
2714
  }
2095
2715
  }
2096
2716
  ]