@camunda/connectors-element-templates 1.0.17 → 1.0.19

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 +4 -7
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +8 -8
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +8 -8
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +8 -8
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +8 -8
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +9 -12
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +3770 -29
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6274 -2594
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +549 -552
  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 +736 -739
  14. package/src/element-templates/asana-connector.json +759 -48
  15. package/src/element-templates/automation-anywhere-outbound-connector.json +1763 -1759
  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 +747 -10
  21. package/src/element-templates/aws-comprehend-outbound-connector.json +10 -5
  22. package/src/element-templates/aws-dynamodb-outbound-connector.json +1358 -1358
  23. package/src/element-templates/aws-eventbridge-connector-boundary.json +383 -18
  24. package/src/element-templates/aws-eventbridge-connector-intermediate.json +377 -12
  25. package/src/element-templates/aws-eventbridge-connector-message-start.json +407 -8
  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 +238 -234
  30. package/src/element-templates/aws-s3-outbound-connector.json +646 -5
  31. package/src/element-templates/aws-sagemaker-outbound-connector.json +13 -9
  32. package/src/element-templates/aws-sns-inbound-boundary.json +44 -37
  33. package/src/element-templates/aws-sns-inbound-intermediate.json +210 -203
  34. package/src/element-templates/aws-sns-inbound-message-start.json +125 -118
  35. package/src/element-templates/aws-sns-inbound-receive.json +13 -6
  36. package/src/element-templates/aws-sns-inbound-start-event.json +134 -127
  37. package/src/element-templates/aws-sns-outbound-connector.json +581 -577
  38. package/src/element-templates/aws-sqs-boundary-connector.json +453 -449
  39. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +530 -526
  40. package/src/element-templates/aws-sqs-outbound-connector.json +711 -709
  41. package/src/element-templates/aws-sqs-receive-connector.json +15 -11
  42. package/src/element-templates/aws-sqs-start-event-connector.json +213 -205
  43. package/src/element-templates/aws-sqs-start-message.json +461 -457
  44. package/src/element-templates/aws-textract-outbound-connector.json +109 -105
  45. package/src/element-templates/azure-blobstorage-outbound-connector.json +676 -19
  46. package/src/element-templates/azure-open-ai-connector.json +1329 -4
  47. package/src/element-templates/blue-prism-connector.json +569 -24
  48. package/src/element-templates/box-outbound-connector.json +924 -12
  49. package/src/element-templates/csv-outbound-connector.json +13 -5
  50. package/src/element-templates/easy-post-connector.json +1077 -109
  51. package/src/element-templates/email-inbound-connector-boundary.json +32 -24
  52. package/src/element-templates/email-inbound-connector-intermediate.json +32 -24
  53. package/src/element-templates/email-inbound-connector-receive.json +564 -0
  54. package/src/element-templates/email-message-start-event-connector.json +58 -50
  55. package/src/element-templates/email-outbound-connector.json +2116 -243
  56. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3 -6
  57. package/src/element-templates/github-connector.json +15257 -11722
  58. package/src/element-templates/github-webhook-connector-boundary.json +27 -29
  59. package/src/element-templates/github-webhook-connector-intermediate.json +36 -38
  60. package/src/element-templates/github-webhook-connector-message-start.json +11 -13
  61. package/src/element-templates/github-webhook-connector-receive.json +13 -15
  62. package/src/element-templates/github-webhook-connector-start-event.json +54 -56
  63. package/src/element-templates/gitlab-connector.json +4177 -2545
  64. package/src/element-templates/google-cloud-storage-outbound-connector.json +562 -13
  65. package/src/element-templates/google-drive-outbound-connector.json +1386 -766
  66. package/src/element-templates/google-gemini-outbound-connector.json +13 -5
  67. package/src/element-templates/google-maps-platform-connector.json +1059 -30
  68. package/src/element-templates/google-sheets-outbound-connector.json +2449 -1455
  69. package/src/element-templates/graphql-outbound-connector.json +1744 -1735
  70. package/src/element-templates/http-json-connector.json +2982 -2332
  71. package/src/element-templates/http-polling-boundary-catch-event-connector.json +752 -741
  72. package/src/element-templates/http-polling-connector.json +1512 -1501
  73. package/src/element-templates/hubspot-outbound-connector.json +2371 -25
  74. package/src/element-templates/hugging-face-connector.json +234 -3
  75. package/src/element-templates/jdbc-outbound-connector.json +20 -6
  76. package/src/element-templates/kafka-inbound-connector-boundary.json +613 -604
  77. package/src/element-templates/kafka-inbound-connector-intermediate.json +528 -519
  78. package/src/element-templates/kafka-inbound-connector-receive.json +15 -6
  79. package/src/element-templates/kafka-inbound-connector-start-message.json +530 -521
  80. package/src/element-templates/kafka-inbound-connector.json +240 -240
  81. package/src/element-templates/kafka-outbound-connector.json +518 -512
  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 +893 -10
  86. package/src/element-templates/microsoft-teams-outbound-connector.json +5971 -3807
  87. package/src/element-templates/openai-connector.json +550 -87
  88. package/src/element-templates/operate-connector.json +1198 -46
  89. package/src/element-templates/power-automate-connector.json +601 -9
  90. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +444 -435
  91. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +484 -475
  92. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +367 -358
  93. package/src/element-templates/rabbitmq-inbound-connector-receive.json +15 -6
  94. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +479 -470
  95. package/src/element-templates/rabbitmq-outbound-connector.json +356 -350
  96. package/src/element-templates/rpa-connector.json +346 -0
  97. package/src/element-templates/salesforce-connector.json +544 -0
  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 +945 -337
  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 +490 -192
  106. package/src/element-templates/slack-inbound-intermediate.json +421 -123
  107. package/src/element-templates/slack-inbound-message-start.json +469 -139
  108. package/src/element-templates/slack-inbound-receive.json +297 -0
  109. package/src/element-templates/slack-inbound-start-event.json +216 -211
  110. package/src/element-templates/slack-outbound-connector.json +2451 -753
  111. package/src/element-templates/soap-outbound-connector.json +812 -2
  112. package/src/element-templates/twilio-connector.json +1573 -93
  113. package/src/element-templates/twilio-webhook-boundary-connector.json +19 -10
  114. package/src/element-templates/twilio-webhook-connector.json +243 -13
  115. package/src/element-templates/twilio-webhook-intermediate-connector.json +34 -25
  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 +594 -2
  119. package/src/element-templates/webhook-connector-boundary.json +580 -570
  120. package/src/element-templates/webhook-connector-intermediate.json +1390 -1380
  121. package/src/element-templates/webhook-connector-receive.json +16 -6
  122. package/src/element-templates/webhook-connector-start-event.json +1382 -1375
  123. package/src/element-templates/webhook-connector-start-message.json +1306 -1296
  124. package/src/element-templates/whatsapp-connector.json +343 -9
  125. package/src/element-templates/http-connector.json.json +0 -654
@@ -1,14 +1,11 @@
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
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
7
6
  "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
- },
7
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
8
+ "version": 3,
12
9
  "category": {
13
10
  "id": "connectors",
14
11
  "name": "Connectors"
@@ -35,25 +32,37 @@
35
32
  "label": "Output mapping"
36
33
  },
37
34
  {
38
- "id": "errors",
35
+ "id": "error",
39
36
  "label": "Error handling"
37
+ },
38
+ {
39
+ "id": "retries",
40
+ "label": "Retries"
40
41
  }
41
42
  ],
42
43
  "properties": [
43
44
  {
44
- "type": "Hidden",
45
45
  "value": "io.camunda:google-drive:1",
46
46
  "binding": {
47
- "type": "zeebe:taskDefinition",
48
- "property": "type"
49
- }
47
+ "property": "type",
48
+ "type": "zeebe:taskDefinition"
49
+ },
50
+ "type": "Hidden"
50
51
  },
51
52
  {
52
- "id": "authenticationType",
53
+ "id": "authentication.authType",
53
54
  "label": "Type",
55
+ "optional": false,
56
+ "value": "refresh",
57
+ "constraints": {
58
+ "notEmpty": true
59
+ },
54
60
  "group": "authentication",
61
+ "binding": {
62
+ "name": "authentication.authType",
63
+ "type": "zeebe:input"
64
+ },
55
65
  "type": "Dropdown",
56
- "value": "bearer",
57
66
  "choices": [
58
67
  {
59
68
  "name": "Bearer token",
@@ -63,86 +72,106 @@
63
72
  "name": "Refresh token",
64
73
  "value": "refresh"
65
74
  }
66
- ],
67
- "binding": {
68
- "type": "zeebe:input",
69
- "name": "authentication.authType",
70
- "key": "authentication.authType"
71
- }
75
+ ]
72
76
  },
73
77
  {
78
+ "id": "authentication.bearerToken",
74
79
  "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
- },
80
+ "description": "Enter a valid Google API Bearer token",
81
+ "optional": false,
82
82
  "constraints": {
83
83
  "notEmpty": true
84
84
  },
85
+ "feel": "optional",
86
+ "group": "authentication",
87
+ "binding": {
88
+ "name": "authentication.bearerToken",
89
+ "type": "zeebe:input"
90
+ },
85
91
  "condition": {
86
- "property": "authenticationType",
87
- "equals": "bearer"
88
- }
92
+ "property": "authentication.authType",
93
+ "equals": "bearer",
94
+ "type": "simple"
95
+ },
96
+ "type": "String"
89
97
  },
90
98
  {
99
+ "id": "authentication.oauthClientId",
91
100
  "label": "Client ID",
92
101
  "description": "Enter Google API Client ID",
93
- "group": "authentication",
94
- "type": "String",
95
- "binding": {
96
- "type": "zeebe:input",
97
- "name": "authentication.oauthClientId"
98
- },
102
+ "optional": false,
99
103
  "constraints": {
100
104
  "notEmpty": true
101
105
  },
106
+ "feel": "optional",
107
+ "group": "authentication",
108
+ "binding": {
109
+ "name": "authentication.oauthClientId",
110
+ "type": "zeebe:input"
111
+ },
102
112
  "condition": {
103
- "property": "authenticationType",
104
- "equals": "refresh"
105
- }
113
+ "property": "authentication.authType",
114
+ "equals": "refresh",
115
+ "type": "simple"
116
+ },
117
+ "type": "String"
106
118
  },
107
119
  {
120
+ "id": "authentication.oauthClientSecret",
108
121
  "label": "Client secret",
109
122
  "description": "Enter Google API client Secret",
110
- "group": "authentication",
111
- "type": "String",
112
- "binding": {
113
- "type": "zeebe:input",
114
- "name": "authentication.oauthClientSecret"
115
- },
123
+ "optional": false,
116
124
  "constraints": {
117
125
  "notEmpty": true
118
126
  },
127
+ "feel": "optional",
128
+ "group": "authentication",
129
+ "binding": {
130
+ "name": "authentication.oauthClientSecret",
131
+ "type": "zeebe:input"
132
+ },
119
133
  "condition": {
120
- "property": "authenticationType",
121
- "equals": "refresh"
122
- }
134
+ "property": "authentication.authType",
135
+ "equals": "refresh",
136
+ "type": "simple"
137
+ },
138
+ "type": "String"
123
139
  },
