@camunda/connectors-element-templates 1.0.5 → 1.0.7

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 (85) hide show
  1. package/package.json +1 -1
  2. package/src/build_element_template_array_json_files.sh +9 -0
  3. package/src/connectors.js +4 -2
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +171 -13
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +1618 -0
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3064 -300
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2 -1
  9. package/src/element-templates/asana-connector.json +8 -8
  10. package/src/element-templates/automation-anywhere-outbound-connector.json +1185 -1179
  11. package/src/element-templates/aws-dynamodb-outbound-connector.json +77 -77
  12. package/src/element-templates/aws-eventbridge-connector-boundary.json +20 -20
  13. package/src/element-templates/aws-eventbridge-connector-intermediate.json +38 -38
  14. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  15. package/src/element-templates/aws-eventbridge-connector-start-event.json +18 -15
  16. package/src/element-templates/aws-eventbridge-outbound-connector.json +50 -50
  17. package/src/element-templates/aws-lambda-outbound-connector.json +279 -279
  18. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  19. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  20. package/src/element-templates/aws-sns-inbound-boundary.json +486 -486
  21. package/src/element-templates/aws-sns-inbound-intermediate.json +491 -491
  22. package/src/element-templates/aws-sns-inbound-message-start.json +98 -98
  23. package/src/element-templates/aws-sns-inbound-start-event.json +133 -133
  24. package/src/element-templates/aws-sns-outbound-connector.json +423 -423
  25. package/src/element-templates/aws-sqs-boundary-connector.json +58 -58
  26. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +523 -523
  27. package/src/element-templates/aws-sqs-outbound-connector.json +692 -692
  28. package/src/element-templates/aws-sqs-start-event-connector.json +709 -709
  29. package/src/element-templates/aws-sqs-start-message.json +460 -460
  30. package/src/element-templates/azure-blobstorage-outbound-connector.json +1 -1
  31. package/src/element-templates/blue-prism-connector.json +53 -53
  32. package/src/element-templates/csv-outbound-connector.json +804 -0
  33. package/src/element-templates/easy-post-connector.json +151 -151
  34. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  35. package/src/element-templates/email-message-start-event-connector.json +19 -19
  36. package/src/element-templates/email-outbound-connector.json +199 -199
  37. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3478 -170
  38. package/src/element-templates/github-connector.json +277 -277
  39. package/src/element-templates/github-webhook-connector-intermediate.json +44 -44
  40. package/src/element-templates/github-webhook-connector-start-event.json +29 -26
  41. package/src/element-templates/gitlab-connector.json +990 -990
  42. package/src/element-templates/google-drive-outbound-connector.json +423 -423
  43. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  44. package/src/element-templates/google-maps-platform-connector.json +17 -17
  45. package/src/element-templates/google-sheets-outbound-connector.json +2550 -2550
  46. package/src/element-templates/graphql-outbound-connector.json +1179 -1179
  47. package/src/element-templates/http-json-connector.json +2280 -2280
  48. package/src/element-templates/http-polling-boundary-catch-event-connector.json +256 -553
  49. package/src/element-templates/http-polling-connector.json +262 -559
  50. package/src/element-templates/hugging-face-connector.json +34 -34
  51. package/src/element-templates/jdbc-outbound-connector.json +402 -0
  52. package/src/element-templates/kafka-inbound-connector-boundary.json +1052 -1052
  53. package/src/element-templates/kafka-inbound-connector-intermediate.json +1088 -1088
  54. package/src/element-templates/kafka-inbound-connector-start-message.json +112 -112
  55. package/src/element-templates/kafka-inbound-connector.json +3 -0
  56. package/src/element-templates/kafka-outbound-connector.json +617 -617
  57. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  58. package/src/element-templates/microsoft-teams-outbound-connector.json +1783 -1783
  59. package/src/element-templates/openai-connector.json +144 -144
  60. package/src/element-templates/operate-connector.json +66 -62
  61. package/src/element-templates/power-automate-connector.json +10 -10
  62. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +439 -439
  63. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +474 -474
  64. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +11 -11
  65. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +597 -597
  66. package/src/element-templates/rabbitmq-outbound-connector.json +622 -622
  67. package/src/element-templates/salesforce-connector.json +44 -44
  68. package/src/element-templates/sendgrid-outbound-connector.json +633 -633
  69. package/src/element-templates/slack-inbound-boundary.json +184 -184
  70. package/src/element-templates/slack-inbound-intermediate.json +168 -168
  71. package/src/element-templates/slack-inbound-message-start.json +201 -201
  72. package/src/element-templates/slack-inbound-start-event.json +320 -317
  73. package/src/element-templates/slack-outbound-connector.json +1185 -1185
  74. package/src/element-templates/twilio-connector.json +26 -26
  75. package/src/element-templates/twilio-webhook-boundary-connector.json +28 -28
  76. package/src/element-templates/twilio-webhook-connector.json +3 -0
  77. package/src/element-templates/twilio-webhook-intermediate-connector.json +31 -31
  78. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  79. package/src/element-templates/uipath-connector.json +10 -10
  80. package/src/element-templates/webhook-connector-boundary.json +629 -629
  81. package/src/element-templates/webhook-connector-intermediate.json +268 -268
  82. package/src/element-templates/webhook-connector-start-event.json +1563 -1560
  83. package/src/element-templates/webhook-connector-start-message.json +1258 -1258
  84. package/src/element-templates/whatsapp-connector.json +39 -39
  85. package/src/element-templates/idp-extraction-outbound-connector.json +0 -932
@@ -1,14 +1,14 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "GraphQL connector",
4
+ "name": "GraphQL Outbound Connector",
5
5
  "id": "io.camunda.connectors.GraphQL.v1",
6
6
  "description": "Execute GraphQL query",
7
- "version": 1,
8
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
9
- "icon": {
10
- "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
7
+ "metadata": {
8
+ "keywords": []
11
9
  },
10
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
11
+ "version": 8,
12
12
  "category": {
13
13
  "id": "connectors",
14
14
  "name": "Connectors"
@@ -17,6 +17,9 @@
17
17
  "elementType": {
18
18
  "value": "bpmn:ServiceTask"
19
19
  },
20
+ "engines": {
21
+ "camunda": "^8.3"
22
+ },
20
23
  "groups": [
21
24
  {
22
25
  "id": "authentication",
@@ -24,7 +27,7 @@
24
27
  },
25
28
  {
26
29
  "id": "endpoint",
27
- "label": "HTTP endpoint"
30
+ "label": "HTTP Endpoint"
28
31
  },
29
32
  {
30
33
  "id": "graphql",
@@ -32,37 +35,49 @@
32
35
  },
33
36
  {
34
37
  "id": "timeout",
35
- "label": "Connect timeout"
38
+ "label": "Connection timeout"
39
+ },
40
+ {
41
+ "id": "connector",
42
+ "label": "Connector"
36
43
  },
37
44
  {
38
45
  "id": "output",
39
- "label": "Response mapping"
46
+ "label": "Output mapping"
40
47
  },
41
48
  {
42
- "id": "errors",
49
+ "id": "error",
43
50
  "label": "Error handling"
51
+ },
52
+ {
53
+ "id": "retries",
54
+ "label": "Retries"
44
55
  }
45
56
  ],
46
57
  "properties": [
47
58
  {
48
- "type": "Hidden",
49
59
  "value": "io.camunda:connector-graphql:1",
50
60
  "binding": {
51
- "type": "zeebe:taskDefinition",
52
- "property": "type"
53
- }
61
+ "property": "type",
62
+ "type": "zeebe:taskDefinition"
63
+ },
64
+ "type": "Hidden"
54
65
  },
55
66
  {
67
+ "id": "authentication.type",
56
68
  "label": "Type",
57
- "id": "authenticationType",
58
- "group": "authentication",
59
69
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
60
70
  "value": "noAuth",
71
+ "group": "authentication",
72
+ "binding": {
73
+ "name": "authentication.type",
74
+ "type": "zeebe:input"
75
+ },
61
76
  "type": "Dropdown",
62
77
  "choices": [
63
78
  {
64
- "name": "None",
65
- "value": "noAuth"
79
+ "name": "API key",
80
+ "value": "apiKey"
66
81
  },
67
82
  {
68
83
  "name": "Basic",
@@ -72,202 +87,250 @@
72
87
  "name": "Bearer token",
73
88
  "value": "bearer"
74
89
  },
90
+ {
91
+ "name": "None",
92
+ "value": "noAuth"
93
+ },
75
94
  {
76
95
  "name": "OAuth 2.0",
77
96
  "value": "oauth-client-credentials-flow"
78
97
  }
79
- ],
80
- "binding": {
81
- "type": "zeebe:input",
82
- "name": "authentication.type"
83
- }
98
+ ]
84
99
  },
85
100
  {
86
- "label": "URL",
87
- "group": "endpoint",
88
- "type": "String",
89
- "feel": "optional",
101
+ "id": "authentication.apiKeyLocation",
102
+ "label": "Api key location",
103
+ "description": "Choose type: Send API key in header or as query parameter.",
104
+ "optional": false,
105
+ "value": "headers",
106
+ "constraints": {
107
+ "notEmpty": true
108
+ },
109
+ "group": "authentication",
90
110
  "binding": {
91
- "type": "zeebe:input",
92
- "name": "graphql.url"
111
+ "name": "authentication.apiKeyLocation",
112
+ "type": "zeebe:input"
113
+ },
114
+ "condition": {
115
+ "property": "authentication.type",
116
+ "equals": "apiKey",
117
+ "type": "simple"
93
118
  },
94
- "constraints": {
95
- "notEmpty": true,
96
- "pattern": {
97
- "value": "^(=|(http://|https://|secrets).*$)",
98
- "message": "Must be a http(s) URL."
99
- }
100
- }
101
- },
102
- {
103
- "id": "method",
104
- "label": "Method",
105
- "group": "endpoint",
106
119
  "type": "Dropdown",
107
- "value": "post",
108
120
  "choices": [
109
121
  {
110
- "name": "POST",
111
- "value": "post"
122
+ "name": "Headers",
123
+ "value": "headers"
112
124
  },
113
125
  {
114
- "name": "GET",
115
- "value": "get"
126
+ "name": "Query parameters",
127
+ "value": "query"
116
128
  }
117
- ],
118
- "binding": {
119
- "type": "zeebe:input",
120
- "name": "graphql.method"
121
- }
122
- },
123
- {
124
- "id": "headers",
125
- "label": "Headers",
126
- "group": "endpoint",
127
- "type": "Text",
128
- "feel": "required",
129
- "optional": true,
130
- "binding": {
131
- "type": "zeebe:input",
132
- "name": "graphql.headers"
133
- }
129
+ ]
134
130
  },
135
131
  {
136
- "label": "Query/Mutation",
137
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
138
- "group": "graphql",
139
- "type": "Text",
140
- "language": "graphql",
141
- "binding": {
142
- "type": "zeebe:input",
143
- "name": "graphql.query"
144
- },
132
+ "id": "authentication.name",
133
+ "label": "API key name",
145
134
  "optional": false,
146
135
  "constraints": {
147
136
  "notEmpty": true
148
- }
149
- },
150
- {
151
- "label": "Variables",
152
- "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
153
- "group": "graphql",
154
- "type": "Text",
155
- "feel": "required",
156
- "binding": {
157
- "type": "zeebe:input",
158
- "name": "graphql.variables"
159
137
  },
160
- "optional": true
161
- },
162
- {
163
- "label": "Bearer token",
164
- "group": "authentication",
165
- "type": "String",
166
138
  "feel": "optional",
139
+ "group": "authentication",
167
140
  "binding": {
168
- "type": "zeebe:input",
169
- "name": "graphql.authentication.token"
170
- },
171
- "constraints": {
172
- "notEmpty": true
141
+ "name": "authentication.name",
142
+ "type": "zeebe:input"
173
143
  },
174
144
  "condition": {
175
- "property": "authenticationType",
176
- "equals": "bearer"
177
- }
145
+ "property": "authentication.type",
146
+ "equals": "apiKey",
147
+ "type": "simple"
148
+ },
149
+ "type": "String"
178
150
  },
179
151
  {
180
- "label": "OAuth token endpoint",
181
- "description": "The OAuth token endpoint",
182
- "group": "authentication",
183
- "type": "String",
184
- "feel": "optional",
185
- "binding": {
186
- "type": "zeebe:input",
187
- "name": "authentication.oauthTokenEndpoint"
188
- },
152
+ "id": "authentication.value",
153
+ "label": "API key value",
154
+ "optional": false,
189
155
  "constraints": {
190
156
  "notEmpty": true
191
157
  },
192
- "condition": {
193
- "property": "authenticationType",
194
- "equals": "oauth-client-credentials-flow"
195
- }
196
- },
197
- {
198
- "label": "Client ID",
199
- "description": "Your application's client ID from the OAuth client",
200
- "group": "authentication",
201
- "type": "String",
202
158
  "feel": "optional",
159
+ "group": "authentication",
203
160
  "binding": {
204
- "type": "zeebe:input",
205
- "name": "authentication.clientId"
206
- },
207
- "constraints": {
208
- "notEmpty": true
161
+ "name": "authentication.value",
162
+ "type": "zeebe:input"
209
163
  },
210
164
  "condition": {
211
- "property": "authenticationType",
212
- "equals": "oauth-client-credentials-flow"
213
- }
165
+ "property": "authentication.type",
166
+ "equals": "apiKey",
167
+ "type": "simple"
168
+ },
169
+ "type": "String"
214
170
  },
215
171
  {
216
- "label": "Client secret",
217
- "description": "Your application's client secret from the OAuth client",
218
- "group": "authentication",
219
- "type": "String",
220
- "feel": "optional",
221
- "binding": {
222
- "type": "zeebe:input",
223
- "name": "authentication.clientSecret"
224
- },
172
+ "id": "authentication.username",
173
+ "label": "Username",
174
+ "optional": false,
225
175
  "constraints": {
226
176
  "notEmpty": true
227
177
  },
228
- "condition": {
229
- "property": "authenticationType",
230
- "equals": "oauth-client-credentials-flow"
231
- }
232
- },
233
- {
234
- "label": "Scopes",
235
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
236
- "group": "authentication",
237
- "type": "String",
238
178
  "feel": "optional",
239
- "optional": true,
179
+ "group": "authentication",
240
180
  "binding": {
241
- "type": "zeebe:input",
242
- "name": "authentication.scopes"
181
+ "name": "authentication.username",
182
+ "type": "zeebe:input"
243
183
  },
244
184
  "condition": {
245
- "property": "authenticationType",
246
- "equals": "oauth-client-credentials-flow"
247
- }
185
+ "property": "authentication.type",
186
+ "equals": "basic",
187
+ "type": "simple"
188
+ },
189
+ "type": "String"
248
190
  },
249
191
  {
250
- "label": "Audience",
251
- "description": "The unique identifier of the target API you want to access",
252
- "group": "authentication",
253
- "type": "String",
192
+ "id": "authentication.password",
193
+ "label": "Password",
194
+ "optional": false,
195
+ "constraints": {
196
+ "notEmpty": true
197
+ },
254
198
  "feel": "optional",
255
- "optional": true,
199
+ "group": "authentication",
256
200
  "binding": {
257
- "type": "zeebe:input",
258
- "name": "authentication.audience"
201
+ "name": "authentication.password",
202
+ "type": "zeebe:input"
259
203
  },
260
204
  "condition": {
261
- "property": "authenticationType",
262
- "equals": "oauth-client-credentials-flow"
263
- }
205
+ "property": "authentication.type",
206
+ "equals": "basic",
207
+ "type": "simple"
208
+ },
209
+ "type": "String"
210
+ },
211
+ {
212
+ "id": "authentication.token",
213
+ "label": "Bearer token",
214
+ "optional": false,
215
+ "constraints": {
216
+ "notEmpty": true
217
+ },
218
+ "feel": "optional",
219
+ "group": "authentication",
220
+ "binding": {
221
+ "name": "authentication.token",
222
+ "type": "zeebe:input"
223
+ },
224
+ "condition": {
225
+ "property": "authentication.type",
226
+ "equals": "bearer",
227
+ "type": "simple"
228
+ },
229
+ "type": "String"
230
+ },
231
+ {
232
+ "id": "authentication.oauthTokenEndpoint",
233
+ "label": "OAuth 2.0 token endpoint",
234
+ "description": "The OAuth token endpoint",
235
+ "optional": false,
236
+ "constraints": {
237
+ "notEmpty": true,
238
+ "pattern": {
239
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
240
+ "message": "Must be a http(s) URL"
241
+ }
242
+ },
243
+ "feel": "optional",
244
+ "group": "authentication",
245
+ "binding": {
246
+ "name": "authentication.oauthTokenEndpoint",
247
+ "type": "zeebe:input"
248
+ },
249
+ "condition": {
250
+ "property": "authentication.type",
251
+ "equals": "oauth-client-credentials-flow",
252
+ "type": "simple"
253
+ },
254
+ "type": "String"
255
+ },
256
+ {
257
+ "id": "authentication.clientId",
258
+ "label": "Client ID",
259
+ "description": "Your application's client ID from the OAuth client",
260
+ "optional": false,
261
+ "constraints": {
262
+ "notEmpty": true
263
+ },
264
+ "feel": "optional",
265
+ "group": "authentication",
266
+ "binding": {
267
+ "name": "authentication.clientId",
268
+ "type": "zeebe:input"
269
+ },
270
+ "condition": {
271
+ "property": "authentication.type",
272
+ "equals": "oauth-client-credentials-flow",
273
+ "type": "simple"
274
+ },
275
+ "type": "String"
276
+ },
277
+ {
278
+ "id": "authentication.clientSecret",
279
+ "label": "Client secret",
280
+ "description": "Your application's client secret from the OAuth client",
281
+ "optional": false,
282
+ "constraints": {
283
+ "notEmpty": true
284
+ },
285
+ "feel": "optional",
286
+ "group": "authentication",
287
+ "binding": {
288
+ "name": "authentication.clientSecret",
289
+ "type": "zeebe:input"
290
+ },
291
+ "condition": {
292
+ "property": "authentication.type",
293
+ "equals": "oauth-client-credentials-flow",
294
+ "type": "simple"
295
+ },
296
+ "type": "String"
297
+ },
298
+ {
299
+ "id": "authentication.audience",
300
+ "label": "Audience",
301
+ "description": "The unique identifier of the target API you want to access",
302
+ "optional": true,
303
+ "feel": "optional",
304
+ "group": "authentication",
305
+ "binding": {
306
+ "name": "authentication.audience",
307
+ "type": "zeebe:input"
308
+ },
309
+ "condition": {
310
+ "property": "authentication.type",
311
+ "equals": "oauth-client-credentials-flow",
312
+ "type": "simple"
313
+ },
314
+ "type": "String"
264
315
  },
265
316
  {
266
- "label": "Client authentication",
267
317
  "id": "authentication.clientAuthentication",
318
+ "label": "Client authentication",
319
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
320
+ "optional": false,
321
+ "constraints": {
322
+ "notEmpty": true
323
+ },
268
324
  "group": "authentication",
269
- "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
270
- "value": "basicAuthHeader",
325
+ "binding": {
326
+ "name": "authentication.clientAuthentication",
327
+ "type": "zeebe:input"
328
+ },
329
+ "condition": {
330
+ "property": "authentication.type",
331
+ "equals": "oauth-client-credentials-flow",
332
+ "type": "simple"
333
+ },
271
334
  "type": "Dropdown",
272
335
  "choices": [
273
336
  {
@@ -278,105 +341,226 @@
278
341
  "name": "Send as Basic Auth header",
279
342
  "value": "basicAuthHeader"
280
343
  }
281
- ],
282
- "binding": {
283
- "type": "zeebe:input",
284
- "name": "authentication.clientAuthentication"
285
- },
286
- "condition": {
287
- "property": "authenticationType",
288
- "equals": "oauth-client-credentials-flow"
289
- }
344
+ ]
290
345
  },
291
346
  {
292
- "label": "Username",
293
- "group": "authentication",
294
- "type": "String",
347
+ "id": "authentication.scopes",
348
+ "label": "Scopes",
349
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
350
+ "optional": true,
295
351
  "feel": "optional",
352
+ "group": "authentication",
296
353
  "binding": {
297
- "type": "zeebe:input",
298
- "name": "authentication.username"
354
+ "name": "authentication.scopes",
355
+ "type": "zeebe:input"
356
+ },
357
+ "condition": {
358
+ "property": "authentication.type",
359
+ "equals": "oauth-client-credentials-flow",
360
+ "type": "simple"
299
361
  },
362
+ "type": "String"
363
+ },
364
+ {
365
+ "id": "graphql.method",
366
+ "label": "Method",
367
+ "optional": false,
368
+ "value": "get",
300
369
  "constraints": {
301
370
  "notEmpty": true
302
371
  },
303
- "condition": {
304
- "property": "authenticationType",
305
- "equals": "basic"
306
- }
372
+ "group": "endpoint",
373
+ "binding": {
374
+ "name": "graphql.method",
375
+ "type": "zeebe:input"
376
+ },
377
+ "type": "Dropdown",
378
+ "choices": [
379
+ {
380
+ "name": "GET",
381
+ "value": "get"
382
+ },
383
+ {
384
+ "name": "POST",
385
+ "value": "post"
386
+ }
387
+ ]
307
388
  },
308
389
  {
309
- "label": "Password",
310
- "group": "authentication",
311
- "type": "String",
390
+ "id": "graphql.url",
391
+ "label": "URL",
392
+ "optional": false,
393
+ "constraints": {
394
+ "notEmpty": true,
395
+ "pattern": {
396
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
397
+ "message": "Must be a http(s) URL"
398
+ }
399
+ },
312
400
  "feel": "optional",
401
+ "group": "endpoint",
313
402
  "binding": {
314
- "type": "zeebe:input",
315
- "name": "authentication.password"
403
+ "name": "graphql.url",
404
+ "type": "zeebe:input"
405
+ },
406
+ "type": "String"
407
+ },
408
+ {
409
+ "id": "graphql.headers",
410
+ "label": "Headers",
411
+ "description": "Map of HTTP headers to add to the request",
412
+ "optional": true,
413
+ "feel": "required",
414
+ "group": "endpoint",
415
+ "binding": {
416
+ "name": "graphql.headers",
417
+ "type": "zeebe:input"
316
418
  },
419
+ "type": "String"
420
+ },
421
+ {
422
+ "id": "graphql.storeResponse",
423
+ "label": "Store response",
424
+ "description": "Store the response as a document in the document store",
425
+ "optional": false,
426
+ "value": false,
427
+ "feel": "static",
428
+ "group": "endpoint",
429
+ "binding": {
430
+ "name": "graphql.storeResponse",
431
+ "type": "zeebe:input"
432
+ },
433
+ "type": "Boolean"
434
+ },
435
+ {
436
+ "id": "graphql.query",
437
+ "label": "Query/Mutation",
438
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
439
+ "optional": false,
317
440
  "constraints": {
318
441
  "notEmpty": true
319
442
  },
320
- "condition": {
321
- "property": "authenticationType",
322
- "equals": "basic"
323
- }
443
+ "feel": "optional",
444
+ "group": "graphql",
445
+ "binding": {
446
+ "name": "graphql.query",
447
+ "type": "zeebe:input"
448
+ },
449
+ "type": "Text"
324
450
  },
325
451
  {
326
- "label": "Connection timeout",
452
+ "id": "graphql.variables",
453
+ "label": "Variables",
454
+ "optional": true,
455
+ "feel": "required",
456
+ "group": "graphql",
457
+ "binding": {
458
+ "name": "graphql.variables",
459
+ "type": "zeebe:input"
460
+ },
461
+ "type": "String"
462
+ },
463
+ {
464
+ "id": "graphql.connectionTimeoutInSeconds",
465
+ "label": "Connection timeout in seconds",
327
466
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
467
+ "optional": true,
468
+ "value": 20,
469
+ "feel": "static",
328
470
  "group": "timeout",
329
- "type": "String",
330
- "value": "20",
331
471
  "binding": {
332
- "type": "zeebe:input",
333
- "name": "graphql.connectionTimeoutInSeconds"
472
+ "name": "graphql.connectionTimeoutInSeconds",
473
+ "type": "zeebe:input"
334
474
  },
335
- "feel": "optional",
336
- "optional": true,
337
- "constraints": {
338
- "notEmpty": false,
339
- "pattern": {
340
- "value": "^(=|([0-9]+|secrets\\..+)$)",
341
- "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
342
- }
343
- }
475
+ "type": "Number"
476
+ },
477
+ {
478
+ "id": "version",
479
+ "label": "Version",
480
+ "description": "Version of the element template",
481
+ "value": "8",
482
+ "group": "connector",
483
+ "binding": {
484
+ "key": "elementTemplateVersion",
485
+ "type": "zeebe:taskHeader"
486
+ },
487
+ "type": "Hidden"
344
488
  },