124
140
  {
141
+ "id": "authentication.oauthRefreshToken",
125
142
  "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
- },
143
+ "description": "Enter a valid Google API refresh token",
144
+ "optional": false,
133
145
  "constraints": {
134
146
  "notEmpty": true
135
147
  },
148
+ "feel": "optional",
149
+ "group": "authentication",
150
+ "binding": {
151
+ "name": "authentication.oauthRefreshToken",
152
+ "type": "zeebe:input"
153
+ },
136
154
  "condition": {
137
- "property": "authenticationType",
138
- "equals": "refresh"
139
- }
155
+ "property": "authentication.authType",
156
+ "equals": "refresh",
157
+ "type": "simple"
158
+ },
159
+ "type": "String"
140
160
  },
141
161
  {
142
- "id": "resourceType",
162
+ "id": "resource.type",
163
+ "label": "Operation",
164
+ "optional": false,
165
+ "value": "folder",
166
+ "constraints": {
167
+ "notEmpty": true
168
+ },
143
169
  "group": "operation",
170
+ "binding": {
171
+ "name": "resource.type",
172
+ "type": "zeebe:input"
173
+ },
144
174
  "type": "Dropdown",
145
- "value": "folder",
146
175
  "choices": [
147
176
  {
148
177
  "name": "Create folder",
@@ -152,173 +181,175 @@
152
181
  "name": "Create file from template",
153
182
  "value": "file"
154
183
  }
155
- ],
156
- "binding": {
157
- "type": "zeebe:input",
158
- "name": "resource.type",
159
- "key": "resource.type"
160
- }
184
+ ]
161
185
  },
162
186
  {
163
- "label": "File name",
164
- "description": "Enter name for your file",
165
- "group": "operationDetails",
166
- "type": "String",
187
+ "id": "resource.name",
188
+ "label": "New resource name",
189
+ "optional": false,
190
+ "constraints": {
191
+ "notEmpty": true
192
+ },
167
193
  "feel": "optional",
194
+ "group": "operationDetails",
168
195
  "binding": {
169
- "type": "zeebe:input",
170
- "name": "resource.name"
171
- },
172
- "constraints": {
173
- "notEmpty": true,
174
- "maxLength": 255
196
+ "name": "resource.name",
197
+ "type": "zeebe:input"
175
198
  },
176
- "condition": {
177
- "property": "resourceType",
178
- "equals": "file"
179
- }
199
+ "type": "String"
180
200
  },
181
201
  {
182
- "label": "Folder name",
183
- "description": "Enter name for your folder",
184
- "group": "operationDetails",
185
- "type": "String",
202
+ "id": "resource.parent",
203
+ "label": "Parent folder ID",
204
+ "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
205
+ "optional": true,
186
206
  "feel": "optional",
207
+ "group": "operationDetails",
187
208
  "binding": {
188
- "type": "zeebe:input",
189
- "name": "resource.name"
190
- },
191
- "constraints": {
192
- "notEmpty": true,
193
- "maxLength": 255
209
+ "name": "resource.parent",
210
+ "type": "zeebe:input"
194
211
  },
195
- "condition": {
196
- "property": "resourceType",
197
- "equals": "folder"
198
- }
212
+ "type": "String"
199
213
  },
200
214
  {
201
- "label": "Template ID",
202
- "description": "Enter ID of the template you are creating a file from",
215
+ "id": "resource.additionalGoogleDriveProperties",
216
+ "label": "Additional properties or metadata",
217
+ "optional": true,
218
+ "feel": "required",
203
219
  "group": "operationDetails",
204
- "type": "String",
205
- "feel": "optional",
206
220
  "binding": {
207
- "type": "zeebe:input",
208
- "name": "resource.template.id"
209
- },
210
- "constraints": {
211
- "notEmpty": true
221
+ "name": "resource.additionalGoogleDriveProperties",
222
+ "type": "zeebe:input"
212
223
  },
213
224
  "condition": {
214
- "property": "resourceType",
215
- "equals": "file"
216
- }
225
+ "property": "resource.type",
226
+ "equals": "folder",
227
+ "type": "simple"
228
+ },
229
+ "type": "String"
217
230
  },
218
231
  {
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",
232
+ "id": "resource.template.id",
233
+ "label": "Template ID",
234
+ "optional": false,
235
+ "constraints": {
236
+ "notEmpty": true
237
+ },
223
238
  "feel": "optional",
224
- "optional": true,
239
+ "group": "operationDetails",
225
240
  "binding": {
226
- "type": "zeebe:input",
227
- "name": "resource.parent"
241
+ "name": "resource.template.id",
242
+ "type": "zeebe:input"
228
243
  },
229
244
  "condition": {
230
- "property": "resourceType",
231
- "equals": "folder"
232
- }
245
+ "property": "resource.type",
246
+ "equals": "file",
247
+ "type": "simple"
248
+ },
249
+ "type": "String"
233
250
  },
234
251
  {
235
- "label": "Parent folder ID",
236
- "description": "Enter ID of the parent folder where new file will be created",
252
+ "id": "resource.template.variables",
253
+ "label": "Template variables",
254
+ "optional": false,
255
+ "feel": "required",
237
256
  "group": "operationDetails",
238
- "type": "String",
239
- "feel": "optional",
240
- "optional": true,
241
257
  "binding": {
242
- "type": "zeebe:input",
243
- "name": "resource.parent"
258
+ "name": "resource.template.variables",
259
+ "type": "zeebe:input"
244
260
  },
245
261
  "condition": {
246
- "property": "resourceType",
247
- "equals": "file"
248
- }
262
+ "property": "resource.type",
263
+ "equals": "file",
264
+ "type": "simple"
265
+ },
266
+ "type": "String"
249
267
  },
250
268
  {
251
- "label": "Template variables",
252
- "description": "Use this field to pass and update variables in your template as JSON",
253
- "group": "operationDetails",
254
- "type": "Text",
255
- "feel": "required",
269
+ "id": "resultVariable",
270
+ "label": "Result variable",
271
+ "description": "Name of variable to store the response in",
272
+ "group": "output",
256
273
  "binding": {
257
- "type": "zeebe:input",
258
- "name": "resource.template.variables"
274
+ "key": "resultVariable",
275
+ "type": "zeebe:taskHeader"
259
276
  },
260
- "condition": {
261
- "property": "resourceType",
262
- "equals": "file"
263
- }
277
+ "type": "String"
264
278
  },
265
279
  {
266
- "label": "Additional properties or metadata",
267
- "description": "Use this field to pass additional Google Drive parameters as JSON.",
268
- "group": "operationDetails",
269
- "type": "Text",
270
- "optional": true,
280
+ "id": "resultExpression",
281
+ "label": "Result expression",
282
+ "description": "Expression to map the response into process variables",
271
283
  "feel": "required",
284
+ "group": "output",
272
285
  "binding": {
273
- "type": "zeebe:input",
274
- "name": "resource.additionalGoogleDriveProperties",
275
- "key": "resource.additionalGoogleDriveProperties"
276
- }
286
+ "key": "resultExpression",
287
+ "type": "zeebe:taskHeader"
288
+ },
289
+ "type": "Text"
277
290
  },
278
291
  {
279
- "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>",
281
- "group": "output",
282
- "type": "String",
292
+ "id": "errorExpression",
293
+ "label": "Error expression",
294
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
295
+ "feel": "required",
296
+ "group": "error",
283
297
  "binding": {
284
- "type": "zeebe:taskHeader",
285
- "key": "resultVariable"
286
- }
298
+ "key": "errorExpression",
299
+ "type": "zeebe:taskHeader"
300
+ },
301
+ "type": "Text"
287
302
  },
288
303
  {
289
- "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",
293
- "feel": "required",
304
+ "id": "retryCount",
305
+ "label": "Retries",
306
+ "description": "Number of retries",
307
+ "value": "3",
308
+ "feel": "optional",
309
+ "group": "retries",
294
310
  "binding": {
295
- "type": "zeebe:taskHeader",
296
- "key": "resultExpression"
297
- }
311
+ "property": "retries",
312
+ "type": "zeebe:taskDefinition"
313
+ },
314
+ "type": "String"
298
315
  },
299
316
  {
300
- "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",
304
- "feel": "required",
317
+ "id": "retryBackoff",
318
+ "label": "Retry backoff",
319
+ "description": "ISO-8601 duration to wait between retries",
320
+ "value": "PT0S",
321
+ "feel": "optional",
322
+ "group": "retries",
305
323
  "binding": {
306
- "type": "zeebe:taskHeader",
307
- "key": "errorExpression"
308
- }
324
+ "key": "retryBackoff",
325
+ "type": "zeebe:taskHeader"
326
+ },
327
+ "type": "String"
309
328
  }
310
329
  ],
311
330
  "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"
331
+ "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
332
+ },
333
+ "engines": {
334
+ "camunda": "^8.5"
313
335
  }
314
336
  },
315
337
  {
316
338
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
317
339
  "name": "Google Drive Outbound Connector",
318
340
  "id": "io.camunda.connectors.GoogleDrive.v1",
319
- "version": 2,
341
+ "description": "Manage Google Drive files and folders",
342
+ "keywords": [
343
+ "create file",
344
+ "create file from template",
345
+ "create folder",
346
+ "upload file",
347
+ "download file",
348
+ "file storage",
349
+ "document management"
350
+ ],
320
351
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
321
- "description": "Create folder or a file from template",
352
+ "version": 5,
322
353
  "category": {
323
354
  "id": "connectors",
324
355
  "name": "Connectors"
@@ -327,6 +358,9 @@
327
358
  "elementType": {
328
359
  "value": "bpmn:ServiceTask"
329
360
  },
361
+ "engines": {
362
+ "camunda": "^8.3"
363
+ },
330
364
  "groups": [
331
365
  {
332
366
  "id": "authentication",
@@ -340,30 +374,46 @@
340
374
  "id": "operationDetails",
341
375
  "label": "Operation details"
342
376
  },
377
+ {
378
+ "id": "connector",
379
+ "label": "Connector"
380
+ },
343
381
  {
344
382
  "id": "output",
345
383
  "label": "Output mapping"
346
384
  },
347
385
  {
348
- "id": "errors",
386
+ "id": "error",
349
387
  "label": "Error handling"
388
+ },
389
+ {
390
+ "id": "retries",
391
+ "label": "Retries"
350
392
  }
351
393
  ],
352
394
  "properties": [
353
395
  {
354
- "type": "Hidden",
355
396
  "value": "io.camunda:google-drive:1",
356
397
  "binding": {
357
- "type": "zeebe:taskDefinition",
358
- "property": "type"
359
- }
398
+ "property": "type",
399
+ "type": "zeebe:taskDefinition"
400
+ },
401
+ "type": "Hidden"
360
402
  },
361
403
  {
362
- "id": "authenticationType",
404
+ "id": "authentication.authType",
363
405
  "label": "Type",
406
+ "optional": false,
407
+ "value": "refresh",
408
+ "constraints": {
409
+ "notEmpty": true
410
+ },
364
411
  "group": "authentication",
412
+ "binding": {
413
+ "name": "authentication.authType",
414
+ "type": "zeebe:input"
415
+ },
365
416
  "type": "Dropdown",
366
- "value": "bearer",
367
417
  "choices": [
368
418
  {
369
419
  "name": "Bearer token",
@@ -373,86 +423,106 @@
373
423
  "name": "Refresh token",
374
424
  "value": "refresh"
375
425
  }
376
- ],
377
- "binding": {
378
- "type": "zeebe:input",
379
- "name": "authentication.authType",
380
- "key": "authentication.authType"
381
- }
426
+ ]
382
427
  },
383
428
  {
429
+ "id": "authentication.bearerToken",
384
430
  "label": "Bearer token",
385
- "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
386
- "group": "authentication",
387
- "type": "String",
388
- "binding": {
389
- "type": "zeebe:input",
390
- "name": "authentication.bearerToken"
391
- },
431
+ "description": "Enter a valid Google API Bearer token",
432
+ "optional": false,
392
433
  "constraints": {
393
434
  "notEmpty": true
394
435
  },
436
+ "feel": "optional",
437
+ "group": "authentication",
438
+ "binding": {
439
+ "name": "authentication.bearerToken",
440
+ "type": "zeebe:input"
441
+ },
395
442
  "condition": {
396
- "property": "authenticationType",
397
- "equals": "bearer"
398
- }
443
+ "property": "authentication.authType",
444
+ "equals": "bearer",
445
+ "type": "simple"
446
+ },
447
+ "type": "String"
399
448
  },