345
489
  {
490
+ "id": "id",
491
+ "label": "ID",
492
+ "description": "ID of the element template",
493
+ "value": "io.camunda.connectors.GraphQL.v1",
494
+ "group": "connector",
495
+ "binding": {
496
+ "key": "elementTemplateId",
497
+ "type": "zeebe:taskHeader"
498
+ },
499
+ "type": "Hidden"
500
+ },
501
+ {
502
+ "id": "resultVariable",
346
503
  "label": "Result variable",
347
504
  "description": "Name of variable to store the response in",
348
505
  "group": "output",
349
- "type": "String",
350
506
  "binding": {
351
- "type": "zeebe:taskHeader",
352
- "key": "resultVariable"
353
- }
507
+ "key": "resultVariable",
508
+ "type": "zeebe:taskHeader"
509
+ },
510
+ "type": "String"
354
511
  },
355
512
  {
513
+ "id": "resultExpression",
356
514
  "label": "Result expression",
357
515
  "description": "Expression to map the response into process variables",
358
- "group": "output",
359
- "type": "Text",
360
516
  "feel": "required",
517
+ "group": "output",
361
518
  "binding": {
362
- "type": "zeebe:taskHeader",
363
- "key": "resultExpression"
364
- }
519
+ "key": "resultExpression",
520
+ "type": "zeebe:taskHeader"
521
+ },
522
+ "type": "Text"
365
523
  },
366
524
  {
525
+ "id": "errorExpression",
367
526
  "label": "Error expression",
368
- "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>",
369
- "group": "errors",
370
- "type": "Text",
527
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
371
528
  "feel": "required",
529
+ "group": "error",
372
530
  "binding": {
373
- "type": "zeebe:taskHeader",
374
- "key": "errorExpression"
375
- }
531
+ "key": "errorExpression",
532
+ "type": "zeebe:taskHeader"
533
+ },
534
+ "type": "Text"
535
+ },
536
+ {
537
+ "id": "retryCount",
538
+ "label": "Retries",
539
+ "description": "Number of retries",
540
+ "value": "3",
541
+ "feel": "optional",
542
+ "group": "retries",
543
+ "binding": {
544
+ "property": "retries",
545
+ "type": "zeebe:taskDefinition"
546
+ },
547
+ "type": "String"
548
+ },
549
+ {
550
+ "id": "retryBackoff",
551
+ "label": "Retry backoff",
552
+ "description": "ISO-8601 duration to wait between retries",
553
+ "value": "PT0S",
554
+ "group": "retries",
555
+ "binding": {
556
+ "key": "retryBackoff",
557
+ "type": "zeebe:taskHeader"
558
+ },
559
+ "type": "String"
376
560
  }
377
561
  ],
378
- "engines": {
379
- "camunda": "^8.2"
562
+ "icon": {
563
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
380
564
  }
381
565
  },
382
566
  {
@@ -384,11 +568,11 @@
384
568
  "name": "GraphQL Outbound Connector",
385
569
  "id": "io.camunda.connectors.GraphQL.v1",
386
570
  "description": "Execute GraphQL query",
387
- "version": 3,
388
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
389
- "icon": {
390
- "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
571
+ "metadata": {
572
+ "keywords": []
391
573
  },
574
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
575
+ "version": 7,
392
576
  "category": {
393
577
  "id": "connectors",
394
578
  "name": "Connectors"
@@ -397,6 +581,9 @@
397
581
  "elementType": {
398
582
  "value": "bpmn:ServiceTask"
399
583
  },
584
+ "engines": {
585
+ "camunda": "^8.3"
586
+ },
400
587
  "groups": [
401
588
  {
402
589
  "id": "authentication",
@@ -404,7 +591,7 @@
404
591
  },
405
592
  {
406
593
  "id": "endpoint",
407
- "label": "HTTP endpoint"
594
+ "label": "HTTP Endpoint"
408
595
  },
409
596
  {
410
597
  "id": "graphql",
@@ -412,37 +599,45 @@
412
599
  },
413
600
  {
414
601
  "id": "timeout",
415
- "label": "Connect timeout"
602
+ "label": "Connection timeout"
416
603
  },
417
604
  {
418
605
  "id": "output",
419
- "label": "Response mapping"
606
+ "label": "Output mapping"
420
607
  },
421
608
  {
422
- "id": "errors",
609
+ "id": "error",
423
610
  "label": "Error handling"
611
+ },
612
+ {
613
+ "id": "retries",
614
+ "label": "Retries"
424
615
  }
425
616
  ],
426
617
  "properties": [
427
618
  {
428
- "type": "Hidden",
429
619
  "value": "io.camunda:connector-graphql:1",
430
620
  "binding": {
431
- "type": "zeebe:taskDefinition",
432
- "property": "type"
433
- }
621
+ "property": "type",
622
+ "type": "zeebe:taskDefinition"
623
+ },
624
+ "type": "Hidden"
434
625
  },
435
626
  {
627
+ "id": "authentication.type",
436
628
  "label": "Type",
437
- "id": "authenticationType",
438
- "group": "authentication",
439
629
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
440
630
  "value": "noAuth",
631
+ "group": "authentication",
632
+ "binding": {
633
+ "name": "authentication.type",
634
+ "type": "zeebe:input"
635
+ },
441
636
  "type": "Dropdown",
442
637
  "choices": [
443
638
  {
444
- "name": "None",
445
- "value": "noAuth"
639
+ "name": "API key",
640
+ "value": "apiKey"
446
641
  },
447
642
  {
448
643
  "name": "Basic",
@@ -452,202 +647,250 @@
452
647
  "name": "Bearer token",
453
648
  "value": "bearer"
454
649
  },
650
+ {
651
+ "name": "None",
652
+ "value": "noAuth"
653
+ },
455
654
  {
456
655
  "name": "OAuth 2.0",
457
656
  "value": "oauth-client-credentials-flow"
458
657
  }
459
- ],
460
- "binding": {
461
- "type": "zeebe:input",
462
- "name": "authentication.type"
463
- }
658
+ ]
464
659
  },
465
660
  {
466
- "label": "URL",
467
- "group": "endpoint",
468
- "type": "String",
469
- "feel": "optional",
661
+ "id": "authentication.apiKeyLocation",
662
+ "label": "Api key location",
663
+ "description": "Choose type: Send API key in header or as query parameter.",
664
+ "optional": false,
665
+ "value": "headers",
666
+ "constraints": {
667
+ "notEmpty": true
668
+ },
669
+ "group": "authentication",
470
670
  "binding": {
471
- "type": "zeebe:input",
472
- "name": "graphql.url"
671
+ "name": "authentication.apiKeyLocation",
672
+ "type": "zeebe:input"
673
+ },
674
+ "condition": {
675
+ "property": "authentication.type",
676
+ "equals": "apiKey",
677
+ "type": "simple"
473
678
  },
474
- "constraints": {
475
- "notEmpty": true,
476
- "pattern": {
477
- "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
478
- "message": "Must be a http(s) URL."
479
- }
480
- }
481
- },
482
- {
483
- "id": "method",
484
- "label": "Method",
485
- "group": "endpoint",
486
679
  "type": "Dropdown",
487
- "value": "post",
488
680
  "choices": [
489
681
  {
490
- "name": "POST",
491
- "value": "post"
682
+ "name": "Headers",
683
+ "value": "headers"
492
684
  },
493
685
  {
494
- "name": "GET",
495
- "value": "get"
686
+ "name": "Query parameters",
687
+ "value": "query"
496
688
  }
497
- ],
498
- "binding": {
499
- "type": "zeebe:input",
500
- "name": "graphql.method"
501
- }
689
+ ]
502
690
  },
503
691
  {
504
- "id": "headers",
505
- "label": "Headers",
506
- "group": "endpoint",
507
- "type": "Text",
508
- "feel": "required",
509
- "optional": true,
692
+ "id": "authentication.name",
693
+ "label": "API key name",
694
+ "optional": false,
695
+ "constraints": {
696
+ "notEmpty": true
697
+ },
698
+ "feel": "optional",
699
+ "group": "authentication",
510
700
  "binding": {
511
- "type": "zeebe:input",
512
- "name": "graphql.headers"
513
- }
701
+ "name": "authentication.name",
702
+ "type": "zeebe:input"
703
+ },
704
+ "condition": {
705
+ "property": "authentication.type",
706
+ "equals": "apiKey",
707
+ "type": "simple"
708
+ },
709
+ "type": "String"
514
710
  },
515
711
  {
516
- "label": "Query/Mutation",
517
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
518
- "group": "graphql",
519
- "type": "Text",
520
- "language": "graphql",
521
- "binding": {
522
- "type": "zeebe:input",
523
- "name": "graphql.query"
524
- },
712
+ "id": "authentication.value",
713
+ "label": "API key value",
525
714
  "optional": false,
526
715
  "constraints": {
527
716
  "notEmpty": true
528
- }
717
+ },
718
+ "feel": "optional",
719
+ "group": "authentication",
720
+ "binding": {
721
+ "name": "authentication.value",
722
+ "type": "zeebe:input"
723
+ },
724
+ "condition": {
725
+ "property": "authentication.type",
726
+ "equals": "apiKey",
727
+ "type": "simple"
728
+ },
729
+ "type": "String"
529
730
  },
530
731
  {
531
- "label": "Variables",
532
- "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
533
- "group": "graphql",
534
- "type": "Text",
535
- "feel": "required",
732
+ "id": "authentication.username",
733
+ "label": "Username",
734
+ "optional": false,
735
+ "constraints": {
736
+ "notEmpty": true
737
+ },
738
+ "feel": "optional",
739
+ "group": "authentication",
536
740
  "binding": {
537
- "type": "zeebe:input",
538
- "name": "graphql.variables"
741
+ "name": "authentication.username",
742
+ "type": "zeebe:input"
539
743
  },
540
- "optional": true
744
+ "condition": {
745
+ "property": "authentication.type",
746
+ "equals": "basic",
747
+ "type": "simple"
748
+ },
749
+ "type": "String"
541
750
  },
542
751
  {
543
- "label": "Bearer token",
544
- "group": "authentication",
545
- "type": "String",
752
+ "id": "authentication.password",
753
+ "label": "Password",
754
+ "optional": false,
755
+ "constraints": {
756
+ "notEmpty": true
757
+ },
546
758
  "feel": "optional",
759
+ "group": "authentication",
547
760
  "binding": {
548
- "type": "zeebe:input",
549
- "name": "graphql.authentication.token"
761
+ "name": "authentication.password",
762
+ "type": "zeebe:input"
763
+ },
764
+ "condition": {
765
+ "property": "authentication.type",
766
+ "equals": "basic",
767
+ "type": "simple"
550
768
  },
769
+ "type": "String"
770
+ },
771
+ {
772
+ "id": "authentication.token",
773
+ "label": "Bearer token",
774
+ "optional": false,
551
775
  "constraints": {
552
776
  "notEmpty": true
553
777
  },
778
+ "feel": "optional",
779
+ "group": "authentication",
780
+ "binding": {
781
+ "name": "authentication.token",
782
+ "type": "zeebe:input"
783
+ },
554
784
  "condition": {
555
- "property": "authenticationType",
556
- "equals": "bearer"
557
- }
785
+ "property": "authentication.type",
786
+ "equals": "bearer",
787
+ "type": "simple"
788
+ },
789
+ "type": "String"
558
790
  },
559
791
  {
560
- "label": "OAuth token endpoint",
792
+ "id": "authentication.oauthTokenEndpoint",
793
+ "label": "OAuth 2.0 token endpoint",
561
794
  "description": "The OAuth token endpoint",
562
- "group": "authentication",
563
- "type": "String",
795
+ "optional": false,
796
+ "constraints": {
797
+ "notEmpty": true,
798
+ "pattern": {
799
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
800
+ "message": "Must be a http(s) URL"
801
+ }
802
+ },
564
803
  "feel": "optional",
804
+ "group": "authentication",
565
805
  "binding": {
566
- "type": "zeebe:input",
567
- "name": "authentication.oauthTokenEndpoint"
568
- },
569
- "constraints": {
570
- "notEmpty": true
806
+ "name": "authentication.oauthTokenEndpoint",
807
+ "type": "zeebe:input"
571
808
  },
572
809
  "condition": {
573
- "property": "authenticationType",
574
- "equals": "oauth-client-credentials-flow"
575
- }
810
+ "property": "authentication.type",
811
+ "equals": "oauth-client-credentials-flow",
812
+ "type": "simple"
813
+ },
814
+ "type": "String"
576
815
  },