400
449
  {
450
+ "id": "authentication.oauthClientId",
401
451
  "label": "Client ID",
402
452
  "description": "Enter Google API Client ID",
403
- "group": "authentication",
404
- "type": "String",
405
- "binding": {
406
- "type": "zeebe:input",
407
- "name": "authentication.oauthClientId"
408
- },
453
+ "optional": false,
409
454
  "constraints": {
410
455
  "notEmpty": true
411
456
  },
457
+ "feel": "optional",
458
+ "group": "authentication",
459
+ "binding": {
460
+ "name": "authentication.oauthClientId",
461
+ "type": "zeebe:input"
462
+ },
412
463
  "condition": {
413
- "property": "authenticationType",
414
- "equals": "refresh"
415
- }
464
+ "property": "authentication.authType",
465
+ "equals": "refresh",
466
+ "type": "simple"
467
+ },
468
+ "type": "String"
416
469
  },
417
470
  {
471
+ "id": "authentication.oauthClientSecret",
418
472
  "label": "Client secret",
419
473
  "description": "Enter Google API client Secret",
420
- "group": "authentication",
421
- "type": "String",
422
- "binding": {
423
- "type": "zeebe:input",
424
- "name": "authentication.oauthClientSecret"
425
- },
474
+ "optional": false,
426
475
  "constraints": {
427
476
  "notEmpty": true
428
477
  },
478
+ "feel": "optional",
479
+ "group": "authentication",
480
+ "binding": {
481
+ "name": "authentication.oauthClientSecret",
482
+ "type": "zeebe:input"
483
+ },
429
484
  "condition": {
430
- "property": "authenticationType",
431
- "equals": "refresh"
432
- }
485
+ "property": "authentication.authType",
486
+ "equals": "refresh",
487
+ "type": "simple"
488
+ },
489
+ "type": "String"
433
490
  },
434
491
  {
492
+ "id": "authentication.oauthRefreshToken",
435
493
  "label": "Refresh token",
436
- "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
437
- "group": "authentication",
438
- "type": "String",
439
- "binding": {
440
- "type": "zeebe:input",
441
- "name": "authentication.oauthRefreshToken"
442
- },
494
+ "description": "Enter a valid Google API refresh token",
495
+ "optional": false,
443
496
  "constraints": {
444
497
  "notEmpty": true
445
498
  },
499
+ "feel": "optional",
500
+ "group": "authentication",
501
+ "binding": {
502
+ "name": "authentication.oauthRefreshToken",
503
+ "type": "zeebe:input"
504
+ },
446
505
  "condition": {
447
- "property": "authenticationType",
448
- "equals": "refresh"
449
- }
506
+ "property": "authentication.authType",
507
+ "equals": "refresh",
508
+ "type": "simple"
509
+ },
510
+ "type": "String"
450
511
  },
451
512
  {
452
- "id": "resourceType",
513
+ "id": "resource.type",
514
+ "label": "Operation",
515
+ "optional": false,
516
+ "value": "folder",
517
+ "constraints": {
518
+ "notEmpty": true
519
+ },
453
520
  "group": "operation",
521
+ "binding": {
522
+ "name": "resource.type",
523
+ "type": "zeebe:input"
524
+ },
454
525
  "type": "Dropdown",
455
- "value": "folder",
456
526
  "choices": [
457
527
  {
458
528
  "name": "Create folder",
@@ -461,180 +531,642 @@
461
531
  {
462
532
  "name": "Create file from template",
463
533
  "value": "file"
464
- }
465
- ],
534
+ },
535
+ {
536
+ "name": "Upload file",
537
+ "value": "upload"
538
+ },
539
+ {
540
+ "name": "Download file",
541
+ "value": "download"
542
+ }
543
+ ]
544
+ },
545
+ {
546
+ "id": "resource.name",
547
+ "label": "New resource name",
548
+ "optional": false,
549
+ "constraints": {
550
+ "notEmpty": true
551
+ },
552
+ "feel": "optional",
553
+ "group": "operationDetails",
466
554
  "binding": {
467
- "type": "zeebe:input",
468
- "name": "resource.type",
469
- "key": "resource.type"
470
- }
555
+ "name": "resource.name",
556
+ "type": "zeebe:input"
557
+ },
558
+ "condition": {
559
+ "property": "resource.type",
560
+ "oneOf": ["folder", "file"],
561
+ "type": "simple"
562
+ },
563
+ "type": "String"
471
564
  },
472
565
  {
473
- "label": "File name",
474
- "description": "Enter name for your file",
566
+ "id": "resource.parent",
567
+ "label": "Parent folder ID",
568
+ "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
569
+ "optional": true,
570
+ "feel": "optional",
475
571
  "group": "operationDetails",
476
- "type": "String",
572
+ "binding": {
573
+ "name": "resource.parent",
574
+ "type": "zeebe:input"
575
+ },
576
+ "condition": {
577
+ "property": "resource.type",
578
+ "oneOf": ["folder", "file", "upload"],
579
+ "type": "simple"
580
+ },
581
+ "type": "String"
582
+ },
583
+ {
584
+ "id": "resource.additionalGoogleDriveProperties",
585
+ "label": "Additional properties or metadata",
586
+ "optional": true,
587
+ "feel": "required",
588
+ "group": "operationDetails",
589
+ "binding": {
590
+ "name": "resource.additionalGoogleDriveProperties",
591
+ "type": "zeebe:input"
592
+ },
593
+ "condition": {
594
+ "property": "resource.type",
595
+ "equals": "folder",
596
+ "type": "simple"
597
+ },
598
+ "type": "String"
599
+ },
600
+ {
601
+ "id": "resource.template.id",
602
+ "label": "Template ID",
603
+ "optional": false,
604
+ "constraints": {
605
+ "notEmpty": true
606
+ },
477
607
  "feel": "optional",
608
+ "group": "operationDetails",
478
609
  "binding": {
479
- "type": "zeebe:input",
480
- "name": "resource.name"
610
+ "name": "resource.template.id",
611
+ "type": "zeebe:input"
612
+ },
613
+ "condition": {
614
+ "property": "resource.type",
615
+ "equals": "file",
616
+ "type": "simple"
617
+ },
618
+ "type": "String"
619
+ },
620
+ {
621
+ "id": "resource.template.variables",
622
+ "label": "Template variables",
623
+ "optional": false,
624
+ "feel": "required",
625
+ "group": "operationDetails",
626
+ "binding": {
627
+ "name": "resource.template.variables",
628
+ "type": "zeebe:input"
629
+ },
630
+ "condition": {
631
+ "property": "resource.type",
632
+ "equals": "file",
633
+ "type": "simple"
481
634
  },
635
+ "type": "String"
636
+ },
637
+ {
638
+ "id": "resource.downloadData.fileId",
639
+ "label": "File ID",
640
+ "optional": false,
482
641
  "constraints": {
483
- "notEmpty": true,
484
- "maxLength": 255
642
+ "notEmpty": true
643
+ },
644
+ "feel": "optional",
645
+ "group": "operationDetails",
646
+ "binding": {
647
+ "name": "resource.downloadData.fileId",
648
+ "type": "zeebe:input"
485
649
  },
486
650
  "condition": {
487
- "property": "resourceType",
488
- "equals": "file"
489
- }
651
+ "property": "resource.type",
652
+ "equals": "download",
653
+ "type": "simple"
654
+ },
655
+ "type": "String"
490
656
  },
491
657
  {
492
- "label": "Folder name",
493
- "description": "Enter name for your folder",
658
+ "id": "resource.uploadData.document",
659
+ "label": "Document",
660
+ "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
661
+ "optional": false,
662
+ "constraints": {
663
+ "notEmpty": true
664
+ },
665
+ "feel": "required",
494
666
  "group": "operationDetails",
495
- "type": "String",
667
+ "binding": {
668
+ "name": "resource.uploadData.document",
669
+ "type": "zeebe:input"
670
+ },
671
+ "condition": {
672
+ "property": "resource.type",
673
+ "equals": "upload",
674
+ "type": "simple"
675
+ },
676
+ "type": "String"
677
+ },
678
+ {
679
+ "id": "version",
680
+ "label": "Version",
681
+ "description": "Version of the element template",
682
+ "value": "5",
683
+ "group": "connector",
684
+ "binding": {
685
+ "key": "elementTemplateVersion",
686
+ "type": "zeebe:taskHeader"
687
+ },
688
+ "type": "Hidden"
689
+ },
690
+ {
691
+ "id": "id",
692
+ "label": "ID",
693
+ "description": "ID of the element template",
694
+ "value": "io.camunda.connectors.GoogleDrive.v1",
695
+ "group": "connector",
696
+ "binding": {
697
+ "key": "elementTemplateId",
698
+ "type": "zeebe:taskHeader"
699
+ },
700
+ "type": "Hidden"
701
+ },
702
+ {
703
+ "id": "resultVariable",
704
+ "label": "Result variable",
705
+ "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>.",
706
+ "group": "output",
707
+ "binding": {
708
+ "key": "resultVariable",
709
+ "type": "zeebe:taskHeader"
710
+ },
711
+ "type": "String"
712
+ },
713
+ {
714
+ "id": "resultExpression",
715
+ "label": "Result expression",
716
+ "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>.",
717
+ "feel": "required",
718
+ "group": "output",
719
+ "binding": {
720
+ "key": "resultExpression",
721
+ "type": "zeebe:taskHeader"
722
+ },
723
+ "type": "Text"
724
+ },
725
+ {
726
+ "id": "errorExpression",
727
+ "label": "Error expression",
728
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
729
+ "feel": "required",
730
+ "group": "error",
731
+ "binding": {
732
+ "key": "errorExpression",
733
+ "type": "zeebe:taskHeader"
734
+ },
735
+ "type": "Text"
736
+ },
737
+ {
738
+ "id": "retryCount",
739
+ "label": "Retries",
740
+ "description": "Number of retries",
741
+ "value": "3",
496
742
  "feel": "optional",
743
+ "group": "retries",
497
744
  "binding": {
498
- "type": "zeebe:input",
499
- "name": "resource.name"
745
+ "property": "retries",
746
+ "type": "zeebe:taskDefinition"
500
747
  },
748
+ "type": "String"
749
+ },
750
+ {
751
+ "id": "retryBackoff",
752
+ "label": "Retry backoff",
753
+ "description": "ISO-8601 duration to wait between retries",
754
+ "value": "PT0S",
755
+ "group": "retries",
756
+ "binding": {
757
+ "key": "retryBackoff",
758
+ "type": "zeebe:taskHeader"
759
+ },
760
+ "type": "String"
761
+ }
762
+ ],
763
+ "icon": {
764
+ "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
765
+ }
766
+ },
767
+ {
768
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
769
+ "name": "Google Drive Outbound Connector",
770
+ "id": "io.camunda.connectors.GoogleDrive.v1",
771
+ "description": "Manage Google Drive files and folders",
772
+ "metadata": {
773
+ "keywords": ["create file", "create file from template", "create folder"]
774
+ },
775
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
776
+ "version": 4,
777
+ "category": {
778
+ "id": "connectors",
779
+ "name": "Connectors"
780
+ },
781
+ "appliesTo": ["bpmn:Task"],
782
+ "elementType": {
783
+ "value": "bpmn:ServiceTask"
784
+ },
785
+ "engines": {
786
+ "camunda": "^8.3"
787
+ },
788
+ "groups": [
789
+ {
790
+ "id": "authentication",
791
+ "label": "Authentication"
792
+ },
793
+ {
794
+ "id": "operation",
795
+ "label": "Select operation"
796
+ },
797
+ {
798
+ "id": "operationDetails",
799
+ "label": "Operation details"
800
+ },
801
+ {
802
+ "id": "output",
803
+ "label": "Output mapping"
804
+ },
805
+ {
806
+ "id": "error",
807
+ "label": "Error handling"
808
+ },
809
+ {
810
+ "id": "retries",
811
+ "label": "Retries"
812
+ }
813
+ ],
814
+ "properties": [
815
+ {
816
+ "value": "io.camunda:google-drive:1",
817
+ "binding": {
818
+ "property": "type",
819
+ "type": "zeebe:taskDefinition"
820
+ },
821
+ "type": "Hidden"
822
+ },
823
+ {
824
+ "id": "authentication.authType",
825
+ "label": "Type",
826
+ "optional": false,
827
+ "value": "refresh",
501
828
  "constraints": {
502
- "notEmpty": true,
503
- "maxLength": 255
829
+ "notEmpty": true
830
+ },
831
+ "group": "authentication",
832
+ "binding": {
833
+ "name": "authentication.authType",
834
+ "type": "zeebe:input"
835
+ },
836
+ "type": "Dropdown",
837
+ "choices": [
838
+ {
839
+ "name": "Bearer token",
840
+ "value": "bearer"
841
+ },
842
+ {
843
+ "name": "Refresh token",
844
+ "value": "refresh"
845
+ }
846
+ ]
847
+ },
848
+ {
849
+ "id": "authentication.bearerToken",
850
+ "label": "Bearer token",
851
+ "description": "Enter a valid Google API Bearer token",
852
+ "optional": false,
853
+ "constraints": {
854
+ "notEmpty": true
855
+ },
856
+ "feel": "optional",
857
+ "group": "authentication",
858
+ "binding": {
859
+ "name": "authentication.bearerToken",
860
+ "type": "zeebe:input"
504
861
  },
505
862
  "condition": {
506
- "property": "resourceType",
507
- "equals": "folder"
508
- }
863
+ "property": "authentication.authType",
864
+ "equals": "bearer",
865
+ "type": "simple"
866
+ },
867
+ "type": "String"
509
868
  },
510
869
  {
511
- "label": "Template ID",
512
- "description": "Enter ID of the template you are creating a file from",
513
- "group": "operationDetails",
514
- "type": "String",
870
+ "id": "authentication.oauthClientId",
871
+ "label": "Client ID",
872
+ "description": "Enter Google API Client ID",
873
+ "optional": false,
874
+ "constraints": {
875
+ "notEmpty": true
876
+ },
515
877
  "feel": "optional",
878
+ "group": "authentication",
516
879
  "binding": {
517
- "type": "zeebe:input",
518
- "name": "resource.template.id"
880
+ "name": "authentication.oauthClientId",
881
+ "type": "zeebe:input"
882
+ },
883
+ "condition": {
884
+ "property": "authentication.authType",
885
+ "equals": "refresh",
886
+ "type": "simple"
887
+ },
888
+ "type": "String"
889
+ },
890
+ {
891
+ "id": "authentication.oauthClientSecret",
892
+ "label": "Client secret",
893
+ "description": "Enter Google API client Secret",
894
+ "optional": false,
895
+ "constraints": {
896
+ "notEmpty": true
897
+ },
898
+ "feel": "optional",
899
+ "group": "authentication",
900
+ "binding": {
901
+ "name": "authentication.oauthClientSecret",
902
+ "type": "zeebe:input"
903
+ },
904
+ "condition": {
905
+ "property": "authentication.authType",
906
+ "equals": "refresh",
907
+ "type": "simple"
519
908
  },
909
+ "type": "String"
910
+ },
911
+ {
912
+ "id": "authentication.oauthRefreshToken",
913
+ "label": "Refresh token",
914
+ "description": "Enter a valid Google API refresh token",
915
+ "optional": false,
520
916
  "constraints": {
521
917
  "notEmpty": true
522
918
  },
919
+ "feel": "optional",
920
+ "group": "authentication",
921
+ "binding": {
922
+ "name": "authentication.oauthRefreshToken",
923
+ "type": "zeebe:input"
924
+ },
523
925
  "condition": {
524
- "property": "resourceType",
525
- "equals": "file"
526
- }
926
+ "property": "authentication.authType",
927
+ "equals": "refresh",
928
+ "type": "simple"
929
+ },
930
+ "type": "String"
527
931
  },
528
932
  {
933
+ "id": "resource.type",
934
+ "label": "Operation",
935
+ "optional": false,
936
+ "value": "folder",
937
+ "constraints": {
938
+ "notEmpty": true
939
+ },
940
+ "group": "operation",
941
+ "binding": {
942
+ "name": "resource.type",
943
+ "type": "zeebe:input"
944
+ },
945
+ "type": "Dropdown",
946
+ "choices": [
947
+ {
948
+ "name": "Create folder",
949
+ "value": "folder"
950
+ },
951
+ {
952
+ "name": "Create file from template",
953
+ "value": "file"
954
+ },
955
+ {
956
+ "name": "Upload file",
957
+ "value": "upload"
958
+ },
959
+ {
960
+ "name": "Download file",
961
+ "value": "download"
962
+ }
963
+ ]
964
+ },
965
+ {
966
+ "id": "resource.name",
967
+ "label": "New resource name",
968
+ "optional": false,
969
+ "constraints": {
970
+ "notEmpty": true
971
+ },
972
+ "feel": "optional",
973
+ "group": "operationDetails",
974
+ "binding": {
975
+ "name": "resource.name",
976
+ "type": "zeebe:input"
977
+ },
978
+ "condition": {
979
+ "property": "resource.type",
980
+ "oneOf": ["folder", "file"],
981
+ "type": "simple"
982
+ },
983
+ "type": "String"
984
+ },
985
+ {
986
+ "id": "resource.parent",
529
987
  "label": "Parent folder ID",
530
- "description": "Enter ID of the parent folder where new folder will be created",
988
+ "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
989
+ "optional": true,
990
+ "feel": "optional",
531
991
  "group": "operationDetails",
532
- "type": "String",
992
+ "binding": {
993
+ "name": "resource.parent",
994
+ "type": "zeebe:input"
995
+ },
996
+ "condition": {
997
+ "property": "resource.type",
998
+ "oneOf": ["folder", "file", "upload"],
999
+ "type": "simple"
1000
+ },
1001
+ "type": "String"
1002
+ },
1003
+ {
1004
+ "id": "resource.additionalGoogleDriveProperties",
1005
+ "label": "Additional properties or metadata",
1006
+ "optional": true,
1007
+ "feel": "required",
1008
+ "group": "operationDetails",
1009
+ "binding": {
1010
+ "name": "resource.additionalGoogleDriveProperties",
1011
+ "type": "zeebe:input"
1012
+ },
1013
+ "condition": {
1014
+ "property": "resource.type",
1015
+ "equals": "folder",
1016
+ "type": "simple"
1017
+ },
1018
+ "type": "String"
1019
+ },
1020
+ {
1021
+ "id": "resource.template.id",
1022
+ "label": "Template ID",
1023
+ "optional": false,
1024
+ "constraints": {
1025
+ "notEmpty": true
1026
+ },
533
1027
  "feel": "optional",
534
- "optional": true,
1028
+ "group": "operationDetails",
535
1029
  "binding": {
536
- "type": "zeebe:input",
537
- "name": "resource.parent"
1030
+ "name": "resource.template.id",
1031
+ "type": "zeebe:input"
538
1032
  },
539
1033
  "condition": {
540
- "property": "resourceType",
541
- "equals": "folder"
542
- }
1034
+ "property": "resource.type",
1035
+ "equals": "file",
1036
+ "type": "simple"
1037
+ },
1038
+ "type": "String"
543
1039
  },
544
1040
  {
545
- "label": "Parent folder ID",
546
- "description": "Enter ID of the parent folder where new file will be created",
1041
+ "id": "resource.template.variables",
1042
+ "label": "Template variables",
1043
+ "optional": false,
1044
+ "feel": "required",
547
1045
  "group": "operationDetails",
548
- "type": "String",
549
- "feel": "optional",
550
- "optional": true,
551
1046
  "binding": {
552
- "type": "zeebe:input",
553
- "name": "resource.parent"
1047
+ "name": "resource.template.variables",
1048
+ "type": "zeebe:input"
554
1049
  },
555
1050
  "condition": {
556
- "property": "resourceType",
557
- "equals": "file"
558
- }
1051
+ "property": "resource.type",
1052
+ "equals": "file",
1053
+ "type": "simple"
1054
+ },
1055
+ "type": "String"
559
1056
  },
560
1057
  {
561
- "label": "Template variables",
562
- "description": "Use this field to pass and update variables in your template as JSON",
1058
+ "id": "resource.downloadData.fileId",
1059
+ "label": "File ID",
1060
+ "optional": false,
1061
+ "constraints": {
1062
+ "notEmpty": true
1063
+ },
1064
+ "feel": "optional",
563
1065
  "group": "operationDetails",
564
- "type": "Text",
565
- "feel": "required",
566
1066
  "binding": {
567
- "type": "zeebe:input",
568
- "name": "resource.template.variables"
1067
+ "name": "resource.downloadData.fileId",
1068
+ "type": "zeebe:input"
569
1069
  },
570
1070
  "condition": {
571
- "property": "resourceType",
572
- "equals": "file"
573
- }
1071
+ "property": "resource.type",
1072
+ "equals": "download",
1073
+ "type": "simple"
1074
+ },
1075
+ "type": "String"
574
1076
  },