577
816
  {
817
+ "id": "authentication.clientId",
578
818
  "label": "Client ID",
579
819
  "description": "Your application's client ID from the OAuth client",
580
- "group": "authentication",
581
- "type": "String",
582
- "feel": "optional",
583
- "binding": {
584
- "type": "zeebe:input",
585
- "name": "authentication.clientId"
586
- },
820
+ "optional": false,
587
821
  "constraints": {
588
822
  "notEmpty": true
589
823
  },
824
+ "feel": "optional",
825
+ "group": "authentication",
826
+ "binding": {
827
+ "name": "authentication.clientId",
828
+ "type": "zeebe:input"
829
+ },
590
830
  "condition": {
591
- "property": "authenticationType",
592
- "equals": "oauth-client-credentials-flow"
593
- }
831
+ "property": "authentication.type",
832
+ "equals": "oauth-client-credentials-flow",
833
+ "type": "simple"
834
+ },
835
+ "type": "String"
594
836
  },
595
837
  {
838
+ "id": "authentication.clientSecret",
596
839
  "label": "Client secret",
597
840
  "description": "Your application's client secret from the OAuth client",
598
- "group": "authentication",
599
- "type": "String",
600
- "feel": "optional",
601
- "binding": {
602
- "type": "zeebe:input",
603
- "name": "authentication.clientSecret"
604
- },
841
+ "optional": false,
605
842
  "constraints": {
606
843
  "notEmpty": true
607
844
  },
608
- "condition": {
609
- "property": "authenticationType",
610
- "equals": "oauth-client-credentials-flow"
611
- }
612
- },
613
- {
614
- "label": "Scopes",
615
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
616
- "group": "authentication",
617
- "type": "String",
618
845
  "feel": "optional",
619
- "optional": true,
846
+ "group": "authentication",
620
847
  "binding": {
621
- "type": "zeebe:input",
622
- "name": "authentication.scopes"
848
+ "name": "authentication.clientSecret",
849
+ "type": "zeebe:input"
623
850
  },
624
851
  "condition": {
625
- "property": "authenticationType",
626
- "equals": "oauth-client-credentials-flow"
627
- }
852
+ "property": "authentication.type",
853
+ "equals": "oauth-client-credentials-flow",
854
+ "type": "simple"
855
+ },
856
+ "type": "String"
628
857
  },
629
858
  {
859
+ "id": "authentication.audience",
630
860
  "label": "Audience",
631
861
  "description": "The unique identifier of the target API you want to access",
632
- "group": "authentication",
633
- "type": "String",
634
- "feel": "optional",
635
862
  "optional": true,
863
+ "feel": "optional",
864
+ "group": "authentication",
636
865
  "binding": {
637
- "type": "zeebe:input",
638
- "name": "authentication.audience"
866
+ "name": "authentication.audience",
867
+ "type": "zeebe:input"
639
868
  },
640
869
  "condition": {
641
- "property": "authenticationType",
642
- "equals": "oauth-client-credentials-flow"
643
- }
870
+ "property": "authentication.type",
871
+ "equals": "oauth-client-credentials-flow",
872
+ "type": "simple"
873
+ },
874
+ "type": "String"
644
875
  },
645
876
  {
646
- "label": "Client authentication",
647
877
  "id": "authentication.clientAuthentication",
878
+ "label": "Client authentication",
879
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
880
+ "optional": false,
881
+ "constraints": {
882
+ "notEmpty": true
883
+ },
648
884
  "group": "authentication",
649
- "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
650
- "value": "basicAuthHeader",
885
+ "binding": {
886
+ "name": "authentication.clientAuthentication",
887
+ "type": "zeebe:input"
888
+ },
889
+ "condition": {
890
+ "property": "authentication.type",
891
+ "equals": "oauth-client-credentials-flow",
892
+ "type": "simple"
893
+ },
651
894
  "type": "Dropdown",
652
895
  "choices": [
653
896
  {
@@ -658,114 +901,214 @@
658
901
  "name": "Send as Basic Auth header",
659
902
  "value": "basicAuthHeader"
660
903
  }
661
- ],
662
- "binding": {
663
- "type": "zeebe:input",
664
- "name": "authentication.clientAuthentication"
665
- },
666
- "condition": {
667
- "property": "authenticationType",
668
- "equals": "oauth-client-credentials-flow"
669
- }
904
+ ]
670
905
  },
671
906
  {
672
- "label": "Username",
673
- "group": "authentication",
674
- "type": "String",
907
+ "id": "authentication.scopes",
908
+ "label": "Scopes",
909
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
910
+ "optional": true,
675
911
  "feel": "optional",
912
+ "group": "authentication",
676
913
  "binding": {
677
- "type": "zeebe:input",
678
- "name": "authentication.username"
914
+ "name": "authentication.scopes",
915
+ "type": "zeebe:input"
916
+ },
917
+ "condition": {
918
+ "property": "authentication.type",
919
+ "equals": "oauth-client-credentials-flow",
920
+ "type": "simple"
679
921
  },
922
+ "type": "String"
923
+ },
924
+ {
925
+ "id": "graphql.method",
926
+ "label": "Method",
927
+ "optional": false,
928
+ "value": "get",
680
929
  "constraints": {
681
930
  "notEmpty": true
682
931
  },
683
- "condition": {
684
- "property": "authenticationType",
685
- "equals": "basic"
686
- }
932
+ "group": "endpoint",
933
+ "binding": {
934
+ "name": "graphql.method",
935
+ "type": "zeebe:input"
936
+ },
937
+ "type": "Dropdown",
938
+ "choices": [
939
+ {
940
+ "name": "GET",
941
+ "value": "get"
942
+ },
943
+ {
944
+ "name": "POST",
945
+ "value": "post"
946
+ }
947
+ ]
687
948
  },
688
949
  {
689
- "label": "Password",
690
- "group": "authentication",
691
- "type": "String",
950
+ "id": "graphql.url",
951
+ "label": "URL",
952
+ "optional": false,
953
+ "constraints": {
954
+ "notEmpty": true,
955
+ "pattern": {
956
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
957
+ "message": "Must be a http(s) URL"
958
+ }
959
+ },
692
960
  "feel": "optional",
961
+ "group": "endpoint",
693
962
  "binding": {
694
- "type": "zeebe:input",
695
- "name": "authentication.password"
963
+ "name": "graphql.url",
964
+ "type": "zeebe:input"
965
+ },
966
+ "type": "String"
967
+ },
968
+ {
969
+ "id": "graphql.headers",
970
+ "label": "Headers",
971
+ "description": "Map of HTTP headers to add to the request",
972
+ "optional": true,
973
+ "feel": "required",
974
+ "group": "endpoint",
975
+ "binding": {
976
+ "name": "graphql.headers",
977
+ "type": "zeebe:input"
978
+ },
979
+ "type": "String"
980
+ },
981
+ {
982
+ "id": "graphql.storeResponse",
983
+ "label": "Store response",
984
+ "description": "Store the response as a document in the document store",
985
+ "optional": false,
986
+ "value": false,
987
+ "feel": "static",
988
+ "group": "endpoint",
989
+ "binding": {
990
+ "name": "graphql.storeResponse",
991
+ "type": "zeebe:input"
696
992
  },
993
+ "type": "Boolean"
994
+ },
995
+ {
996
+ "id": "graphql.query",
997
+ "label": "Query/Mutation",
998
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
999
+ "optional": false,
697
1000
  "constraints": {
698
1001
  "notEmpty": true
699
1002
  },
700
- "condition": {
701
- "property": "authenticationType",
702
- "equals": "basic"
703
- }
1003
+ "feel": "optional",
1004
+ "group": "graphql",
1005
+ "binding": {
1006
+ "name": "graphql.query",
1007
+ "type": "zeebe:input"
1008
+ },
1009
+ "type": "Text"
1010
+ },
1011
+ {
1012
+ "id": "graphql.variables",
1013
+ "label": "Variables",
1014
+ "optional": true,
1015
+ "feel": "required",
1016
+ "group": "graphql",
1017
+ "binding": {
1018
+ "name": "graphql.variables",
1019
+ "type": "zeebe:input"
1020
+ },
1021
+ "type": "String"
704
1022
  },
705
1023
  {
706
- "label": "Connection timeout",
1024
+ "id": "graphql.connectionTimeoutInSeconds",
1025
+ "label": "Connection timeout in seconds",
707
1026
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1027
+ "optional": true,
1028
+ "value": 20,
1029
+ "feel": "static",
708
1030
  "group": "timeout",
709
- "type": "String",
710
- "value": "20",
711
1031
  "binding": {
712
- "type": "zeebe:input",
713
- "name": "graphql.connectionTimeoutInSeconds"
1032
+ "name": "graphql.connectionTimeoutInSeconds",
1033
+ "type": "zeebe:input"
714
1034
  },
715
- "feel": "optional",
716
- "optional": true,
717
- "constraints": {
718
- "notEmpty": false,
719
- "pattern": {
720
- "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
721
- "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
722
- }
723
- }
1035
+ "type": "Number"
724
1036
  },
725
1037
  {
1038
+ "id": "resultVariable",
726
1039
  "label": "Result variable",
727
1040
  "description": "Name of variable to store the response in",
728
1041
  "group": "output",
729
- "type": "String",
730
1042
  "binding": {
731
- "type": "zeebe:taskHeader",
732
- "key": "resultVariable"
733
- }
1043
+ "key": "resultVariable",
1044
+ "type": "zeebe:taskHeader"
1045
+ },
1046
+ "type": "String"
734
1047
  },
735
1048
  {
1049
+ "id": "resultExpression",
736
1050
  "label": "Result expression",
737
1051
  "description": "Expression to map the response into process variables",
738
- "group": "output",
739
- "type": "Text",
740
1052
  "feel": "required",
1053
+ "group": "output",
741
1054
  "binding": {
742
- "type": "zeebe:taskHeader",
743
- "key": "resultExpression"
744
- }
1055
+ "key": "resultExpression",
1056
+ "type": "zeebe:taskHeader"
1057
+ },
1058
+ "type": "Text"
745
1059
  },
746
1060
  {
1061
+ "id": "errorExpression",
747
1062
  "label": "Error expression",
748
- "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>",
749
- "group": "errors",
750
- "type": "Text",
1063
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
751
1064
  "feel": "required",
1065
+ "group": "error",
752
1066
  "binding": {
753
- "type": "zeebe:taskHeader",
754
- "key": "errorExpression"
755
- }
1067
+ "key": "errorExpression",
1068
+ "type": "zeebe:taskHeader"
1069
+ },
1070
+ "type": "Text"
1071
+ },
1072
+ {
1073
+ "id": "retryCount",
1074
+ "label": "Retries",
1075
+ "description": "Number of retries",
1076
+ "value": "3",
1077
+ "feel": "optional",
1078
+ "group": "retries",
1079
+ "binding": {
1080
+ "property": "retries",
1081
+ "type": "zeebe:taskDefinition"
1082
+ },
1083
+ "type": "String"
1084
+ },
1085
+ {
1086
+ "id": "retryBackoff",
1087
+ "label": "Retry backoff",
1088
+ "description": "ISO-8601 duration to wait between retries",
1089
+ "value": "PT0S",
1090
+ "group": "retries",
1091
+ "binding": {
1092
+ "key": "retryBackoff",
1093
+ "type": "zeebe:taskHeader"
1094
+ },
1095
+ "type": "String"
756
1096
  }
757
1097
  ],
758
- "engines": {
759
- "camunda": "^8.2"
1098
+ "icon": {
1099
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
760
1100
  }
761
1101
  },
762
1102
  {
763
1103
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
764
- "name": "GraphQL Outbound Connector",
1104
+ "name": "GraphQL connector",
765
1105
  "id": "io.camunda.connectors.GraphQL.v1",
766
1106
  "description": "Execute GraphQL query",
767
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
768
- "version": 6,
1107
+ "version": 2,
1108
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
1109
+ "icon": {
1110
+ "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
1111
+ },
769
1112
  "category": {
770
1113
  "id": "connectors",
771
1114
  "name": "Connectors"
@@ -781,7 +1124,7 @@
781
1124
  },
782
1125
  {
783
1126
  "id": "endpoint",
784
- "label": "HTTP Endpoint"
1127
+ "label": "HTTP endpoint"
785
1128
  },
786
1129
  {
787
1130
  "id": "graphql",
@@ -789,45 +1132,37 @@
789
1132
  },
790
1133
  {
791
1134
  "id": "timeout",
792
- "label": "Connection timeout"
1135
+ "label": "Connect timeout"
793
1136
  },
794
1137
  {
795
1138
  "id": "output",
796
- "label": "Output mapping"
1139
+ "label": "Response mapping"
797
1140
  },
798
1141
  {
799
- "id": "error",
1142
+ "id": "errors",
800
1143
  "label": "Error handling"
801
- },
802
- {
803
- "id": "retries",
804
- "label": "Retries"
805
1144
  }
806
1145
  ],
807
1146
  "properties": [
808
1147
  {
1148
+ "type": "Hidden",
809
1149
  "value": "io.camunda:connector-graphql:1",
810
1150
  "binding": {
811
- "property": "type",
812
- "type": "zeebe:taskDefinition"
813
- },
814
- "type": "Hidden"
1151
+ "type": "zeebe:taskDefinition",
1152
+ "property": "type"
1153
+ }
815
1154
  },
816
1155
  {
817
- "id": "authentication.type",
818
1156
  "label": "Type",
1157
+ "id": "authenticationType",
1158
+ "group": "authentication",
819
1159
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
820
1160
  "value": "noAuth",
821
- "group": "authentication",
822
- "binding": {
823
- "name": "authentication.type",
824
- "type": "zeebe:input"
825
- },
826
1161
  "type": "Dropdown",
827
1162
  "choices": [
828
1163
  {
829
- "name": "API key",
830
- "value": "apiKey"
1164
+ "name": "None",
1165
+ "value": "noAuth"
831
1166
  },
832
1167
  {
833
1168
  "name": "Basic",
@@ -837,250 +1172,202 @@
837
1172
  "name": "Bearer token",
838
1173
  "value": "bearer"
839
1174
  },
840
- {
841
- "name": "None",
842
- "value": "noAuth"
843
- },
844
1175
  {
845
1176
  "name": "OAuth 2.0",
846
1177
  "value": "oauth-client-credentials-flow"
847
1178
  }
848
- ]
1179
+ ],
1180
+ "binding": {
1181
+ "type": "zeebe:input",
1182
+ "name": "authentication.type"
1183
+ }
849
1184
  },
850
1185
  {
851
- "id": "authentication.apiKeyLocation",
852
- "label": "Api key location",
853
- "description": "Choose type: Send API key in header or as query parameter.",
854
- "optional": false,
855
- "value": "headers",
856
- "constraints": {
857
- "notEmpty": true
858
- },
859
- "group": "authentication",
1186
+ "label": "URL",
1187
+ "group": "endpoint",
1188
+ "type": "String",
1189
+ "feel": "optional",
860
1190
  "binding": {
861
- "name": "authentication.apiKeyLocation",
862
- "type": "zeebe:input"
863
- },
864
- "condition": {
865
- "property": "authentication.type",
866
- "equals": "apiKey",
867
- "type": "simple"
1191
+ "type": "zeebe:input",
1192
+ "name": "graphql.url"
868
1193
  },
1194
+ "constraints": {
1195
+ "notEmpty": true,
1196
+ "pattern": {
1197
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
1198
+ "message": "Must be a http(s) URL."
1199
+ }
1200
+ }
1201
+ },
1202
+ {
1203
+ "id": "method",
1204
+ "label": "Method",
1205
+ "group": "endpoint",
869
1206
  "type": "Dropdown",
1207
+ "value": "post",
870
1208
  "choices": [
871
1209
  {
872
- "name": "Headers",
873
- "value": "headers"
1210
+ "name": "POST",
1211
+ "value": "post"
874
1212
  },
875
1213
  {
876
- "name": "Query parameters",
877
- "value": "query"
1214
+ "name": "GET",
1215
+ "value": "get"
878
1216
  }
879
- ]
880
- },
881
- {
882
- "id": "authentication.name",
883
- "label": "API key name",
884
- "optional": false,
885
- "constraints": {
886
- "notEmpty": true
887
- },
888
- "feel": "optional",
889
- "group": "authentication",
890
- "binding": {
891
- "name": "authentication.name",
892
- "type": "zeebe:input"
893
- },
894
- "condition": {
895
- "property": "authentication.type",
896
- "equals": "apiKey",
897
- "type": "simple"
898
- },
899
- "type": "String"
900
- },
901
- {
902
- "id": "authentication.value",
903
- "label": "API key value",
904
- "optional": false,
905
- "constraints": {
906
- "notEmpty": true
907
- },
908
- "feel": "optional",
909
- "group": "authentication",
1217
+ ],
910
1218
  "binding": {
911
- "name": "authentication.value",
912
- "type": "zeebe:input"
913
- },
914
- "condition": {
915
- "property": "authentication.type",
916
- "equals": "apiKey",
917
- "type": "simple"
918
- },
919
- "type": "String"
1219
+ "type": "zeebe:input",
1220
+ "name": "graphql.method"
1221
+ }
920
1222
  },
921
1223
  {
922
- "id": "authentication.username",
923
- "label": "Username",
924
- "optional": false,
925
- "constraints": {
926
- "notEmpty": true
927
- },
928
- "feel": "optional",
929
- "group": "authentication",
1224
+ "id": "headers",
1225
+ "label": "Headers",
1226
+ "group": "endpoint",
1227
+ "type": "Text",
1228
+ "feel": "required",
1229
+ "optional": true,
930
1230
  "binding": {
931
- "name": "authentication.username",
932
- "type": "zeebe:input"
933
- },
934
- "condition": {
935
- "property": "authentication.type",
936
- "equals": "basic",
937
- "type": "simple"
938
- },
939
- "type": "String"
1231
+ "type": "zeebe:input",
1232
+ "name": "graphql.headers"
1233
+ }
940
1234
  },
941
1235
  {
942
- "id": "authentication.password",
943
- "label": "Password",
1236
+ "label": "Query/Mutation",
1237
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1238
+ "group": "graphql",
1239
+ "type": "Text",
1240
+ "language": "graphql",
1241
+ "binding": {
1242
+ "type": "zeebe:input",
1243
+ "name": "graphql.query"
1244
+ },
944
1245
  "optional": false,
945
1246
  "constraints": {
946
1247
  "notEmpty": true
947
- },
948
- "feel": "optional",
949
- "group": "authentication",
1248
+ }
1249
+ },
1250
+ {
1251
+ "label": "Variables",
1252
+ "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
1253
+ "group": "graphql",
1254
+ "type": "Text",
1255
+ "feel": "required",
950
1256
  "binding": {
951
- "name": "authentication.password",
952
- "type": "zeebe:input"
953
- },
954
- "condition": {
955
- "property": "authentication.type",
956
- "equals": "basic",
957
- "type": "simple"
1257
+ "type": "zeebe:input",
1258
+ "name": "graphql.variables"
958
1259
  },
959
- "type": "String"
1260
+ "optional": true
960
1261
  },
961
1262
  {
962
- "id": "authentication.token",
963
1263
  "label": "Bearer token",
964
- "optional": false,
965
- "constraints": {
966
- "notEmpty": true
967
- },
968
- "feel": "optional",
969
1264
  "group": "authentication",
1265
+ "type": "String",
1266
+ "feel": "optional",
970
1267
  "binding": {
971
- "name": "authentication.token",
972
- "type": "zeebe:input"
1268
+ "type": "zeebe:input",
1269
+ "name": "graphql.authentication.token"
973
1270
  },
974
- "condition": {
975
- "property": "authentication.type",
976
- "equals": "bearer",
977
- "type": "simple"
1271
+ "constraints": {
1272
+ "notEmpty": true
978
1273
  },
979
- "type": "String"
1274
+ "condition": {
1275
+ "property": "authenticationType",
1276
+ "equals": "bearer"
1277
+ }
980
1278
  },
981
1279
  {
982
- "id": "authentication.oauthTokenEndpoint",
983
- "label": "OAuth 2.0 token endpoint",
1280
+ "label": "OAuth token endpoint",
984
1281
  "description": "The OAuth token endpoint",
985
- "optional": false,
986
- "constraints": {
987
- "notEmpty": true,
988
- "pattern": {
989
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
990
- "message": "Must be a http(s) URL"
991
- }
992
- },
993
- "feel": "optional",
994
1282
  "group": "authentication",
1283
+ "type": "String",
1284
+ "feel": "optional",
995
1285
  "binding": {
996
- "name": "authentication.oauthTokenEndpoint",
997
- "type": "zeebe:input"
1286
+ "type": "zeebe:input",
1287
+ "name": "authentication.oauthTokenEndpoint"
998
1288
  },
999
- "condition": {
1000
- "property": "authentication.type",
1001
- "equals": "oauth-client-credentials-flow",
1002
- "type": "simple"
1289
+ "constraints": {
1290
+ "notEmpty": true
1003
1291
  },
1004
- "type": "String"
1292
+ "condition": {
1293
+ "property": "authenticationType",
1294
+ "equals": "oauth-client-credentials-flow"
1295
+ }
1005
1296
  },
1006
1297
  {
1007
- "id": "authentication.clientId",
1008
1298
  "label": "Client ID",
1009
1299
  "description": "Your application's client ID from the OAuth client",
1010
- "optional": false,
1011
- "constraints": {
1012
- "notEmpty": true
1013
- },
1014
- "feel": "optional",
1015
1300
  "group": "authentication",
1301
+ "type": "String",
1302
+ "feel": "optional",
1016
1303
  "binding": {
1017
- "name": "authentication.clientId",
1018
- "type": "zeebe:input"
1304
+ "type": "zeebe:input",
1305
+ "name": "authentication.clientId"
1019
1306
  },
1020
- "condition": {
1021
- "property": "authentication.type",
1022
- "equals": "oauth-client-credentials-flow",
1023
- "type": "simple"
1307
+ "constraints": {
1308
+ "notEmpty": true
1024
1309
  },
1025
- "type": "String"
1310
+ "condition": {
1311
+ "property": "authenticationType",
1312
+ "equals": "oauth-client-credentials-flow"
1313
+ }
1026
1314
  },
1027
1315
  {
1028
- "id": "authentication.clientSecret",
1029
1316
  "label": "Client secret",
1030
1317
  "description": "Your application's client secret from the OAuth client",
1031
- "optional": false,
1318
+ "group": "authentication",
1319
+ "type": "String",
1320
+ "feel": "optional",
1321
+ "binding": {
1322
+ "type": "zeebe:input",
1323
+ "name": "authentication.clientSecret"
1324
+ },
1032
1325
  "constraints": {
1033
1326
  "notEmpty": true
1034
1327
  },
1035
- "feel": "optional",
1328
+ "condition": {
1329
+ "property": "authenticationType",
1330
+ "equals": "oauth-client-credentials-flow"
1331
+ }
1332
+ },
1333
+ {
1334
+ "label": "Scopes",
1335
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1036
1336
  "group": "authentication",
1337
+ "type": "String",
1338
+ "feel": "optional",
1339
+ "optional": true,
1037
1340
  "binding": {
1038
- "name": "authentication.clientSecret",
1039
- "type": "zeebe:input"
1341
+ "type": "zeebe:input",
1342
+ "name": "authentication.scopes"
1040
1343
  },
1041
1344
  "condition": {
1042
- "property": "authentication.type",
1043
- "equals": "oauth-client-credentials-flow",
1044
- "type": "simple"
1045
- },
1046
- "type": "String"
1345
+ "property": "authenticationType",
1346
+ "equals": "oauth-client-credentials-flow"
1347
+ }
1047
1348
  },
1048
1349
  {
1049
- "id": "authentication.audience",
1050
1350
  "label": "Audience",
1051
1351
  "description": "The unique identifier of the target API you want to access",
1052
- "optional": true,
1053
- "feel": "optional",
1054
1352
  "group": "authentication",
1353
+ "type": "String",
1354
+ "feel": "optional",
1355
+ "optional": true,
1055
1356
  "binding": {
1056
- "name": "authentication.audience",
1057
- "type": "zeebe:input"
1357
+ "type": "zeebe:input",
1358
+ "name": "authentication.audience"
1058
1359
  },
1059
1360
  "condition": {
1060
- "property": "authentication.type",
1061
- "equals": "oauth-client-credentials-flow",
1062
- "type": "simple"
1063
- },
1064
- "type": "String"
1361
+ "property": "authenticationType",
1362
+ "equals": "oauth-client-credentials-flow"
1363
+ }
1065
1364
  },
1066
1365
  {
1067
- "id": "authentication.clientAuthentication",
1068
1366
  "label": "Client authentication",
1069
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1070
- "optional": false,
1071
- "constraints": {
1072
- "notEmpty": true
1073
- },
1367
+ "id": "authentication.clientAuthentication",
1074
1368
  "group": "authentication",
1075
- "binding": {
1076
- "name": "authentication.clientAuthentication",
1077
- "type": "zeebe:input"
1078
- },
1079
- "condition": {
1080
- "property": "authentication.type",
1081
- "equals": "oauth-client-credentials-flow",
1082
- "type": "simple"
1083
- },
1369
+ "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
1370
+ "value": "basicAuthHeader",
1084
1371
  "type": "Dropdown",
1085
1372
  "choices": [
1086
1373
  {
@@ -1091,192 +1378,105 @@
1091
1378
  "name": "Send as Basic Auth header",
1092
1379
  "value": "basicAuthHeader"
1093
1380
  }
1094
- ]
1095
- },
1096
- {
1097
- "id": "authentication.scopes",
1098
- "label": "Scopes",
1099
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1100
- "optional": true,
1101
- "feel": "optional",
1102
- "group": "authentication",
1103
- "binding": {
1104
- "name": "authentication.scopes",
1105
- "type": "zeebe:input"
1106
- },
1107
- "condition": {
1108
- "property": "authentication.type",
1109
- "equals": "oauth-client-credentials-flow",
1110
- "type": "simple"
1111
- },
1112
- "type": "String"
1113
- },
1114
- {
1115
- "id": "graphql.method",
1116
- "label": "Method",
1117
- "optional": false,
1118
- "value": "get",
1119
- "constraints": {
1120
- "notEmpty": true
1121
- },
1122
- "group": "endpoint",
1123
- "binding": {
1124
- "name": "graphql.method",
1125
- "type": "zeebe:input"
1126
- },
1127
- "type": "Dropdown",
1128
- "choices": [
1129
- {
1130
- "name": "GET",
1131
- "value": "get"
1132
- },
1133
- {
1134
- "name": "POST",
1135
- "value": "post"
1136
- }
1137
- ]
1138
- },
1139
- {
1140
- "id": "graphql.url",
1141
- "label": "URL",
1142
- "optional": false,
1143
- "constraints": {
1144
- "notEmpty": true,
1145
- "pattern": {
1146
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1147
- "message": "Must be a http(s) URL"
1148
- }
1149
- },
1150
- "feel": "optional",
1151
- "group": "endpoint",
1152
- "binding": {
1153
- "name": "graphql.url",
1154
- "type": "zeebe:input"
1155
- },
1156
- "type": "String"
1157
- },
1158
- {
1159
- "id": "graphql.headers",
1160
- "label": "Headers",
1161
- "description": "Map of HTTP headers to add to the request",
1162
- "optional": true,
1163
- "feel": "required",
1164
- "group": "endpoint",
1381
+ ],
1165
1382
  "binding": {
1166
- "name": "graphql.headers",
1167
- "type": "zeebe:input"
1383
+ "type": "zeebe:input",
1384
+ "name": "authentication.clientAuthentication"
1168
1385
  },
1169
- "type": "String"
1386
+ "condition": {
1387
+ "property": "authenticationType",
1388
+ "equals": "oauth-client-credentials-flow"
1389
+ }
1170
1390
  },