575
1077
  {
576
- "label": "Additional properties or metadata",
577
- "description": "Use this field to pass additional Google Drive parameters as JSON.",
578
- "group": "operationDetails",
579
- "type": "Text",
580
- "optional": true,
1078
+ "id": "resource.uploadData.document",
1079
+ "label": "Document",
1080
+ "description": "Upload camunda document, <a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">see documentation</a>",
1081
+ "optional": false,
1082
+ "constraints": {
1083
+ "notEmpty": true
1084
+ },
581
1085
  "feel": "required",
1086
+ "group": "operationDetails",
582
1087
  "binding": {
583
- "type": "zeebe:input",
584
- "name": "resource.additionalGoogleDriveProperties",
585
- "key": "resource.additionalGoogleDriveProperties"
586
- }
1088
+ "name": "resource.uploadData.document",
1089
+ "type": "zeebe:input"
1090
+ },
1091
+ "condition": {
1092
+ "property": "resource.type",
1093
+ "equals": "upload",
1094
+ "type": "simple"
1095
+ },
1096
+ "type": "String"
587
1097
  },
588
1098
  {
1099
+ "id": "resultVariable",
589
1100
  "label": "Result variable",
590
- "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>",
1101
+ "description": "Name of variable to store the response in",
591
1102
  "group": "output",
592
- "type": "String",
593
1103
  "binding": {
594
- "type": "zeebe:taskHeader",
595
- "key": "resultVariable"
596
- }
1104
+ "key": "resultVariable",
1105
+ "type": "zeebe:taskHeader"
1106
+ },
1107
+ "type": "String"
597
1108
  },
598
1109
  {
1110
+ "id": "resultExpression",
599
1111
  "label": "Result expression",
600
- "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>",
601
- "group": "output",
602
- "type": "Text",
1112
+ "description": "Expression to map the response into process variables",
603
1113
  "feel": "required",
1114
+ "group": "output",
604
1115
  "binding": {
605
- "type": "zeebe:taskHeader",
606
- "key": "resultExpression"
607
- }
1116
+ "key": "resultExpression",
1117
+ "type": "zeebe:taskHeader"
1118
+ },
1119
+ "type": "Text"
608
1120
  },
609
1121
  {
1122
+ "id": "errorExpression",
610
1123
  "label": "Error expression",
611
- "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>",
612
- "group": "errors",
613
- "type": "Text",
1124
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
614
1125
  "feel": "required",
1126
+ "group": "error",
615
1127
  "binding": {
616
- "type": "zeebe:taskHeader",
617
- "key": "errorExpression"
618
- }
1128
+ "key": "errorExpression",
1129
+ "type": "zeebe:taskHeader"
1130
+ },
1131
+ "type": "Text"
1132
+ },
1133
+ {
1134
+ "id": "retryCount",
1135
+ "label": "Retries",
1136
+ "description": "Number of retries",
1137
+ "value": "3",
1138
+ "feel": "optional",
1139
+ "group": "retries",
1140
+ "binding": {
1141
+ "property": "retries",
1142
+ "type": "zeebe:taskDefinition"
1143
+ },
1144
+ "type": "String"
1145
+ },
1146
+ {
1147
+ "id": "retryBackoff",
1148
+ "label": "Retry backoff",
1149
+ "description": "ISO-8601 duration to wait between retries",
1150
+ "value": "PT0S",
1151
+ "group": "retries",
1152
+ "binding": {
1153
+ "key": "retryBackoff",
1154
+ "type": "zeebe:taskHeader"
1155
+ },
1156
+ "type": "String"
619
1157
  }
620
1158
  ],
621
1159
  "icon": {
622
- "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"
623
- },
624
- "engines": {
625
- "camunda": "^8.2"
1160
+ "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
626
1161
  }
627
1162
  },
628
1163
  {
629
1164
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
630
- "name": "Google Drive Outbound Connector",
1165
+ "name": "Google Drive connector",
631
1166
  "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
- },
1167
+ "version": 1,
636
1168
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
637
- "version": 4,
1169
+ "description": "Create folder or a file from template",
638
1170
  "category": {
639
1171
  "id": "connectors",
640
1172
  "name": "Connectors"
@@ -643,9 +1175,6 @@
643
1175
  "elementType": {
644
1176
  "value": "bpmn:ServiceTask"
645
1177
  },
646
- "engines": {
647
- "camunda": "^8.3"
648
- },
649
1178
  "groups": [
650
1179
  {
651
1180
  "id": "authentication",
@@ -664,37 +1193,25 @@
664
1193
  "label": "Output mapping"
665
1194
  },
666
1195
  {
667
- "id": "error",
1196
+ "id": "errors",
668
1197
  "label": "Error handling"
669
- },
670
- {
671
- "id": "retries",
672
- "label": "Retries"
673
1198
  }
674
1199
  ],
675
1200
  "properties": [
676
1201
  {
1202
+ "type": "Hidden",
677
1203
  "value": "io.camunda:google-drive:1",
678
1204
  "binding": {
679
- "property": "type",
680
- "type": "zeebe:taskDefinition"
681
- },
682
- "type": "Hidden"
1205
+ "type": "zeebe:taskDefinition",
1206
+ "property": "type"
1207
+ }
683
1208
  },
684
1209
  {
685
- "id": "authentication.authType",
1210
+ "id": "authenticationType",
686
1211
  "label": "Type",
687
- "optional": false,
688
- "value": "refresh",
689
- "constraints": {
690
- "notEmpty": true
691
- },
692
1212
  "group": "authentication",
693
- "binding": {
694
- "name": "authentication.authType",
695
- "type": "zeebe:input"
696
- },
697
1213
  "type": "Dropdown",
1214
+ "value": "bearer",
698
1215
  "choices": [
699
1216
  {
700
1217
  "name": "Bearer token",
@@ -704,106 +1221,86 @@
704
1221
  "name": "Refresh token",
705
1222
  "value": "refresh"
706
1223
  }
707
- ]
1224
+ ],
1225
+ "binding": {
1226
+ "type": "zeebe:input",
1227
+ "name": "authentication.authType",
1228
+ "key": "authentication.authType"
1229
+ }
708
1230
  },