1171
1391
  {
1172
- "id": "graphql.query",
1173
- "label": "Query/Mutation",
1174
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1175
- "optional": false,
1176
- "constraints": {
1177
- "notEmpty": true
1178
- },
1392
+ "label": "Username",
1393
+ "group": "authentication",
1394
+ "type": "String",
1179
1395
  "feel": "optional",
1180
- "group": "graphql",
1181
1396
  "binding": {
1182
- "name": "graphql.query",
1183
- "type": "zeebe:input"
1397
+ "type": "zeebe:input",
1398
+ "name": "authentication.username"
1184
1399
  },
1185
- "type": "Text"
1400
+ "constraints": {
1401
+ "notEmpty": true
1402
+ },
1403
+ "condition": {
1404
+ "property": "authenticationType",
1405
+ "equals": "basic"
1406
+ }
1186
1407
  },
1187
1408
  {
1188
- "id": "graphql.variables",
1189
- "label": "Variables",
1190
- "optional": true,
1191
- "feel": "required",
1192
- "group": "graphql",
1409
+ "label": "Password",
1410
+ "group": "authentication",
1411
+ "type": "String",
1412
+ "feel": "optional",
1193
1413
  "binding": {
1194
- "name": "graphql.variables",
1195
- "type": "zeebe:input"
1414
+ "type": "zeebe:input",
1415
+ "name": "authentication.password"
1196
1416
  },
1197
- "type": "String"
1417
+ "constraints": {
1418
+ "notEmpty": true
1419
+ },
1420
+ "condition": {
1421
+ "property": "authenticationType",
1422
+ "equals": "basic"
1423
+ }
1198
1424
  },
1199
1425
  {
1200
- "id": "graphql.connectionTimeoutInSeconds",
1201
- "label": "Connection timeout in seconds",
1426
+ "label": "Connection timeout",
1202
1427
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1203
- "optional": true,
1204
- "value": "20",
1205
- "feel": "optional",
1206
1428
  "group": "timeout",
1429
+ "type": "String",
1430
+ "value": "20",
1207
1431
  "binding": {
1208
- "name": "graphql.connectionTimeoutInSeconds",
1209
- "type": "zeebe:input"
1432
+ "type": "zeebe:input",
1433
+ "name": "graphql.connectionTimeoutInSeconds"
1210
1434
  },
1211
- "type": "String"
1435
+ "feel": "optional",
1436
+ "optional": true,
1437
+ "constraints": {
1438
+ "notEmpty": false,
1439
+ "pattern": {
1440
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1441
+ "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1442
+ }
1443
+ }
1212
1444
  },
1213
1445
  {
1214
- "id": "resultVariable",
1215
1446
  "label": "Result variable",
1216
1447
  "description": "Name of variable to store the response in",
1217
1448
  "group": "output",
1449
+ "type": "String",
1218
1450
  "binding": {
1219
- "key": "resultVariable",
1220
- "type": "zeebe:taskHeader"
1221
- },
1222
- "type": "String"
1451
+ "type": "zeebe:taskHeader",
1452
+ "key": "resultVariable"
1453
+ }
1223
1454
  },
1224
1455
  {
1225
- "id": "resultExpression",
1226
1456
  "label": "Result expression",
1227
1457
  "description": "Expression to map the response into process variables",
1228
- "feel": "required",
1229
1458
  "group": "output",
1459
+ "type": "Text",
1460
+ "feel": "required",
1230
1461
  "binding": {
1231
- "key": "resultExpression",
1232
- "type": "zeebe:taskHeader"
1233
- },
1234
- "type": "Text"
1462
+ "type": "zeebe:taskHeader",
1463
+ "key": "resultExpression"
1464
+ }
1235
1465
  },
1236
1466
  {
1237
- "id": "errorExpression",
1238
1467
  "label": "Error expression",
1239
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1468
+ "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>",
1469
+ "group": "errors",
1470
+ "type": "Text",
1240
1471
  "feel": "required",
1241
- "group": "error",
1242
1472
  "binding": {
1243
- "key": "errorExpression",
1244
- "type": "zeebe:taskHeader"
1245
- },
1246
- "type": "Text"
1247
- },
1248
- {
1249
- "id": "retryCount",
1250
- "label": "Retries",
1251
- "description": "Number of retries",
1252
- "value": "3",
1253
- "feel": "optional",
1254
- "group": "retries",
1255
- "binding": {
1256
- "property": "retries",
1257
- "type": "zeebe:taskDefinition"
1258
- },
1259
- "type": "String"
1260
- },
1261
- {
1262
- "id": "retryBackoff",
1263
- "label": "Retry backoff",
1264
- "description": "ISO-8601 duration to wait between retries",
1265
- "value": "PT0S",
1266
- "feel": "optional",
1267
- "group": "retries",
1268
- "binding": {
1269
- "key": "retryBackoff",
1270
- "type": "zeebe:taskHeader"
1271
- },
1272
- "type": "String"
1473
+ "type": "zeebe:taskHeader",
1474
+ "key": "errorExpression"
1475
+ }
1273
1476
  }
1274
1477
  ],
1275
- "icon": {
1276
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
1277
- },
1278
1478
  "engines": {
1279
- "camunda": "^8.5"
1479
+ "camunda": "^8.2"
1280
1480
  }
1281
1481
  },
1282
1482
  {
@@ -1284,7 +1484,7 @@
1284
1484
  "name": "GraphQL Outbound Connector",
1285
1485
  "id": "io.camunda.connectors.GraphQL.v1",
1286
1486
  "description": "Execute GraphQL query",
1287
- "version": 4,
1487
+ "version": 3,
1288
1488
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
1289
1489
  "icon": {
1290
1490
  "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
@@ -1446,7 +1646,7 @@
1446
1646
  "feel": "optional",
1447
1647
  "binding": {
1448
1648
  "type": "zeebe:input",
1449
- "name": "authentication.token"
1649
+ "name": "graphql.authentication.token"
1450
1650
  },
1451
1651
  "constraints": {
1452
1652
  "notEmpty": true
@@ -1656,7 +1856,7 @@
1656
1856
  }
1657
1857
  ],
1658
1858
  "engines": {
1659
- "camunda": "^8.4"
1859
+ "camunda": "^8.2"
1660
1860
  }
1661
1861
  },