709
1231
  {
710
- "id": "authentication.bearerToken",
711
1232
  "label": "Bearer token",
712
- "description": "Enter a valid Google API Bearer token",
713
- "optional": false,
714
- "constraints": {
715
- "notEmpty": true
716
- },
717
- "feel": "optional",
1233
+ "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
718
1234
  "group": "authentication",
1235
+ "type": "String",
719
1236
  "binding": {
720
- "name": "authentication.bearerToken",
721
- "type": "zeebe:input"
1237
+ "type": "zeebe:input",
1238
+ "name": "authentication.bearerToken"
722
1239
  },
723
- "condition": {
724
- "property": "authentication.authType",
725
- "equals": "bearer",
726
- "type": "simple"
1240
+ "constraints": {
1241
+ "notEmpty": true
727
1242
  },
728
- "type": "String"
1243
+ "condition": {
1244
+ "property": "authenticationType",
1245
+ "equals": "bearer"
1246
+ }
729
1247
  },
730
1248
  {
731
- "id": "authentication.oauthClientId",
732
1249
  "label": "Client ID",
733
1250
  "description": "Enter Google API Client ID",
734
- "optional": false,
735
- "constraints": {
736
- "notEmpty": true
737
- },
738
- "feel": "optional",
739
1251
  "group": "authentication",
1252
+ "type": "String",
740
1253
  "binding": {
741
- "name": "authentication.oauthClientId",
742
- "type": "zeebe:input"
1254
+ "type": "zeebe:input",
1255
+ "name": "authentication.oauthClientId"
743
1256
  },
744
- "condition": {
745
- "property": "authentication.authType",
746
- "equals": "refresh",
747
- "type": "simple"
1257
+ "constraints": {
1258
+ "notEmpty": true
748
1259
  },
749
- "type": "String"
1260
+ "condition": {
1261
+ "property": "authenticationType",
1262
+ "equals": "refresh"
1263
+ }
750
1264
  },
751
1265
  {
752
- "id": "authentication.oauthClientSecret",
753
1266
  "label": "Client secret",
754
1267
  "description": "Enter Google API client Secret",
755
- "optional": false,
756
- "constraints": {
757
- "notEmpty": true
758
- },
759
- "feel": "optional",
760
1268
  "group": "authentication",
1269
+ "type": "String",
761
1270
  "binding": {
762
- "name": "authentication.oauthClientSecret",
763
- "type": "zeebe:input"
1271
+ "type": "zeebe:input",
1272
+ "name": "authentication.oauthClientSecret"
1273
+ },
1274
+ "constraints": {
1275
+ "notEmpty": true
764
1276
  },
765
1277
  "condition": {
766
- "property": "authentication.authType",
767
- "equals": "refresh",
768
- "type": "simple"
769
- },
770
- "type": "String"
1278
+ "property": "authenticationType",
1279
+ "equals": "refresh"
1280
+ }
771
1281
  },
772
1282
  {
773
- "id": "authentication.oauthRefreshToken",
774
1283
  "label": "Refresh token",
775
- "description": "Enter a valid Google API refresh token",
776
- "optional": false,
777
- "constraints": {
778
- "notEmpty": true
779
- },
780
- "feel": "optional",
1284
+ "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
781
1285
  "group": "authentication",
1286
+ "type": "String",
782
1287
  "binding": {
783
- "name": "authentication.oauthRefreshToken",
784
- "type": "zeebe:input"
785
- },
786
- "condition": {
787
- "property": "authentication.authType",
788
- "equals": "refresh",
789
- "type": "simple"
1288
+ "type": "zeebe:input",
1289
+ "name": "authentication.oauthRefreshToken"
790
1290
  },
791
- "type": "String"
792
- },
793
- {
794
- "id": "resource.type",
795
- "label": "Operation",
796
- "optional": false,
797
- "value": "folder",
798
1291
  "constraints": {
799
1292
  "notEmpty": true
800
1293
  },
1294
+ "condition": {
1295
+ "property": "authenticationType",
1296
+ "equals": "refresh"
1297
+ }
1298
+ },
1299
+ {
1300
+ "id": "resourceType",
801
1301
  "group": "operation",
802
- "binding": {
803
- "name": "resource.type",
804
- "type": "zeebe:input"
805
- },
806
1302
  "type": "Dropdown",
1303
+ "value": "folder",
807
1304
  "choices": [
808
1305
  {
809
1306
  "name": "Create folder",
@@ -812,220 +1309,175 @@
812
1309
  {
813
1310
  "name": "Create file from template",
814
1311
  "value": "file"
815
- },
816
- {
817
- "name": "Upload file",
818
- "value": "upload"
819
- },
820
- {
821
- "name": "Download file",
822
- "value": "download"
823
1312
  }
824
- ]
1313
+ ],
1314
+ "binding": {
1315
+ "type": "zeebe:input",
1316
+ "name": "resource.type",
1317
+ "key": "resource.type"
1318
+ }
825
1319
  },
826
1320
  {
827
- "id": "resource.name",
828
- "label": "New resource name",
829
- "optional": false,
830
- "constraints": {
831
- "notEmpty": true
832
- },
833
- "feel": "optional",
1321
+ "label": "File name",
1322
+ "description": "Enter name for your file",
834
1323
  "group": "operationDetails",
1324
+ "type": "String",
1325
+ "feel": "optional",
835
1326
  "binding": {
836
- "name": "resource.name",
837
- "type": "zeebe:input"
1327
+ "type": "zeebe:input",
1328
+ "name": "resource.name"
838
1329
  },
839
- "condition": {
840
- "property": "resource.type",
841
- "oneOf": ["folder", "file"],
842
- "type": "simple"
1330
+ "constraints": {
1331
+ "notEmpty": true,
1332
+ "maxLength": 255
843
1333
  },
844
- "type": "String"
1334
+ "condition": {
1335
+ "property": "resourceType",
1336
+ "equals": "file"
1337
+ }
845
1338
  },
846
1339
  {
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",
1340
+ "label": "Folder name",
1341
+ "description": "Enter name for your folder",
852
1342
  "group": "operationDetails",
1343
+ "type": "String",
1344
+ "feel": "optional",
853
1345
  "binding": {
854
- "name": "resource.parent",
855
- "type": "zeebe:input"
1346
+ "type": "zeebe:input",
1347
+ "name": "resource.name"
856
1348
  },
857
- "condition": {
858
- "property": "resource.type",
859
- "oneOf": ["folder", "file", "upload"],
860
- "type": "simple"
1349
+ "constraints": {
1350
+ "notEmpty": true,
1351
+ "maxLength": 255
861
1352
  },
862
- "type": "String"
1353
+ "condition": {
1354
+ "property": "resourceType",
1355
+ "equals": "folder"
1356
+ }
863
1357
  },
864
1358
  {
865
- "id": "resource.additionalGoogleDriveProperties",
866
- "label": "Additional properties or metadata",
867
- "optional": true,
868
- "feel": "required",
1359
+ "label": "Template ID",
1360
+ "description": "Enter ID of the template you are creating a file from",
869
1361
  "group": "operationDetails",
1362
+ "type": "String",
1363
+ "feel": "optional",
870
1364
  "binding": {
871
- "name": "resource.additionalGoogleDriveProperties",
872
- "type": "zeebe:input"
873
- },
874
- "condition": {
875
- "property": "resource.type",
876
- "equals": "folder",
877
- "type": "simple"
1365
+ "type": "zeebe:input",
1366
+ "name": "resource.template.id"
878
1367
  },
879
- "type": "String"
880
- },
881
- {
882
- "id": "resource.template.id",
883
- "label": "Template ID",
884
- "optional": false,
885
1368
  "constraints": {
886
1369
  "notEmpty": true
887
1370
  },
888
- "feel": "optional",
889
- "group": "operationDetails",
890
- "binding": {
891
- "name": "resource.template.id",
892
- "type": "zeebe:input"
893
- },
894
1371
  "condition": {
895
- "property": "resource.type",
896
- "equals": "file",
897
- "type": "simple"
898
- },
899
- "type": "String"
1372
+ "property": "resourceType",
1373
+ "equals": "file"
1374
+ }
900
1375
  },
901
1376
  {
902
- "id": "resource.template.variables",
903
- "label": "Template variables",
904
- "optional": false,
905
- "feel": "required",
1377
+ "label": "Parent folder ID",
1378
+ "description": "Enter ID of the parent folder where new folder will be created",
906
1379
  "group": "operationDetails",
1380
+ "type": "String",
1381
+ "feel": "optional",
1382
+ "optional": true,
907
1383
  "binding": {
908
- "name": "resource.template.variables",
909
- "type": "zeebe:input"
1384
+ "type": "zeebe:input",
1385
+ "name": "resource.parent"
910
1386
  },
911
1387
  "condition": {
912
- "property": "resource.type",
913
- "equals": "file",
914
- "type": "simple"
915
- },
916
- "type": "String"
1388
+ "property": "resourceType",
1389
+ "equals": "folder"
1390
+ }
917
1391
  },
918
1392
  {
919
- "id": "resource.downloadData.fileId",
920
- "label": "File ID",
921
- "optional": false,
922
- "constraints": {
923
- "notEmpty": true
924
- },
925
- "feel": "optional",
1393
+ "label": "Parent folder ID",
1394
+ "description": "Enter ID of the parent folder where new file will be created",
926
1395
  "group": "operationDetails",
1396
+ "type": "String",
1397
+ "feel": "optional",
1398
+ "optional": true,
927
1399
  "binding": {
928
- "name": "resource.downloadData.fileId",
929
- "type": "zeebe:input"
1400
+ "type": "zeebe:input",
1401
+ "name": "resource.parent"
930
1402
  },
931
1403
  "condition": {
932
- "property": "resource.type",
933
- "equals": "download",
934
- "type": "simple"
935
- },
936
- "type": "String"
1404
+ "property": "resourceType",
1405
+ "equals": "file"
1406
+ }
937
1407
  },
938
1408
  {
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",
1409
+ "label": "Template variables",
1410
+ "description": "Use this field to pass and update variables in your template as JSON",
947
1411
  "group": "operationDetails",
1412
+ "type": "Text",
1413
+ "feel": "required",
948
1414
  "binding": {
949
- "name": "resource.uploadData.document",
950
- "type": "zeebe:input"
1415
+ "type": "zeebe:input",
1416
+ "name": "resource.template.variables"
951
1417
  },
952
1418
  "condition": {
953
- "property": "resource.type",
954
- "equals": "upload",
955
- "type": "simple"
956
- },
957
- "type": "String"
958
- },
959
- {
960
- "id": "resultVariable",
961
- "label": "Result variable",
962
- "description": "Name of variable to store the response in",
963
- "group": "output",
964
- "binding": {
965
- "key": "resultVariable",
966
- "type": "zeebe:taskHeader"
967
- },
968
- "type": "String"
1419
+ "property": "resourceType",
1420
+ "equals": "file"
1421
+ }
969
1422
  },
970
1423
  {
971
- "id": "resultExpression",
972
- "label": "Result expression",
973
- "description": "Expression to map the response into process variables",
1424
+ "label": "Additional properties or metadata",
1425
+ "description": "Use this field to pass additional Google Drive parameters as JSON.",
1426
+ "group": "operationDetails",
1427
+ "type": "Text",
1428
+ "optional": true,
974
1429
  "feel": "required",
975
- "group": "output",
976
1430
  "binding": {
977
- "key": "resultExpression",
978
- "type": "zeebe:taskHeader"
979
- },
980
- "type": "Text"
1431
+ "type": "zeebe:input",
1432
+ "name": "resource.additionalGoogleDriveProperties",
1433
+ "key": "resource.additionalGoogleDriveProperties"
1434
+ }
981
1435
  },
982
1436
  {
983
- "id": "errorExpression",
984
- "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>.",
986
- "feel": "required",
987
- "group": "error",
1437
+ "label": "Result variable",
1438
+ "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>",
1439
+ "group": "output",
1440
+ "type": "String",
988
1441
  "binding": {
989
- "key": "errorExpression",
990
- "type": "zeebe:taskHeader"
991
- },
992
- "type": "Text"
1442
+ "type": "zeebe:taskHeader",
1443
+ "key": "resultVariable"
1444
+ }
993
1445
  },
994
1446
  {
995
- "id": "retryCount",
996
- "label": "Retries",
997
- "description": "Number of retries",
998
- "value": "3",
999
- "feel": "optional",
1000
- "group": "retries",
1447
+ "label": "Result expression",
1448
+ "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>",
1449
+ "group": "output",
1450
+ "type": "Text",
1451
+ "feel": "required",
1001
1452
  "binding": {
1002
- "property": "retries",
1003
- "type": "zeebe:taskDefinition"
1004
- },
1005
- "type": "String"
1453
+ "type": "zeebe:taskHeader",
1454
+ "key": "resultExpression"
1455
+ }
1006
1456
  },
1007
1457
  {
1008
- "id": "retryBackoff",
1009
- "label": "Retry backoff",
1010
- "description": "ISO-8601 duration to wait between retries",
1011
- "value": "PT0S",
1012
- "group": "retries",
1458
+ "label": "Error expression",
1459
+ "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>",
1460
+ "group": "errors",
1461
+ "type": "Text",
1462
+ "feel": "required",
1013
1463
  "binding": {
1014
- "key": "retryBackoff",
1015
- "type": "zeebe:taskHeader"
1016
- },
1017
- "type": "String"
1464
+ "type": "zeebe:taskHeader",
1465
+ "key": "errorExpression"
1466
+ }
1018
1467
  }
1019
1468
  ],
1020
1469
  "icon": {
1021
- "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
1470
+ "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"
1471
+ },
1472
+ "engines": {
1473
+ "camunda": "^8.2"
1022
1474
  }
1023
1475
  },
1024
1476
  {
1025
1477
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1026
- "name": "Google Drive connector",
1478
+ "name": "Google Drive Outbound Connector",
1027
1479
  "id": "io.camunda.connectors.GoogleDrive.v1",
1028
- "version": 1,
1480
+ "version": 2,
1029
1481
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1030
1482
  "description": "Create folder or a file from template",
1031
1483
  "category": {
@@ -1336,11 +1788,14 @@
1336
1788
  },
1337
1789
  {
1338
1790
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1339
- "name": "Google Drive Outbound Connector",
1791
+ "name": "Google Drive connector",
1340
1792
  "id": "io.camunda.connectors.GoogleDrive.v1",
1341
- "description": "Create folder or a file from template",
1342
1793
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1343
- "version": 3,
1794
+ "description": "Create folder or a file from template",
1795
+ "deprecated": {
1796
+ "message": "Replace with 'Google Drive connector' template.",
1797
+ "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
1798
+ },
1344
1799
  "category": {
1345
1800
  "id": "connectors",
1346
1801
  "name": "Connectors"
@@ -1367,37 +1822,25 @@
1367
1822
  "label": "Output mapping"
1368
1823
  },
1369
1824
  {
1370
- "id": "error",
1825
+ "id": "errors",
1371
1826
  "label": "Error handling"
1372
- },
1373
- {
1374
- "id": "retries",
1375
- "label": "Retries"
1376
1827
  }
1377
1828
  ],
1378
1829
  "properties": [
1379
1830
  {
1831
+ "type": "Hidden",
1380
1832
  "value": "io.camunda:google-drive:1",
1381
1833
  "binding": {
1382
- "property": "type",
1383
- "type": "zeebe:taskDefinition"
1384
- },
1385
- "type": "Hidden"
1834
+ "type": "zeebe:taskDefinition",
1835
+ "property": "type"
1836
+ }
1386
1837
  },
1387
1838
  {
1388
- "id": "authentication.authType",
1839
+ "id": "authenticationType",
1389
1840
  "label": "Type",
1390
- "optional": false,
1391
- "value": "refresh",
1392
- "constraints": {
1393
- "notEmpty": true
1394
- },
1395
1841
  "group": "authentication",
1396
- "binding": {
1397
- "name": "authentication.authType",
1398
- "type": "zeebe:input"
1399
- },
1400
1842
  "type": "Dropdown",
1843
+ "value": "bearer",
1401
1844
  "choices": [
1402
1845
  {
1403
1846
  "name": "Bearer token",
@@ -1407,106 +1850,86 @@
1407
1850
  "name": "Refresh token",
1408
1851
  "value": "refresh"
1409
1852
  }
1410
- ]
1853
+ ],
1854
+ "binding": {
1855
+ "type": "zeebe:input",
1856
+ "name": "authentication.authType",
1857
+ "key": "authentication.authType"
1858
+ }
1411
1859
  },
1412
1860
  {
1413
- "id": "authentication.bearerToken",
1414
1861
  "label": "Bearer token",
1415
- "description": "Enter a valid Google API Bearer token",
1416
- "optional": false,
1417
- "constraints": {
1418
- "notEmpty": true
1419
- },
1420
- "feel": "optional",
1862
+ "description": "Enter Google API Bearer token that is authorized to interact with desired Drive",
1421
1863
  "group": "authentication",
1864
+ "type": "String",
1422
1865
  "binding": {
1423
- "name": "authentication.bearerToken",
1424
- "type": "zeebe:input"
1866
+ "type": "zeebe:input",
1867
+ "name": "authentication.bearerToken"
1425
1868
  },
1426
- "condition": {
1427
- "property": "authentication.authType",
1428
- "equals": "bearer",
1429
- "type": "simple"
1869
+ "constraints": {
1870
+ "notEmpty": true
1430
1871
  },
1431
- "type": "String"
1872
+ "condition": {
1873
+ "property": "authenticationType",
1874
+ "equals": "bearer"
1875
+ }
1432
1876
  },
1433
1877
  {
1434
- "id": "authentication.oauthClientId",
1435
1878
  "label": "Client ID",
1436
1879
  "description": "Enter Google API Client ID",
1437
- "optional": false,
1438
- "constraints": {
1439
- "notEmpty": true
1440
- },
1441
- "feel": "optional",
1442
1880
  "group": "authentication",
1881
+ "type": "String",
1443
1882
  "binding": {
1444
- "name": "authentication.oauthClientId",
1445
- "type": "zeebe:input"
1883
+ "type": "zeebe:input",
1884
+ "name": "authentication.oauthClientId"
1446
1885
  },
1447
- "condition": {
1448
- "property": "authentication.authType",
1449
- "equals": "refresh",
1450
- "type": "simple"
1886
+ "constraints": {
1887
+ "notEmpty": true
1451
1888
  },
1452
- "type": "String"
1889
+ "condition": {
1890
+ "property": "authenticationType",
1891
+ "equals": "refresh"
1892
+ }
1453
1893
  },
1454
1894
  {
1455
- "id": "authentication.oauthClientSecret",
1456
1895
  "label": "Client secret",
1457
1896
  "description": "Enter Google API client Secret",
1458
- "optional": false,
1459
- "constraints": {
1460
- "notEmpty": true
1461
- },
1462
- "feel": "optional",
1463
1897
  "group": "authentication",
1898
+ "type": "String",
1464
1899
  "binding": {
1465
- "name": "authentication.oauthClientSecret",
1466
- "type": "zeebe:input"
1900
+ "type": "zeebe:input",
1901
+ "name": "authentication.oauthClientSecret"
1467
1902
  },
1468
- "condition": {
1469
- "property": "authentication.authType",
1470
- "equals": "refresh",
1471
- "type": "simple"
1903
+ "constraints": {
1904
+ "notEmpty": true
1472
1905
  },
1473
- "type": "String"
1906
+ "condition": {
1907
+ "property": "authenticationType",
1908
+ "equals": "refresh"
1909
+ }
1474
1910
  },
1475
1911
  {
1476
- "id": "authentication.oauthRefreshToken",
1477
1912
  "label": "Refresh token",
1478
- "description": "Enter a valid Google API refresh token",
1479
- "optional": false,
1480
- "constraints": {
1481
- "notEmpty": true
1482
- },
1483
- "feel": "optional",
1913
+ "description": "Enter Google API refresh token that is authorized to interact with desired Drive",
1484
1914
  "group": "authentication",
1915
+ "type": "String",
1485
1916
  "binding": {
1486
- "name": "authentication.oauthRefreshToken",
1487
- "type": "zeebe:input"
1488
- },
1489
- "condition": {
1490
- "property": "authentication.authType",
1491
- "equals": "refresh",
1492
- "type": "simple"
1917
+ "type": "zeebe:input",
1918
+ "name": "authentication.oauthRefreshToken"
1493
1919
  },
1494
- "type": "String"
1495
- },
1496
- {
1497
- "id": "resource.type",
1498
- "label": "Operation",
1499
- "optional": false,
1500
- "value": "folder",
1501
1920
  "constraints": {
1502
1921
  "notEmpty": true
1503
1922
  },
1923
+ "condition": {
1924
+ "property": "authenticationType",
1925
+ "equals": "refresh"
1926
+ }
1927
+ },
1928
+ {
1929
+ "id": "resourceType",
1504
1930
  "group": "operation",
1505
- "binding": {
1506
- "name": "resource.type",
1507
- "type": "zeebe:input"
1508
- },
1509
1931
  "type": "Dropdown",
1932
+ "value": "folder",
1510
1933
  "choices": [
1511
1934
  {
1512
1935
  "name": "Create folder",
@@ -1516,157 +1939,164 @@
1516
1939
  "name": "Create file from template",
1517
1940
  "value": "file"
1518
1941
  }
1519
- ]
1942
+ ],
1943
+ "binding": {
1944
+ "type": "zeebe:input",
1945
+ "name": "resource.type",
1946
+ "key": "resource.type"
1947
+ }
1520
1948
  },
1521
1949
  {
1522
- "id": "resource.name",
1523
- "label": "New resource name",
1524
- "optional": false,
1950
+ "label": "File name",
1951
+ "description": "Enter name for your file",
1952
+ "group": "operationDetails",
1953
+ "type": "String",
1954
+ "feel": "optional",
1955
+ "binding": {
1956
+ "type": "zeebe:input",
1957
+ "name": "resource.name"
1958
+ },
1525
1959
  "constraints": {
1526
- "notEmpty": true
1960
+ "notEmpty": true,
1961
+ "maxLength": 255
1527
1962
  },
1963
+ "condition": {
1964
+ "property": "resourceType",
1965
+ "equals": "file"
1966
+ }
1967
+ },
1968
+ {
1969
+ "label": "Folder name",
1970
+ "description": "Enter name for your folder",
1971
+ "group": "operationDetails",
1972
+ "type": "String",
1528
1973
  "feel": "optional",
1974
+ "binding": {
1975
+ "type": "zeebe:input",
1976
+ "name": "resource.name"
1977
+ },
1978
+ "constraints": {
1979
+ "notEmpty": true,
1980
+ "maxLength": 255
1981
+ },
1982
+ "condition": {
1983
+ "property": "resourceType",
1984
+ "equals": "folder"
1985
+ }
1986
+ },
1987
+ {
1988
+ "label": "Template ID",
1989
+ "description": "Enter ID of the template you are creating a file from",
1529
1990
  "group": "operationDetails",
1991
+ "type": "String",
1992
+ "feel": "optional",
1530
1993
  "binding": {
1531
- "name": "resource.name",
1532
- "type": "zeebe:input"
1994
+ "type": "zeebe:input",
1995
+ "name": "resource.template.id"
1533
1996
  },
1534
- "type": "String"
1997
+ "constraints": {
1998
+ "notEmpty": true
1999
+ },
2000
+ "condition": {
2001
+ "property": "resourceType",
2002
+ "equals": "file"
2003
+ }
1535
2004
  },
1536
2005
  {
1537
- "id": "resource.parent",
1538
2006
  "label": "Parent folder ID",
1539
- "description": "Your resources will be created here. If left empty, a new resource will appear in the root folder",
1540
- "optional": true,
1541
- "feel": "optional",
2007
+ "description": "Enter ID of the parent folder where new folder will be created",
1542
2008
  "group": "operationDetails",
2009
+ "type": "String",
2010
+ "feel": "optional",
2011
+ "optional": true,
1543
2012
  "binding": {
1544
- "name": "resource.parent",
1545
- "type": "zeebe:input"
2013
+ "type": "zeebe:input",
2014
+ "name": "resource.parent"
1546
2015
  },
1547
- "type": "String"
2016
+ "condition": {
2017
+ "property": "resourceType",
2018
+ "equals": "folder"
2019
+ }
1548
2020
  },
1549
2021
  {
1550
- "id": "resource.additionalGoogleDriveProperties",
1551
- "label": "Additional properties or metadata",
1552
- "optional": true,
1553
- "feel": "required",
2022
+ "label": "Parent folder ID",
2023
+ "description": "Enter ID of the parent folder where new file will be created",
1554
2024
  "group": "operationDetails",
2025
+ "type": "String",
2026
+ "feel": "optional",
2027
+ "optional": true,
1555
2028
  "binding": {
1556
- "name": "resource.additionalGoogleDriveProperties",
1557
- "type": "zeebe:input"
2029
+ "type": "zeebe:input",
2030
+ "name": "resource.parent"
1558
2031
  },
1559
2032
  "condition": {
1560
- "property": "resource.type",
1561
- "equals": "folder",
1562
- "type": "simple"
1563
- },
1564
- "type": "String"
2033
+ "property": "resourceType",
2034
+ "equals": "file"
2035
+ }
1565
2036
  },
1566
2037
  {
1567
- "id": "resource.template.id",
1568
- "label": "Template ID",
1569
- "optional": false,
1570
- "constraints": {
1571
- "notEmpty": true
1572
- },
1573
- "feel": "optional",
2038
+ "label": "Template variables",
2039
+ "description": "Use this field to pass and update variables in your template as JSON",
1574
2040
  "group": "operationDetails",
2041
+ "type": "Text",
2042
+ "feel": "required",
1575
2043
  "binding": {
1576
- "name": "resource.template.id",
1577
- "type": "zeebe:input"
2044
+ "type": "zeebe:input",
2045
+ "name": "resource.template.variables"
1578
2046
  },
1579
2047
  "condition": {
1580
- "property": "resource.type",
1581
- "equals": "file",
1582
- "type": "simple"
1583
- },
1584
- "type": "String"
2048
+ "property": "resourceType",
2049
+ "equals": "file"
2050
+ }
1585
2051
  },
1586
2052
  {
1587
- "id": "resource.template.variables",
1588
- "label": "Template variables",
1589
- "optional": false,
1590
- "feel": "required",
2053
+ "label": "Additional properties or metadata",
2054
+ "description": "Use this field to pass additional Google Drive parameters as JSON.",
1591
2055
  "group": "operationDetails",
2056
+ "type": "Text",
2057
+ "optional": true,
2058
+ "feel": "required",
1592
2059
  "binding": {
1593
- "name": "resource.template.variables",
1594
- "type": "zeebe:input"
1595
- },
1596
- "condition": {
1597
- "property": "resource.type",
1598
- "equals": "file",
1599
- "type": "simple"
1600
- },
1601
- "type": "String"
2060
+ "type": "zeebe:input",
2061
+ "name": "resource.additionalGoogleDriveProperties",
2062
+ "key": "resource.additionalGoogleDriveProperties"
2063
+ }
1602
2064
  },