1662
1862
  {
@@ -1664,11 +1864,8 @@
1664
1864
  "name": "GraphQL Outbound Connector",
1665
1865
  "id": "io.camunda.connectors.GraphQL.v1",
1666
1866
  "description": "Execute GraphQL query",
1667
- "metadata": {
1668
- "keywords": []
1669
- },
1670
1867
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
1671
- "version": 7,
1868
+ "version": 6,
1672
1869
  "category": {
1673
1870
  "id": "connectors",
1674
1871
  "name": "Connectors"
@@ -1677,9 +1874,6 @@
1677
1874
  "elementType": {
1678
1875
  "value": "bpmn:ServiceTask"
1679
1876
  },
1680
- "engines": {
1681
- "camunda": "^8.3"
1682
- },
1683
1877
  "groups": [
1684
1878
  {
1685
1879
  "id": "authentication",
@@ -2074,20 +2268,6 @@
2074
2268
  },
2075
2269
  "type": "String"
2076
2270
  },
2077
- {
2078
- "id": "graphql.storeResponse",
2079
- "label": "Store response",
2080
- "description": "Store the response as a document in the document store",
2081
- "optional": false,
2082
- "value": false,
2083
- "feel": "static",
2084
- "group": "endpoint",
2085
- "binding": {
2086
- "name": "graphql.storeResponse",
2087
- "type": "zeebe:input"
2088
- },
2089
- "type": "Boolean"
2090
- },
2091
2271
  {
2092
2272
  "id": "graphql.query",
2093
2273
  "label": "Query/Mutation",
@@ -2121,14 +2301,14 @@
2121
2301
  "label": "Connection timeout in seconds",
2122
2302
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2123
2303
  "optional": true,
2124
- "value": 20,
2125
- "feel": "static",
2304
+ "value": "20",
2305
+ "feel": "optional",
2126
2306
  "group": "timeout",
2127
2307
  "binding": {
2128
2308
  "name": "graphql.connectionTimeoutInSeconds",
2129
2309
  "type": "zeebe:input"
2130
2310
  },
2131
- "type": "Number"
2311
+ "type": "String"
2132
2312
  },
2133
2313
  {
2134
2314
  "id": "resultVariable",
@@ -2183,6 +2363,7 @@
2183
2363
  "label": "Retry backoff",
2184
2364
  "description": "ISO-8601 duration to wait between retries",
2185
2365
  "value": "PT0S",
2366
+ "feel": "optional",
2186
2367
  "group": "retries",
2187
2368
  "binding": {
2188
2369
  "key": "retryBackoff",
@@ -2193,6 +2374,9 @@
2193
2374
  ],
2194
2375
  "icon": {
2195
2376
  "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
2377
+ },
2378
+ "engines": {
2379
+ "camunda": "^8.5"
2196
2380
  }
2197
2381
  },
2198
2382
  {
@@ -2200,7 +2384,7 @@
2200
2384
  "name": "GraphQL connector",
2201
2385
  "id": "io.camunda.connectors.GraphQL.v1",
2202
2386
  "description": "Execute GraphQL query",
2203
- "version": 2,
2387
+ "version": 1,
2204
2388
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
2205
2389
  "icon": {
2206
2390
  "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
@@ -2290,7 +2474,7 @@
2290
2474
  "constraints": {
2291
2475
  "notEmpty": true,
2292
2476
  "pattern": {
2293
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
2477
+ "value": "^(=|(http://|https://|secrets).*$)",
2294
2478
  "message": "Must be a http(s) URL."
2295
2479
  }
2296
2480
  }
@@ -2533,7 +2717,7 @@
2533
2717
  "constraints": {
2534
2718
  "notEmpty": false,
2535
2719
  "pattern": {
2536
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
2720
+ "value": "^(=|([0-9]+|secrets\\..+)$)",
2537
2721
  "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2538
2722
  }
2539
2723
  }
@@ -2580,11 +2764,11 @@
2580
2764
  "name": "GraphQL Outbound Connector",
2581
2765
  "id": "io.camunda.connectors.GraphQL.v1",
2582
2766
  "description": "Execute GraphQL query",
2583
- "metadata": {
2584
- "keywords": []
2767
+ "version": 4,
2768
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
2769
+ "icon": {
2770
+ "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
2585
2771
  },
2586
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
2587
- "version": 8,
2588
2772
  "category": {
2589
2773
  "id": "connectors",
2590
2774
  "name": "Connectors"
@@ -2593,9 +2777,6 @@
2593
2777
  "elementType": {
2594
2778
  "value": "bpmn:ServiceTask"
2595
2779
  },
2596
- "engines": {
2597
- "camunda": "^8.3"
2598
- },
2599
2780
  "groups": [
2600
2781
  {
2601
2782
  "id": "authentication",
@@ -2603,7 +2784,7 @@
2603
2784
  },
2604
2785
  {
2605
2786
  "id": "endpoint",
2606
- "label": "HTTP Endpoint"
2787
+ "label": "HTTP endpoint"
2607
2788
  },
2608
2789
  {
2609
2790
  "id": "graphql",
@@ -2611,49 +2792,37 @@
2611
2792
  },
2612
2793
  {
2613
2794
  "id": "timeout",
2614
- "label": "Connection timeout"
2615
- },
2616
- {
2617
- "id": "connector",
2618
- "label": "Connector"
2795
+ "label": "Connect timeout"
2619
2796
  },
2620
2797
  {
2621
2798
  "id": "output",
2622
- "label": "Output mapping"
2799
+ "label": "Response mapping"
2623
2800
  },
2624
2801
  {
2625
- "id": "error",
2802
+ "id": "errors",
2626
2803
  "label": "Error handling"
2627
- },
2628
- {
2629
- "id": "retries",
2630
- "label": "Retries"
2631
2804
  }
2632
2805
  ],
2633
2806
  "properties": [
2634
2807
  {
2808
+ "type": "Hidden",
2635
2809
  "value": "io.camunda:connector-graphql:1",
2636
2810
  "binding": {
2637
- "property": "type",
2638
- "type": "zeebe:taskDefinition"
2639
- },
2640
- "type": "Hidden"
2811
+ "type": "zeebe:taskDefinition",
2812
+ "property": "type"
2813
+ }
2641
2814
  },
2642
2815
  {
2643
- "id": "authentication.type",
2644
2816
  "label": "Type",
2817
+ "id": "authenticationType",
2818
+ "group": "authentication",
2645
2819
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2646
2820
  "value": "noAuth",
2647
- "group": "authentication",
2648
- "binding": {
2649
- "name": "authentication.type",
2650
- "type": "zeebe:input"
2651
- },
2652
2821
  "type": "Dropdown",
2653
2822
  "choices": [
2654
2823
  {
2655
- "name": "API key",
2656
- "value": "apiKey"
2824
+ "name": "None",
2825
+ "value": "noAuth"
2657
2826
  },
2658
2827
  {
2659
2828
  "name": "Basic",
@@ -2663,480 +2832,311 @@
2663
2832
  "name": "Bearer token",
2664
2833
  "value": "bearer"
2665
2834
  },
2666
- {
2667
- "name": "None",
2668
- "value": "noAuth"
2669
- },
2670
2835
  {
2671
2836
  "name": "OAuth 2.0",
2672
2837
  "value": "oauth-client-credentials-flow"
2673
2838
  }
2674
- ]
2839
+ ],
2840
+ "binding": {
2841
+ "type": "zeebe:input",
2842
+ "name": "authentication.type"
2843
+ }
2675
2844
  },
2676
2845
  {
2677
- "id": "authentication.apiKeyLocation",
2678
- "label": "Api key location",
2679
- "description": "Choose type: Send API key in header or as query parameter.",
2680
- "optional": false,
2681
- "value": "headers",
2682
- "constraints": {
2683
- "notEmpty": true
2684
- },
2685
- "group": "authentication",
2846
+ "label": "URL",
2847
+ "group": "endpoint",
2848
+ "type": "String",
2849
+ "feel": "optional",
2686
2850
  "binding": {
2687
- "name": "authentication.apiKeyLocation",
2688
- "type": "zeebe:input"
2689
- },
2690
- "condition": {
2691
- "property": "authentication.type",
2692
- "equals": "apiKey",
2693
- "type": "simple"
2851
+ "type": "zeebe:input",
2852
+ "name": "graphql.url"
2694
2853
  },
2854
+ "constraints": {
2855
+ "notEmpty": true,
2856
+ "pattern": {
2857
+ "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
2858
+ "message": "Must be a http(s) URL."
2859
+ }
2860
+ }
2861
+ },
2862
+ {
2863
+ "id": "method",
2864
+ "label": "Method",
2865
+ "group": "endpoint",
2695
2866
  "type": "Dropdown",
2867
+ "value": "post",
2696
2868
  "choices": [
2697
2869
  {
2698
- "name": "Headers",
2699
- "value": "headers"
2870
+ "name": "POST",
2871
+ "value": "post"
2700
2872
  },
2701
2873
  {
2702
- "name": "Query parameters",
2703
- "value": "query"
2874
+ "name": "GET",
2875
+ "value": "get"
2704
2876
  }
2705
- ]
2877
+ ],
2878
+ "binding": {
2879
+ "type": "zeebe:input",
2880
+ "name": "graphql.method"
2881
+ }
2706
2882
  },
2707
2883
  {
2708
- "id": "authentication.name",
2709
- "label": "API key name",
2710
- "optional": false,
2711
- "constraints": {
2712
- "notEmpty": true
2713
- },
2714
- "feel": "optional",
2715
- "group": "authentication",
2884
+ "id": "headers",
2885
+ "label": "Headers",
2886
+ "group": "endpoint",
2887
+ "type": "Text",
2888
+ "feel": "required",
2889
+ "optional": true,
2716
2890
  "binding": {
2717
- "name": "authentication.name",
2718
- "type": "zeebe:input"
2719
- },
2720
- "condition": {
2721
- "property": "authentication.type",
2722
- "equals": "apiKey",
2723
- "type": "simple"
2724
- },
2725
- "type": "String"
2891
+ "type": "zeebe:input",
2892
+ "name": "graphql.headers"
2893
+ }
2726
2894
  },
2727
2895
  {
2728
- "id": "authentication.value",
2729
- "label": "API key value",
2730
- "optional": false,
2731
- "constraints": {
2732
- "notEmpty": true
2733
- },
2734
- "feel": "optional",
2735
- "group": "authentication",
2896
+ "label": "Query/Mutation",
2897
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
2898
+ "group": "graphql",
2899
+ "type": "Text",
2900
+ "language": "graphql",
2736
2901
  "binding": {
2737
- "name": "authentication.value",
2738
- "type": "zeebe:input"
2739
- },
2740
- "condition": {
2741
- "property": "authentication.type",
2742
- "equals": "apiKey",
2743
- "type": "simple"
2902
+ "type": "zeebe:input",
2903
+ "name": "graphql.query"
2744
2904
  },
2745
- "type": "String"
2746
- },
2747
- {
2748
- "id": "authentication.username",
2749
- "label": "Username",
2750
2905
  "optional": false,
2751
2906
  "constraints": {
2752
2907
  "notEmpty": true
2753
- },
2754
- "feel": "optional",
2755
- "group": "authentication",
2756
- "binding": {
2757
- "name": "authentication.username",
2758
- "type": "zeebe:input"
2759
- },
2760
- "condition": {
2761
- "property": "authentication.type",
2762
- "equals": "basic",
2763
- "type": "simple"
2764
- },
2765
- "type": "String"
2908
+ }
2766
2909
  },
2767
2910
  {
2768
- "id": "authentication.password",
2769
- "label": "Password",
2770
- "optional": false,
2771
- "constraints": {
2772
- "notEmpty": true
2773
- },
2774
- "feel": "optional",
2775
- "group": "authentication",
2911
+ "label": "Variables",
2912
+ "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
2913
+ "group": "graphql",
2914
+ "type": "Text",
2915
+ "feel": "required",
2776
2916
  "binding": {
2777
- "name": "authentication.password",
2778
- "type": "zeebe:input"
2779
- },
2780
- "condition": {
2781
- "property": "authentication.type",
2782
- "equals": "basic",
2783
- "type": "simple"
2917
+ "type": "zeebe:input",
2918
+ "name": "graphql.variables"
2784
2919
  },
2785
- "type": "String"
2920
+ "optional": true
2786
2921
  },
2787
2922
  {
2788
- "id": "authentication.token",
2789
2923
  "label": "Bearer token",
2790
- "optional": false,
2791
- "constraints": {
2792
- "notEmpty": true
2793
- },
2794
- "feel": "optional",
2795
2924
  "group": "authentication",
2925
+ "type": "String",
2926
+ "feel": "optional",
2796
2927
  "binding": {
2797
- "name": "authentication.token",
2798
- "type": "zeebe:input"
2928
+ "type": "zeebe:input",
2929
+ "name": "authentication.token"
2799
2930
  },
2800
- "condition": {
2801
- "property": "authentication.type",
2802
- "equals": "bearer",
2803
- "type": "simple"
2931
+ "constraints": {
2932
+ "notEmpty": true
2804
2933
  },
2805
- "type": "String"
2934
+ "condition": {
2935
+ "property": "authenticationType",
2936
+ "equals": "bearer"
2937
+ }
2806
2938
  },
2807
2939
  {
2808
- "id": "authentication.oauthTokenEndpoint",
2809
- "label": "OAuth 2.0 token endpoint",
2940
+ "label": "OAuth token endpoint",
2810
2941
  "description": "The OAuth token endpoint",
2811
- "optional": false,
2812
- "constraints": {
2813
- "notEmpty": true,
2814
- "pattern": {
2815
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2816
- "message": "Must be a http(s) URL"
2817
- }
2818
- },
2819
- "feel": "optional",
2820
2942
  "group": "authentication",
2943
+ "type": "String",
2944
+ "feel": "optional",
2821
2945
  "binding": {
2822
- "name": "authentication.oauthTokenEndpoint",
2823
- "type": "zeebe:input"
2946
+ "type": "zeebe:input",
2947
+ "name": "authentication.oauthTokenEndpoint"
2824
2948
  },
2825
- "condition": {
2826
- "property": "authentication.type",
2827
- "equals": "oauth-client-credentials-flow",
2828
- "type": "simple"
2949
+ "constraints": {
2950
+ "notEmpty": true
2829
2951
  },
2830
- "type": "String"
2952
+ "condition": {
2953
+ "property": "authenticationType",
2954
+ "equals": "oauth-client-credentials-flow"
2955
+ }
2831
2956
  },
2832
2957
  {
2833
- "id": "authentication.clientId",
2834
2958
  "label": "Client ID",
2835
2959
  "description": "Your application's client ID from the OAuth client",
2836
- "optional": false,
2837
- "constraints": {
2838
- "notEmpty": true
2839
- },
2840
- "feel": "optional",
2841
2960
  "group": "authentication",
2961
+ "type": "String",
2962
+ "feel": "optional",
2842
2963
  "binding": {
2843
- "name": "authentication.clientId",
2844
- "type": "zeebe:input"
2845
- },
2846
- "condition": {
2847
- "property": "authentication.type",
2848
- "equals": "oauth-client-credentials-flow",
2849
- "type": "simple"
2964
+ "type": "zeebe:input",
2965
+ "name": "authentication.clientId"
2850
2966
  },
2851
- "type": "String"
2852
- },
2853
- {
2854
- "id": "authentication.clientSecret",
2855
- "label": "Client secret",
2856
- "description": "Your application's client secret from the OAuth client",
2857
- "optional": false,
2858
2967
  "constraints": {
2859
2968
  "notEmpty": true
2860
2969
  },
2861
- "feel": "optional",
2862
- "group": "authentication",
2863
- "binding": {
2864
- "name": "authentication.clientSecret",
2865
- "type": "zeebe:input"
2866
- },
2867
2970
  "condition": {
2868
- "property": "authentication.type",
2869
- "equals": "oauth-client-credentials-flow",
2870
- "type": "simple"
2871
- },
2872
- "type": "String"
2971
+ "property": "authenticationType",
2972
+ "equals": "oauth-client-credentials-flow"
2973
+ }
2873
2974
  },
2874
2975
  {
2875
- "id": "authentication.audience",
2876
- "label": "Audience",
2877
- "description": "The unique identifier of the target API you want to access",
2878
- "optional": true,
2879
- "feel": "optional",
2976
+ "label": "Client secret",
2977
+ "description": "Your application's client secret from the OAuth client",
2880
2978
  "group": "authentication",
2979
+ "type": "String",
2980
+ "feel": "optional",
2881
2981
  "binding": {
2882
- "name": "authentication.audience",
2883
- "type": "zeebe:input"
2884
- },
2885
- "condition": {
2886
- "property": "authentication.type",
2887
- "equals": "oauth-client-credentials-flow",
2888
- "type": "simple"
2982
+ "type": "zeebe:input",
2983
+ "name": "authentication.clientSecret"
2889
2984
  },
2890
- "type": "String"
2891
- },
2892
- {
2893
- "id": "authentication.clientAuthentication",
2894
- "label": "Client authentication",
2895
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2896
- "optional": false,
2897
2985
  "constraints": {
2898
2986
  "notEmpty": true
2899
2987
  },
2900
- "group": "authentication",
2901
- "binding": {
2902
- "name": "authentication.clientAuthentication",
2903
- "type": "zeebe:input"
2904
- },
2905
2988
  "condition": {
2906
- "property": "authentication.type",
2907
- "equals": "oauth-client-credentials-flow",
2908
- "type": "simple"
2909
- },
2910
- "type": "Dropdown",
2911
- "choices": [
2912
- {
2913
- "name": "Send client credentials in body",
2914
- "value": "credentialsBody"
2915
- },
2916
- {
2917
- "name": "Send as Basic Auth header",
2918
- "value": "basicAuthHeader"
2919
- }
2920
- ]
2989
+ "property": "authenticationType",
2990
+ "equals": "oauth-client-credentials-flow"
2991
+ }
2921
2992
  },
2922
2993
  {
2923
- "id": "authentication.scopes",
2924
2994
  "label": "Scopes",
2925
2995
  "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2926
- "optional": true,
2927
- "feel": "optional",
2928
2996
  "group": "authentication",
2997
+ "type": "String",
2998
+ "feel": "optional",
2999
+ "optional": true,
2929
3000
  "binding": {
2930
- "name": "authentication.scopes",
2931
- "type": "zeebe:input"
3001
+ "type": "zeebe:input",
3002
+ "name": "authentication.scopes"
2932
3003
  },
2933
3004
  "condition": {
2934
- "property": "authentication.type",
2935
- "equals": "oauth-client-credentials-flow",
2936
- "type": "simple"
2937
- },
2938
- "type": "String"
3005
+ "property": "authenticationType",
3006
+ "equals": "oauth-client-credentials-flow"
3007
+ }
2939
3008
  },
2940
3009
  {
2941
- "id": "graphql.method",
2942
- "label": "Method",
2943
- "optional": false,
2944
- "value": "get",
2945
- "constraints": {
2946
- "notEmpty": true
2947
- },
2948
- "group": "endpoint",
3010
+ "label": "Audience",
3011
+ "description": "The unique identifier of the target API you want to access",
3012
+ "group": "authentication",
3013
+ "type": "String",
3014
+ "feel": "optional",
3015
+ "optional": true,
2949
3016
  "binding": {
2950
- "name": "graphql.method",
2951
- "type": "zeebe:input"
3017
+ "type": "zeebe:input",
3018
+ "name": "authentication.audience"
2952
3019
  },
3020
+ "condition": {
3021
+ "property": "authenticationType",
3022
+ "equals": "oauth-client-credentials-flow"
3023
+ }
3024
+ },
3025
+ {
3026
+ "label": "Client authentication",
3027
+ "id": "authentication.clientAuthentication",
3028
+ "group": "authentication",
3029
+ "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
3030
+ "value": "basicAuthHeader",
2953
3031
  "type": "Dropdown",
2954
3032
  "choices": [
2955
3033
  {
2956
- "name": "GET",
2957
- "value": "get"
3034
+ "name": "Send client credentials in body",
3035
+ "value": "credentialsBody"
2958
3036
  },
2959
3037
  {
2960
- "name": "POST",
2961
- "value": "post"
2962
- }
2963
- ]
2964
- },
2965
- {
2966
- "id": "graphql.url",
2967
- "label": "URL",
2968
- "optional": false,
2969
- "constraints": {
2970
- "notEmpty": true,
2971
- "pattern": {
2972
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2973
- "message": "Must be a http(s) URL"
3038
+ "name": "Send as Basic Auth header",
3039
+ "value": "basicAuthHeader"
2974
3040
  }
2975
- },
2976
- "feel": "optional",
2977
- "group": "endpoint",
2978
- "binding": {
2979
- "name": "graphql.url",
2980
- "type": "zeebe:input"
2981
- },
2982
- "type": "String"
2983
- },
2984
- {
2985
- "id": "graphql.headers",
2986
- "label": "Headers",
2987
- "description": "Map of HTTP headers to add to the request",
2988
- "optional": true,
2989
- "feel": "required",
2990
- "group": "endpoint",
3041
+ ],
2991
3042
  "binding": {
2992
- "name": "graphql.headers",
2993
- "type": "zeebe:input"
3043
+ "type": "zeebe:input",
3044
+ "name": "authentication.clientAuthentication"
2994
3045
  },
2995
- "type": "String"
3046
+ "condition": {
3047
+ "property": "authenticationType",
3048
+ "equals": "oauth-client-credentials-flow"
3049
+ }
2996
3050
  },
2997
3051
  {
2998
- "id": "graphql.storeResponse",
2999
- "label": "Store response",
3000
- "description": "Store the response as a document in the document store",
3001
- "optional": false,
3002
- "value": false,
3003
- "feel": "static",
3004
- "group": "endpoint",
3052
+ "label": "Username",
3053
+ "group": "authentication",
3054
+ "type": "String",
3055
+ "feel": "optional",
3005
3056
  "binding": {
3006
- "name": "graphql.storeResponse",
3007
- "type": "zeebe:input"
3057
+ "type": "zeebe:input",
3058
+ "name": "authentication.username"
3008
3059
  },
3009
- "type": "Boolean"
3010
- },
3011
- {
3012
- "id": "graphql.query",
3013
- "label": "Query/Mutation",
3014
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
3015
- "optional": false,
3016
3060
  "constraints": {
3017
3061
  "notEmpty": true
3018
3062
  },
3019
- "feel": "optional",
3020
- "group": "graphql",
3021
- "binding": {
3022
- "name": "graphql.query",
3023
- "type": "zeebe:input"
3024
- },
3025
- "type": "Text"
3063
+ "condition": {
3064
+ "property": "authenticationType",
3065
+ "equals": "basic"
3066
+ }
3026
3067
  },
3027
3068
  {
3028
- "id": "graphql.variables",
3029
- "label": "Variables",
3030
- "optional": true,
3031
- "feel": "required",
3032
- "group": "graphql",
3069
+ "label": "Password",
3070
+ "group": "authentication",
3071
+ "type": "String",
3072
+ "feel": "optional",
3033
3073
  "binding": {
3034
- "name": "graphql.variables",
3035
- "type": "zeebe:input"
3074
+ "type": "zeebe:input",
3075
+ "name": "authentication.password"
3036
3076
  },
3037
- "type": "String"
3077
+ "constraints": {
3078
+ "notEmpty": true
3079
+ },
3080
+ "condition": {
3081
+ "property": "authenticationType",
3082
+ "equals": "basic"
3083
+ }
3038
3084
  },
3039
3085
  {
3040
- "id": "graphql.connectionTimeoutInSeconds",
3041
- "label": "Connection timeout in seconds",
3086
+ "label": "Connection timeout",
3042
3087
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
3043
- "optional": true,
3044
- "value": 20,
3045
- "feel": "static",
3046
3088
  "group": "timeout",
3089
+ "type": "String",
3090
+ "value": "20",
3047
3091
  "binding": {
3048
- "name": "graphql.connectionTimeoutInSeconds",
3049
- "type": "zeebe:input"
3050
- },
3051
- "type": "Number"
3052
- },
3053
- {
3054
- "id": "version",
3055
- "label": "Version",
3056
- "description": "Version of the element template",
3057
- "value": "8",
3058
- "group": "connector",
3059
- "binding": {
3060
- "key": "elementTemplateVersion",
3061
- "type": "zeebe:taskHeader"
3062
- },
3063
- "type": "Hidden"
3064
- },
3065
- {
3066
- "id": "id",
3067
- "label": "ID",
3068
- "description": "ID of the element template",
3069
- "value": "io.camunda.connectors.GraphQL.v1",
3070
- "group": "connector",
3071
- "binding": {
3072
- "key": "elementTemplateId",
3073
- "type": "zeebe:taskHeader"
3092
+ "type": "zeebe:input",
3093
+ "name": "graphql.connectionTimeoutInSeconds"
3074
3094
  },
3075
- "type": "Hidden"
3095
+ "feel": "optional",
3096
+ "optional": true,
3097
+ "constraints": {
3098
+ "notEmpty": false,
3099
+ "pattern": {
3100
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
3101
+ "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
3102
+ }
3103
+ }
3076
3104
  },
3077
3105
  {
3078
- "id": "resultVariable",
3079
3106
  "label": "Result variable",
3080
3107
  "description": "Name of variable to store the response in",
3081
3108
  "group": "output",
3109
+ "type": "String",
3082
3110
  "binding": {
3083
- "key": "resultVariable",
3084
- "type": "zeebe:taskHeader"
3085
- },
3086
- "type": "String"
3111
+ "type": "zeebe:taskHeader",
3112
+ "key": "resultVariable"
3113
+ }
3087
3114
  },
3088
3115
  {
3089
- "id": "resultExpression",
3090
3116
  "label": "Result expression",
3091
3117
  "description": "Expression to map the response into process variables",
3092
- "feel": "required",
3093
3118
  "group": "output",
3119
+ "type": "Text",
3120
+ "feel": "required",
3094
3121
  "binding": {
3095
- "key": "resultExpression",
3096
- "type": "zeebe:taskHeader"
3097
- },
3098
- "type": "Text"
3122
+ "type": "zeebe:taskHeader",
3123
+ "key": "resultExpression"
3124
+ }
3099
3125
  },
3100
3126
  {
3101
- "id": "errorExpression",
3102
3127
  "label": "Error expression",
3103
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
3128
+ "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>",
3129
+ "group": "errors",
3130
+ "type": "Text",
3104
3131
  "feel": "required",
3105
- "group": "error",
3106
- "binding": {
3107
- "key": "errorExpression",
3108
- "type": "zeebe:taskHeader"
3109
- },
3110
- "type": "Text"
3111
- },
3112
- {
3113
- "id": "retryCount",
3114
- "label": "Retries",
3115
- "description": "Number of retries",
3116
- "value": "3",
3117
- "feel": "optional",
3118
- "group": "retries",
3119
- "binding": {
3120
- "property": "retries",
3121
- "type": "zeebe:taskDefinition"
3122
- },
3123
- "type": "String"
3124
- },
3125
- {
3126
- "id": "retryBackoff",
3127
- "label": "Retry backoff",
3128
- "description": "ISO-8601 duration to wait between retries",
3129
- "value": "PT0S",
3130
- "group": "retries",
3131
3132
  "binding": {
3132
- "key": "retryBackoff",
3133
- "type": "zeebe:taskHeader"
3134
- },
3135
- "type": "String"
3133
+ "type": "zeebe:taskHeader",
3134
+ "key": "errorExpression"
3135
+ }
3136
3136
  }
3137
3137
  ],
3138
- "icon": {
3139
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
3138
+ "engines": {
3139
+ "camunda": "^8.4"
3140
3140
  }
3141
3141
  }
3142
3142
  ]