1603
2065
  {
1604
- "id": "resultVariable",
1605
2066
  "label": "Result variable",
1606
- "description": "Name of variable to store the response in",
2067
+ "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>",
1607
2068
  "group": "output",
2069
+ "type": "String",
1608
2070
  "binding": {
1609
- "key": "resultVariable",
1610
- "type": "zeebe:taskHeader"
1611
- },
1612
- "type": "String"
2071
+ "type": "zeebe:taskHeader",
2072
+ "key": "resultVariable"
2073
+ }
1613
2074
  },
1614
2075
  {
1615
- "id": "resultExpression",
1616
2076
  "label": "Result expression",
1617
- "description": "Expression to map the response into process variables",
1618
- "feel": "required",
2077
+ "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>",
1619
2078
  "group": "output",
2079
+ "type": "Text",
2080
+ "feel": "required",
1620
2081
  "binding": {
1621
- "key": "resultExpression",
1622
- "type": "zeebe:taskHeader"
1623
- },
1624
- "type": "Text"
2082
+ "type": "zeebe:taskHeader",
2083
+ "key": "resultExpression"
2084
+ }
1625
2085
  },
1626
2086
  {
1627
- "id": "errorExpression",
1628
2087
  "label": "Error expression",
1629
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2088
+ "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>",
2089
+ "group": "errors",
2090
+ "type": "Text",
1630
2091
  "feel": "required",
1631
- "group": "error",
1632
- "binding": {
1633
- "key": "errorExpression",
1634
- "type": "zeebe:taskHeader"
1635
- },
1636
- "type": "Text"
1637
- },
1638
- {
1639
- "id": "retryCount",
1640
- "label": "Retries",
1641
- "description": "Number of retries",
1642
- "value": "3",
1643
- "feel": "optional",
1644
- "group": "retries",
1645
- "binding": {
1646
- "property": "retries",
1647
- "type": "zeebe:taskDefinition"
1648
- },
1649
- "type": "String"
1650
- },
1651
- {
1652
- "id": "retryBackoff",
1653
- "label": "Retry backoff",
1654
- "description": "ISO-8601 duration to wait between retries",
1655
- "value": "PT0S",
1656
- "feel": "optional",
1657
- "group": "retries",
1658
2092
  "binding": {
1659
- "key": "retryBackoff",
1660
- "type": "zeebe:taskHeader"
1661
- },
1662
- "type": "String"
2093
+ "type": "zeebe:taskHeader",
2094
+ "key": "errorExpression"
2095
+ }
1663
2096
  }
1664
2097
  ],
1665
2098
  "icon": {
1666
- "contents": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgODcuMyA3OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Im02LjYgNjYuODUgMy44NSA2LjY1Yy44IDEuNCAxLjk1IDIuNSAzLjMgMy4zbDEzLjc1LTIzLjhoLTI3LjVjMCAxLjU1LjQgMy4xIDEuMiA0LjV6IiBmaWxsPSIjMDA2NmRhIi8+Cgk8cGF0aCBkPSJtNDMuNjUgMjUtMTMuNzUtMjMuOGMtMS4zNS44LTIuNSAxLjktMy4zIDMuM2wtMjUuNCA0NGE5LjA2IDkuMDYgMCAwIDAgLTEuMiA0LjVoMjcuNXoiIGZpbGw9IiMwMGFjNDciLz4KCTxwYXRoIGQ9Im03My41NSA3Ni44YzEuMzUtLjggMi41LTEuOSAzLjMtMy4zbDEuNi0yLjc1IDcuNjUtMTMuMjVjLjgtMS40IDEuMi0yLjk1IDEuMi00LjVoLTI3LjUwMmw1Ljg1MiAxMS41eiIgZmlsbD0iI2VhNDMzNSIvPgoJPHBhdGggZD0ibTQzLjY1IDI1IDEzLjc1LTIzLjhjLTEuMzUtLjgtMi45LTEuMi00LjUtMS4yaC0xOC41Yy0xLjYgMC0zLjE1LjQ1LTQuNSAxLjJ6IiBmaWxsPSIjMDA4MzJkIi8+Cgk8cGF0aCBkPSJtNTkuOCA1M2gtMzIuM2wtMTMuNzUgMjMuOGMxLjM1LjggMi45IDEuMiA0LjUgMS4yaDUwLjhjMS42IDAgMy4xNS0uNDUgNC41LTEuMnoiIGZpbGw9IiMyNjg0ZmMiLz4KCTxwYXRoIGQ9Im03My40IDI2LjUtMTIuNy0yMmMtLjgtMS40LTEuOTUtMi41LTMuMy0zLjNsLTEzLjc1IDIzLjggMTYuMTUgMjhoMjcuNDVjMC0xLjU1LS40LTMuMS0xLjItNC41eiIgZmlsbD0iI2ZmYmEwMCIvPgo8L3N2Zz4="
1667
- },
1668
- "engines": {
1669
- "camunda": "^8.5"
2099
+ "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
2100
  }
1671
2101
  },
1672
2102
  {
@@ -1674,11 +2104,17 @@
1674
2104
  "name": "Google Drive Outbound Connector",
1675
2105
  "id": "io.camunda.connectors.GoogleDrive.v1",
1676
2106
  "description": "Manage Google Drive files and folders",
1677
- "metadata": {
1678
- "keywords": ["create file", "create file from template", "create folder"]
1679
- },
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
+ ],
1680
2116
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/",
1681
- "version": 5,
2117
+ "version": 6,
1682
2118
  "category": {
1683
2119
  "id": "connectors",
1684
2120
  "name": "Connectors"
@@ -1688,7 +2124,7 @@
1688
2124
  "value": "bpmn:ServiceTask"
1689
2125
  },
1690
2126
  "engines": {
1691
- "camunda": "^8.3"
2127
+ "camunda": "^8.10"
1692
2128
  },
1693
2129
  "groups": [
1694
2130
  {
@@ -1984,15 +2420,199 @@
1984
2420
  "type": "String"
1985
2421
  },
1986
2422
  {
1987
- "id": "resource.uploadData.document",
1988
- "label": "Document",
2423
+ "id": "resource.uploadData.document_documentSource",
2424
+ "label": "Document source",
1989
2425
  "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,
2426
+ "value": "camunda",
2427
+ "group": "operationDetails",
2428
+ "binding": {
2429
+ "name": "resource.uploadData.document_documentSource",
2430
+ "type": "zeebe:input"
2431
+ },
2432
+ "condition": {
2433
+ "property": "resource.type",
2434
+ "equals": "upload",
2435
+ "type": "simple"
2436
+ },
2437
+ "type": "Dropdown",
2438
+ "choices": [
2439
+ {
2440
+ "name": "Camunda Document",
2441
+ "value": "camunda"
2442
+ },
2443
+ {
2444
+ "name": "Inline Content",
2445
+ "value": "inline"
2446
+ },
2447
+ {
2448
+ "name": "From URL",
2449
+ "value": "external"
2450
+ }
2451
+ ]
2452
+ },
2453
+ {
2454
+ "id": "resource.uploadData.document_camundaReference",
2455
+ "label": "Camunda document",
1991
2456
  "constraints": {
1992
2457
  "notEmpty": true
1993
2458
  },
1994
2459
  "feel": "required",
1995
2460
  "group": "operationDetails",
2461
+ "binding": {
2462
+ "name": "resource.uploadData.document_camundaReference",
2463
+ "type": "zeebe:input"
2464
+ },
2465
+ "condition": {
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"
2480
+ },
2481
+ {
2482
+ "id": "resource.uploadData.document_inline_content",
2483
+ "label": "Content",
2484
+ "constraints": {
2485
+ "notEmpty": true
2486
+ },
2487
+ "feel": "optional",
2488
+ "group": "operationDetails",
2489
+ "binding": {
2490
+ "name": "resource.uploadData.document_inline_content",
2491
+ "type": "zeebe:input"
2492
+ },
2493
+ "condition": {
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"
2508
+ },
2509
+ {
2510
+ "id": "resource.uploadData.document_inline_fileName",
2511
+ "label": "File name",
2512
+ "feel": "optional",
2513
+ "group": "operationDetails",
2514
+ "binding": {
2515
+ "name": "resource.uploadData.document_inline_fileName",
2516
+ "type": "zeebe:input"
2517
+ },
2518
+ "condition": {
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"
2533
+ },
2534
+ {
2535
+ "id": "resource.uploadData.document_inline_contentType",
2536
+ "label": "Content type",
2537
+ "feel": "optional",
2538
+ "group": "operationDetails",
2539
+ "binding": {
2540
+ "name": "resource.uploadData.document_inline_contentType",
2541
+ "type": "zeebe:input"
2542
+ },
2543
+ "condition": {
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"
2558
+ },
2559
+ {
2560
+ "id": "resource.uploadData.document_external_url",
2561
+ "label": "URL",
2562
+ "constraints": {
2563
+ "notEmpty": true
2564
+ },
2565
+ "feel": "optional",
2566
+ "group": "operationDetails",
2567
+ "binding": {
2568
+ "name": "resource.uploadData.document_external_url",
2569
+ "type": "zeebe:input"
2570
+ },
2571
+ "condition": {
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"
2586
+ },
2587
+ {
2588
+ "id": "resource.uploadData.document_external_fileName",
2589
+ "label": "File name",
2590
+ "feel": "optional",
2591
+ "group": "operationDetails",
2592
+ "binding": {
2593
+ "name": "resource.uploadData.document_external_fileName",
2594
+ "type": "zeebe:input"
2595
+ },
2596
+ "condition": {
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"
2611
+ },
2612
+ {
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",
2615
+ "group": "operationDetails",
1996
2616
  "binding": {
1997
2617
  "name": "resource.uploadData.document",
1998
2618
  "type": "zeebe:input"
@@ -2002,13 +2622,13 @@
2002
2622
  "equals": "upload",
2003
2623
  "type": "simple"
2004
2624
  },
2005
- "type": "String"
2625
+ "type": "Hidden"
2006
2626
  },
2007
2627
  {
2008
2628
  "id": "version",
2009
2629
  "label": "Version",
2010
2630
  "description": "Version of the element template",
2011
- "value": "5",
2631
+ "value": "6",
2012
2632
  "group": "connector",
2013
2633
  "binding": {
2014
2634
  "key": "elementTemplateVersion",
@@ -2031,7 +2651,7 @@
2031
2651
  {
2032
2652
  "id": "resultVariable",
2033
2653
  "label": "Result variable",
2034
- "description": "Name of variable to store the response in",
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>.",
2035
2655
  "group": "output",
2036
2656
  "binding": {
2037
2657
  "key": "resultVariable",
@@ -2042,7 +2662,7 @@
2042
2662
  {
2043
2663
  "id": "resultExpression",
2044
2664
  "label": "Result expression",
2045
- "description": "Expression to map the response into process variables",
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>.",
2046
2666
  "feel": "required",
2047
2667
  "group": "output",
2048
2668
  "binding": {