@camunda/connectors-element-templates 1.0.19 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/package.json +2 -2
  2. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +1 -1
  3. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +31 -31
  4. package/src/element-templates/agenticai-aiagent-job-worker.json +180 -180
  5. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3080 -3080
  6. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  7. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +1 -1
  8. package/src/element-templates/asana-connector.json +107 -107
  9. package/src/element-templates/automation-anywhere-outbound-connector.json +575 -575
  10. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1 -1
  11. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +1 -1
  12. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +1 -1
  13. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +1 -1
  14. package/src/element-templates/aws-bedrock-outbound-connector.json +1 -1
  15. package/src/element-templates/aws-comprehend-outbound-connector.json +1 -1
  16. package/src/element-templates/aws-dynamodb-outbound-connector.json +3079 -1727
  17. package/src/element-templates/aws-eventbridge-connector-boundary.json +33 -33
  18. package/src/element-templates/aws-eventbridge-connector-intermediate.json +28 -28
  19. package/src/element-templates/aws-eventbridge-connector-start-event.json +15 -15
  20. package/src/element-templates/aws-eventbridge-outbound-connector.json +289 -289
  21. package/src/element-templates/aws-lambda-outbound-connector.json +45 -45
  22. package/src/element-templates/aws-s3-outbound-connector.json +705 -32
  23. package/src/element-templates/aws-sagemaker-outbound-connector.json +1 -1
  24. package/src/element-templates/aws-sns-inbound-boundary.json +203 -203
  25. package/src/element-templates/aws-sns-inbound-intermediate.json +217 -217
  26. package/src/element-templates/aws-sns-inbound-message-start.json +237 -237
  27. package/src/element-templates/aws-sns-inbound-start-event.json +6 -6
  28. package/src/element-templates/aws-sns-outbound-connector.json +68 -68
  29. package/src/element-templates/aws-sqs-boundary-connector.json +415 -415
  30. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +500 -500
  31. package/src/element-templates/aws-sqs-outbound-connector.json +390 -390
  32. package/src/element-templates/aws-sqs-start-event-connector.json +409 -409
  33. package/src/element-templates/aws-textract-outbound-connector.json +124 -124
  34. package/src/element-templates/azure-blobstorage-outbound-connector.json +1 -1
  35. package/src/element-templates/azure-open-ai-connector.json +1 -1
  36. package/src/element-templates/blue-prism-connector.json +52 -52
  37. package/src/element-templates/box-outbound-connector.json +49 -49
  38. package/src/element-templates/csv-outbound-connector.json +452 -3
  39. package/src/element-templates/easy-post-connector.json +262 -262
  40. package/src/element-templates/email-outbound-connector.json +1 -1
  41. package/src/element-templates/embeddings-vector-database-outbound-connector.json +1 -1
  42. package/src/element-templates/github-connector.json +10051 -10051
  43. package/src/element-templates/github-webhook-connector-intermediate.json +25 -25
  44. package/src/element-templates/github-webhook-connector-start-event.json +26 -26
  45. package/src/element-templates/gitlab-connector.json +1081 -1081
  46. package/src/element-templates/google-cloud-storage-outbound-connector.json +1 -1
  47. package/src/element-templates/google-drive-outbound-connector.json +361 -361
  48. package/src/element-templates/google-gemini-outbound-connector.json +33 -33
  49. package/src/element-templates/google-maps-platform-connector.json +81 -81
  50. package/src/element-templates/google-sheets-outbound-connector.json +1124 -1124
  51. package/src/element-templates/graphql-outbound-connector.json +1813 -1706
  52. package/src/element-templates/http-json-connector.json +3412 -1814
  53. package/src/element-templates/http-polling-boundary-catch-event-connector.json +102 -0
  54. package/src/element-templates/http-polling-connector.json +825 -723
  55. package/src/element-templates/hubspot-outbound-connector.json +59 -59
  56. package/src/element-templates/hugging-face-connector.json +75 -75
  57. package/src/element-templates/jdbc-outbound-connector.json +1 -1
  58. package/src/element-templates/kafka-inbound-connector-boundary.json +976 -976
  59. package/src/element-templates/kafka-inbound-connector-intermediate.json +501 -501
  60. package/src/element-templates/kafka-inbound-connector-start-message.json +532 -532
  61. package/src/element-templates/kafka-outbound-connector.json +177 -177
  62. package/src/element-templates/microsoft-office365-mail-connector.json +1059 -73
  63. package/src/element-templates/microsoft-teams-outbound-connector.json +4489 -4489
  64. package/src/element-templates/openai-connector.json +238 -238
  65. package/src/element-templates/operate-connector.json +136 -136
  66. package/src/element-templates/power-automate-connector.json +19 -19
  67. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +443 -443
  68. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +765 -765
  69. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +352 -352
  70. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +337 -337
  71. package/src/element-templates/rabbitmq-outbound-connector.json +326 -326
  72. package/src/element-templates/salesforce-connector.json +59 -59
  73. package/src/element-templates/send-message-connector-intermediate-throw-event.json +1 -1
  74. package/src/element-templates/send-message-connector-message-end-event.json +1 -1
  75. package/src/element-templates/send-message-connector-send-task.json +1 -1
  76. package/src/element-templates/sendgrid-outbound-connector.json +636 -636
  77. package/src/element-templates/servicenow-connector.json +1 -1
  78. package/src/element-templates/servicenow-flow-starter-connector.json +1 -1
  79. package/src/element-templates/servicenow-incident-connector.json +1 -1
  80. package/src/element-templates/slack-inbound-boundary.json +266 -266
  81. package/src/element-templates/slack-inbound-intermediate.json +557 -557
  82. package/src/element-templates/slack-inbound-message-start.json +334 -334
  83. package/src/element-templates/slack-inbound-start-event.json +128 -128
  84. package/src/element-templates/slack-outbound-connector.json +1415 -1415
  85. package/src/element-templates/soap-outbound-connector.json +1 -1
  86. package/src/element-templates/twilio-connector.json +354 -354
  87. package/src/element-templates/twilio-webhook-boundary-connector.json +20 -20
  88. package/src/element-templates/twilio-webhook-connector.json +29 -29
  89. package/src/element-templates/twilio-webhook-intermediate-connector.json +25 -25
  90. package/src/element-templates/twilio-webhook-message-start-connector.json +17 -17
  91. package/src/element-templates/uipath-connector.json +56 -56
  92. package/src/element-templates/webhook-connector-boundary.json +114 -114
  93. package/src/element-templates/webhook-connector-intermediate.json +1129 -1129
  94. package/src/element-templates/webhook-connector-start-event.json +1293 -1293
  95. package/src/element-templates/webhook-connector-start-message.json +537 -537
  96. package/src/element-templates/whatsapp-connector.json +51 -51
@@ -4,11 +4,11 @@
4
4
  "name": "GraphQL Outbound Connector",
5
5
  "id": "io.camunda.connectors.GraphQL.v1",
6
6
  "description": "Execute GraphQL query",
7
- "version": 4,
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": "^(=|(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": "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
- }
264
- },
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"
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"
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"
316
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"
488
+ },
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"
344
500
  },
345
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.4"
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,8 @@
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"
391
- },
571
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
572
+ "version": 6,
392
573
  "category": {
393
574
  "id": "connectors",
394
575
  "name": "Connectors"
@@ -404,7 +585,7 @@
404
585
  },
405
586
  {
406
587
  "id": "endpoint",
407
- "label": "HTTP endpoint"
588
+ "label": "HTTP Endpoint"
408
589
  },
409
590
  {
410
591
  "id": "graphql",
@@ -412,37 +593,45 @@
412
593
  },
413
594
  {
414
595
  "id": "timeout",
415
- "label": "Connect timeout"
596
+ "label": "Connection timeout"
416
597
  },
417
598
  {
418
599
  "id": "output",
419
- "label": "Response mapping"
600
+ "label": "Output mapping"
420
601
  },
421
602
  {
422
- "id": "errors",
603
+ "id": "error",
423
604
  "label": "Error handling"
605
+ },
606
+ {
607
+ "id": "retries",
608
+ "label": "Retries"
424
609
  }
425
610
  ],
426
611
  "properties": [
427
612
  {
428
- "type": "Hidden",
429
613
  "value": "io.camunda:connector-graphql:1",
430
614
  "binding": {
431
- "type": "zeebe:taskDefinition",
432
- "property": "type"
433
- }
615
+ "property": "type",
616
+ "type": "zeebe:taskDefinition"
617
+ },
618
+ "type": "Hidden"
434
619
  },
435
620
  {
621
+ "id": "authentication.type",
436
622
  "label": "Type",
437
- "id": "authenticationType",
438
- "group": "authentication",
439
623
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
440
624
  "value": "noAuth",
625
+ "group": "authentication",
626
+ "binding": {
627
+ "name": "authentication.type",
628
+ "type": "zeebe:input"
629
+ },
441
630
  "type": "Dropdown",
442
631
  "choices": [
443
632
  {
444
- "name": "None",
445
- "value": "noAuth"
633
+ "name": "API key",
634
+ "value": "apiKey"
446
635
  },
447
636
  {
448
637
  "name": "Basic",
@@ -452,202 +641,250 @@
452
641
  "name": "Bearer token",
453
642
  "value": "bearer"
454
643
  },
644
+ {
645
+ "name": "None",
646
+ "value": "noAuth"
647
+ },
455
648
  {
456
649
  "name": "OAuth 2.0",
457
650
  "value": "oauth-client-credentials-flow"
458
651
  }
459
- ],
460
- "binding": {
461
- "type": "zeebe:input",
462
- "name": "authentication.type"
463
- }
652
+ ]
464
653
  },
465
654
  {
466
- "label": "URL",
467
- "group": "endpoint",
468
- "type": "String",
469
- "feel": "optional",
655
+ "id": "authentication.apiKeyLocation",
656
+ "label": "Api key location",
657
+ "description": "Choose type: Send API key in header or as query parameter.",
658
+ "optional": false,
659
+ "value": "headers",
660
+ "constraints": {
661
+ "notEmpty": true
662
+ },
663
+ "group": "authentication",
470
664
  "binding": {
471
- "type": "zeebe:input",
472
- "name": "graphql.url"
665
+ "name": "authentication.apiKeyLocation",
666
+ "type": "zeebe:input"
667
+ },
668
+ "condition": {
669
+ "property": "authentication.type",
670
+ "equals": "apiKey",
671
+ "type": "simple"
473
672
  },
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
673
  "type": "Dropdown",
487
- "value": "post",
488
674
  "choices": [
489
675
  {
490
- "name": "POST",
491
- "value": "post"
676
+ "name": "Headers",
677
+ "value": "headers"
492
678
  },
493
679
  {
494
- "name": "GET",
495
- "value": "get"
680
+ "name": "Query parameters",
681
+ "value": "query"
496
682
  }
497
- ],
498
- "binding": {
499
- "type": "zeebe:input",
500
- "name": "graphql.method"
501
- }
683
+ ]
502
684
  },
503
685
  {
504
- "id": "headers",
505
- "label": "Headers",
506
- "group": "endpoint",
507
- "type": "Text",
508
- "feel": "required",
509
- "optional": true,
686
+ "id": "authentication.name",
687
+ "label": "API key name",
688
+ "optional": false,
689
+ "constraints": {
690
+ "notEmpty": true
691
+ },
692
+ "feel": "optional",
693
+ "group": "authentication",
510
694
  "binding": {
511
- "type": "zeebe:input",
512
- "name": "graphql.headers"
513
- }
695
+ "name": "authentication.name",
696
+ "type": "zeebe:input"
697
+ },
698
+ "condition": {
699
+ "property": "authentication.type",
700
+ "equals": "apiKey",
701
+ "type": "simple"
702
+ },
703
+ "type": "String"
514
704
  },
515
705
  {
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
- },
706
+ "id": "authentication.value",
707
+ "label": "API key value",
525
708
  "optional": false,
526
709
  "constraints": {
527
710
  "notEmpty": true
528
- }
711
+ },
712
+ "feel": "optional",
713
+ "group": "authentication",
714
+ "binding": {
715
+ "name": "authentication.value",
716
+ "type": "zeebe:input"
717
+ },
718
+ "condition": {
719
+ "property": "authentication.type",
720
+ "equals": "apiKey",
721
+ "type": "simple"
722
+ },
723
+ "type": "String"
529
724
  },
530
725
  {
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",
726
+ "id": "authentication.username",
727
+ "label": "Username",
728
+ "optional": false,
729
+ "constraints": {
730
+ "notEmpty": true
731
+ },
732
+ "feel": "optional",
733
+ "group": "authentication",
536
734
  "binding": {
537
- "type": "zeebe:input",
538
- "name": "graphql.variables"
735
+ "name": "authentication.username",
736
+ "type": "zeebe:input"
539
737
  },
540
- "optional": true
738
+ "condition": {
739
+ "property": "authentication.type",
740
+ "equals": "basic",
741
+ "type": "simple"
742
+ },
743
+ "type": "String"
541
744
  },
542
745
  {
543
- "label": "Bearer token",
544
- "group": "authentication",
545
- "type": "String",
746
+ "id": "authentication.password",
747
+ "label": "Password",
748
+ "optional": false,
749
+ "constraints": {
750
+ "notEmpty": true
751
+ },
546
752
  "feel": "optional",
753
+ "group": "authentication",
547
754
  "binding": {
548
- "type": "zeebe:input",
549
- "name": "graphql.authentication.token"
755
+ "name": "authentication.password",
756
+ "type": "zeebe:input"
757
+ },
758
+ "condition": {
759
+ "property": "authentication.type",
760
+ "equals": "basic",
761
+ "type": "simple"
550
762
  },
763
+ "type": "String"
764
+ },
765
+ {
766
+ "id": "authentication.token",
767
+ "label": "Bearer token",
768
+ "optional": false,
551
769
  "constraints": {
552
770
  "notEmpty": true
553
771
  },
772
+ "feel": "optional",
773
+ "group": "authentication",
774
+ "binding": {
775
+ "name": "authentication.token",
776
+ "type": "zeebe:input"
777
+ },
554
778
  "condition": {
555
- "property": "authenticationType",
556
- "equals": "bearer"
557
- }
779
+ "property": "authentication.type",
780
+ "equals": "bearer",
781
+ "type": "simple"
782
+ },
783
+ "type": "String"
558
784
  },
559
785
  {
560
- "label": "OAuth token endpoint",
786
+ "id": "authentication.oauthTokenEndpoint",
787
+ "label": "OAuth 2.0 token endpoint",
561
788
  "description": "The OAuth token endpoint",
562
- "group": "authentication",
563
- "type": "String",
789
+ "optional": false,
790
+ "constraints": {
791
+ "notEmpty": true,
792
+ "pattern": {
793
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
794
+ "message": "Must be a http(s) URL"
795
+ }
796
+ },
564
797
  "feel": "optional",
798
+ "group": "authentication",
565
799
  "binding": {
566
- "type": "zeebe:input",
567
- "name": "authentication.oauthTokenEndpoint"
568
- },
569
- "constraints": {
570
- "notEmpty": true
800
+ "name": "authentication.oauthTokenEndpoint",
801
+ "type": "zeebe:input"
571
802
  },
572
803
  "condition": {
573
- "property": "authenticationType",
574
- "equals": "oauth-client-credentials-flow"
575
- }
804
+ "property": "authentication.type",
805
+ "equals": "oauth-client-credentials-flow",
806
+ "type": "simple"
807
+ },
808
+ "type": "String"
576
809
  },
577
810
  {
811
+ "id": "authentication.clientId",
578
812
  "label": "Client ID",
579
813
  "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
- },
814
+ "optional": false,
587
815
  "constraints": {
588
816
  "notEmpty": true
589
817
  },
818
+ "feel": "optional",
819
+ "group": "authentication",
820
+ "binding": {
821
+ "name": "authentication.clientId",
822
+ "type": "zeebe:input"
823
+ },
590
824
  "condition": {
591
- "property": "authenticationType",
592
- "equals": "oauth-client-credentials-flow"
593
- }
825
+ "property": "authentication.type",
826
+ "equals": "oauth-client-credentials-flow",
827
+ "type": "simple"
828
+ },
829
+ "type": "String"
594
830
  },
595
831
  {
832
+ "id": "authentication.clientSecret",
596
833
  "label": "Client secret",
597
834
  "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
- },
835
+ "optional": false,
605
836
  "constraints": {
606
837
  "notEmpty": true
607
838
  },
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
839
  "feel": "optional",
619
- "optional": true,
840
+ "group": "authentication",
620
841
  "binding": {
621
- "type": "zeebe:input",
622
- "name": "authentication.scopes"
842
+ "name": "authentication.clientSecret",
843
+ "type": "zeebe:input"
623
844
  },
624
845
  "condition": {
625
- "property": "authenticationType",
626
- "equals": "oauth-client-credentials-flow"
627
- }
846
+ "property": "authentication.type",
847
+ "equals": "oauth-client-credentials-flow",
848
+ "type": "simple"
849
+ },
850
+ "type": "String"
628
851
  },
629
852
  {
853
+ "id": "authentication.audience",
630
854
  "label": "Audience",
631
855
  "description": "The unique identifier of the target API you want to access",
632
- "group": "authentication",
633
- "type": "String",
634
- "feel": "optional",
635
856
  "optional": true,
857
+ "feel": "optional",
858
+ "group": "authentication",
636
859
  "binding": {
637
- "type": "zeebe:input",
638
- "name": "authentication.audience"
860
+ "name": "authentication.audience",
861
+ "type": "zeebe:input"
639
862
  },
640
863
  "condition": {
641
- "property": "authenticationType",
642
- "equals": "oauth-client-credentials-flow"
643
- }
864
+ "property": "authentication.type",
865
+ "equals": "oauth-client-credentials-flow",
866
+ "type": "simple"
867
+ },
868
+ "type": "String"
644
869
  },
645
870
  {
646
- "label": "Client authentication",
647
871
  "id": "authentication.clientAuthentication",
872
+ "label": "Client authentication",
873
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
874
+ "optional": false,
875
+ "constraints": {
876
+ "notEmpty": true
877
+ },
648
878
  "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",
879
+ "binding": {
880
+ "name": "authentication.clientAuthentication",
881
+ "type": "zeebe:input"
882
+ },
883
+ "condition": {
884
+ "property": "authentication.type",
885
+ "equals": "oauth-client-credentials-flow",
886
+ "type": "simple"
887
+ },
651
888
  "type": "Dropdown",
652
889
  "choices": [
653
890
  {
@@ -658,105 +895,192 @@
658
895
  "name": "Send as Basic Auth header",
659
896
  "value": "basicAuthHeader"
660
897
  }
661
- ],
662
- "binding": {
663
- "type": "zeebe:input",
664
- "name": "authentication.clientAuthentication"
665
- },
666
- "condition": {
667
- "property": "authenticationType",
668
- "equals": "oauth-client-credentials-flow"
669
- }
898
+ ]
670
899
  },
671
900
  {
672
- "label": "Username",
673
- "group": "authentication",
674
- "type": "String",
901
+ "id": "authentication.scopes",
902
+ "label": "Scopes",
903
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
904
+ "optional": true,
675
905
  "feel": "optional",
906
+ "group": "authentication",
676
907
  "binding": {
677
- "type": "zeebe:input",
678
- "name": "authentication.username"
908
+ "name": "authentication.scopes",
909
+ "type": "zeebe:input"
910
+ },
911
+ "condition": {
912
+ "property": "authentication.type",
913
+ "equals": "oauth-client-credentials-flow",
914
+ "type": "simple"
679
915
  },
916
+ "type": "String"
917
+ },
918
+ {
919
+ "id": "graphql.method",
920
+ "label": "Method",
921
+ "optional": false,
922
+ "value": "get",
680
923
  "constraints": {
681
924
  "notEmpty": true
682
925
  },
683
- "condition": {
684
- "property": "authenticationType",
685
- "equals": "basic"
686
- }
926
+ "group": "endpoint",
927
+ "binding": {
928
+ "name": "graphql.method",
929
+ "type": "zeebe:input"
930
+ },
931
+ "type": "Dropdown",
932
+ "choices": [
933
+ {
934
+ "name": "GET",
935
+ "value": "get"
936
+ },
937
+ {
938
+ "name": "POST",
939
+ "value": "post"
940
+ }
941
+ ]
687
942
  },
688
943
  {
689
- "label": "Password",
690
- "group": "authentication",
691
- "type": "String",
944
+ "id": "graphql.url",
945
+ "label": "URL",
946
+ "optional": false,
947
+ "constraints": {
948
+ "notEmpty": true,
949
+ "pattern": {
950
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
951
+ "message": "Must be a http(s) URL"
952
+ }
953
+ },
692
954
  "feel": "optional",
955
+ "group": "endpoint",
693
956
  "binding": {
694
- "type": "zeebe:input",
695
- "name": "authentication.password"
957
+ "name": "graphql.url",
958
+ "type": "zeebe:input"
959
+ },
960
+ "type": "String"
961
+ },
962
+ {
963
+ "id": "graphql.headers",
964
+ "label": "Headers",
965
+ "description": "Map of HTTP headers to add to the request",
966
+ "optional": true,
967
+ "feel": "required",
968
+ "group": "endpoint",
969
+ "binding": {
970
+ "name": "graphql.headers",
971
+ "type": "zeebe:input"
696
972
  },
973
+ "type": "String"
974
+ },
975
+ {
976
+ "id": "graphql.query",
977
+ "label": "Query/Mutation",
978
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
979
+ "optional": false,
697
980
  "constraints": {
698
981
  "notEmpty": true
699
982
  },
700
- "condition": {
701
- "property": "authenticationType",
702
- "equals": "basic"
703
- }
983
+ "feel": "optional",
984
+ "group": "graphql",
985
+ "binding": {
986
+ "name": "graphql.query",
987
+ "type": "zeebe:input"
988
+ },
989
+ "type": "Text"
704
990
  },
705
991
  {
706
- "label": "Connection timeout",
992
+ "id": "graphql.variables",
993
+ "label": "Variables",
994
+ "optional": true,
995
+ "feel": "required",
996
+ "group": "graphql",
997
+ "binding": {
998
+ "name": "graphql.variables",
999
+ "type": "zeebe:input"
1000
+ },
1001
+ "type": "String"
1002
+ },
1003
+ {
1004
+ "id": "graphql.connectionTimeoutInSeconds",
1005
+ "label": "Connection timeout in seconds",
707
1006
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
708
- "group": "timeout",
709
- "type": "String",
1007
+ "optional": true,
710
1008
  "value": "20",
1009
+ "feel": "optional",
1010
+ "group": "timeout",
711
1011
  "binding": {
712
- "type": "zeebe:input",
713
- "name": "graphql.connectionTimeoutInSeconds"
1012
+ "name": "graphql.connectionTimeoutInSeconds",
1013
+ "type": "zeebe:input"
714
1014
  },
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
- }
1015
+ "type": "String"
724
1016
  },
725
1017
  {
1018
+ "id": "resultVariable",
726
1019
  "label": "Result variable",
727
1020
  "description": "Name of variable to store the response in",
728
1021
  "group": "output",
729
- "type": "String",
730
1022
  "binding": {
731
- "type": "zeebe:taskHeader",
732
- "key": "resultVariable"
733
- }
1023
+ "key": "resultVariable",
1024
+ "type": "zeebe:taskHeader"
1025
+ },
1026
+ "type": "String"
734
1027
  },
735
1028
  {
1029
+ "id": "resultExpression",
736
1030
  "label": "Result expression",
737
1031
  "description": "Expression to map the response into process variables",
738
- "group": "output",
739
- "type": "Text",
740
1032
  "feel": "required",
1033
+ "group": "output",
741
1034
  "binding": {
742
- "type": "zeebe:taskHeader",
743
- "key": "resultExpression"
744
- }
1035
+ "key": "resultExpression",
1036
+ "type": "zeebe:taskHeader"
1037
+ },
1038
+ "type": "Text"
745
1039
  },
746
1040
  {
1041
+ "id": "errorExpression",
747
1042
  "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",
1043
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
751
1044
  "feel": "required",
1045
+ "group": "error",
752
1046
  "binding": {
753
- "type": "zeebe:taskHeader",
754
- "key": "errorExpression"
755
- }
1047
+ "key": "errorExpression",
1048
+ "type": "zeebe:taskHeader"
1049
+ },
1050
+ "type": "Text"
1051
+ },
1052
+ {
1053
+ "id": "retryCount",
1054
+ "label": "Retries",
1055
+ "description": "Number of retries",
1056
+ "value": "3",
1057
+ "feel": "optional",
1058
+ "group": "retries",
1059
+ "binding": {
1060
+ "property": "retries",
1061
+ "type": "zeebe:taskDefinition"
1062
+ },
1063
+ "type": "String"
1064
+ },
1065
+ {
1066
+ "id": "retryBackoff",
1067
+ "label": "Retry backoff",
1068
+ "description": "ISO-8601 duration to wait between retries",
1069
+ "value": "PT0S",
1070
+ "feel": "optional",
1071
+ "group": "retries",
1072
+ "binding": {
1073
+ "key": "retryBackoff",
1074
+ "type": "zeebe:taskHeader"
1075
+ },
1076
+ "type": "String"
756
1077
  }
757
1078
  ],
1079
+ "icon": {
1080
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
1081
+ },
758
1082
  "engines": {
759
- "camunda": "^8.2"
1083
+ "camunda": "^8.5"
760
1084
  }
761
1085
  },
762
1086
  {
@@ -764,11 +1088,11 @@
764
1088
  "name": "GraphQL Outbound Connector",
765
1089
  "id": "io.camunda.connectors.GraphQL.v1",
766
1090
  "description": "Execute GraphQL query",
767
- "metadata": {
768
- "keywords": []
1091
+ "version": 4,
1092
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
1093
+ "icon": {
1094
+ "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"
769
1095
  },
770
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
771
- "version": 7,
772
1096
  "category": {
773
1097
  "id": "connectors",
774
1098
  "name": "Connectors"
@@ -777,9 +1101,6 @@
777
1101
  "elementType": {
778
1102
  "value": "bpmn:ServiceTask"
779
1103
  },
780
- "engines": {
781
- "camunda": "^8.3"
782
- },
783
1104
  "groups": [
784
1105
  {
785
1106
  "id": "authentication",
@@ -787,7 +1108,7 @@
787
1108
  },
788
1109
  {
789
1110
  "id": "endpoint",
790
- "label": "HTTP Endpoint"
1111
+ "label": "HTTP endpoint"
791
1112
  },
792
1113
  {
793
1114
  "id": "graphql",
@@ -795,45 +1116,37 @@
795
1116
  },
796
1117
  {
797
1118
  "id": "timeout",
798
- "label": "Connection timeout"
1119
+ "label": "Connect timeout"
799
1120
  },
800
1121
  {
801
1122
  "id": "output",
802
- "label": "Output mapping"
1123
+ "label": "Response mapping"
803
1124
  },
804
1125
  {
805
- "id": "error",
1126
+ "id": "errors",
806
1127
  "label": "Error handling"
807
- },
808
- {
809
- "id": "retries",
810
- "label": "Retries"
811
1128
  }
812
1129
  ],
813
1130
  "properties": [
814
1131
  {
1132
+ "type": "Hidden",
815
1133
  "value": "io.camunda:connector-graphql:1",
816
1134
  "binding": {
817
- "property": "type",
818
- "type": "zeebe:taskDefinition"
819
- },
820
- "type": "Hidden"
1135
+ "type": "zeebe:taskDefinition",
1136
+ "property": "type"
1137
+ }
821
1138
  },
822
1139
  {
823
- "id": "authentication.type",
824
1140
  "label": "Type",
1141
+ "id": "authenticationType",
1142
+ "group": "authentication",
825
1143
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
826
1144
  "value": "noAuth",
827
- "group": "authentication",
828
- "binding": {
829
- "name": "authentication.type",
830
- "type": "zeebe:input"
831
- },
832
1145
  "type": "Dropdown",
833
1146
  "choices": [
834
- {
835
- "name": "API key",
836
- "value": "apiKey"
1147
+ {
1148
+ "name": "None",
1149
+ "value": "noAuth"
837
1150
  },
838
1151
  {
839
1152
  "name": "Basic",
@@ -843,250 +1156,202 @@
843
1156
  "name": "Bearer token",
844
1157
  "value": "bearer"
845
1158
  },
846
- {
847
- "name": "None",
848
- "value": "noAuth"
849
- },
850
1159
  {
851
1160
  "name": "OAuth 2.0",
852
1161
  "value": "oauth-client-credentials-flow"
853
1162
  }
854
- ]
1163
+ ],
1164
+ "binding": {
1165
+ "type": "zeebe:input",
1166
+ "name": "authentication.type"
1167
+ }
855
1168
  },
856
1169
  {
857
- "id": "authentication.apiKeyLocation",
858
- "label": "Api key location",
859
- "description": "Choose type: Send API key in header or as query parameter.",
860
- "optional": false,
861
- "value": "headers",
862
- "constraints": {
863
- "notEmpty": true
864
- },
865
- "group": "authentication",
1170
+ "label": "URL",
1171
+ "group": "endpoint",
1172
+ "type": "String",
1173
+ "feel": "optional",
866
1174
  "binding": {
867
- "name": "authentication.apiKeyLocation",
868
- "type": "zeebe:input"
869
- },
870
- "condition": {
871
- "property": "authentication.type",
872
- "equals": "apiKey",
873
- "type": "simple"
1175
+ "type": "zeebe:input",
1176
+ "name": "graphql.url"
874
1177
  },
1178
+ "constraints": {
1179
+ "notEmpty": true,
1180
+ "pattern": {
1181
+ "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
1182
+ "message": "Must be a http(s) URL."
1183
+ }
1184
+ }
1185
+ },
1186
+ {
1187
+ "id": "method",
1188
+ "label": "Method",
1189
+ "group": "endpoint",
875
1190
  "type": "Dropdown",
1191
+ "value": "post",
876
1192
  "choices": [
877
1193
  {
878
- "name": "Headers",
879
- "value": "headers"
1194
+ "name": "POST",
1195
+ "value": "post"
880
1196
  },
881
1197
  {
882
- "name": "Query parameters",
883
- "value": "query"
1198
+ "name": "GET",
1199
+ "value": "get"
884
1200
  }
885
- ]
1201
+ ],
1202
+ "binding": {
1203
+ "type": "zeebe:input",
1204
+ "name": "graphql.method"
1205
+ }
886
1206
  },
887
1207
  {
888
- "id": "authentication.name",
889
- "label": "API key name",
890
- "optional": false,
891
- "constraints": {
892
- "notEmpty": true
893
- },
894
- "feel": "optional",
895
- "group": "authentication",
1208
+ "id": "headers",
1209
+ "label": "Headers",
1210
+ "group": "endpoint",
1211
+ "type": "Text",
1212
+ "feel": "required",
1213
+ "optional": true,
896
1214
  "binding": {
897
- "name": "authentication.name",
898
- "type": "zeebe:input"
899
- },
900
- "condition": {
901
- "property": "authentication.type",
902
- "equals": "apiKey",
903
- "type": "simple"
904
- },
905
- "type": "String"
1215
+ "type": "zeebe:input",
1216
+ "name": "graphql.headers"
1217
+ }
906
1218
  },
907
1219
  {
908
- "id": "authentication.value",
909
- "label": "API key value",
910
- "optional": false,
911
- "constraints": {
912
- "notEmpty": true
913
- },
914
- "feel": "optional",
915
- "group": "authentication",
1220
+ "label": "Query/Mutation",
1221
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1222
+ "group": "graphql",
1223
+ "type": "Text",
1224
+ "language": "graphql",
916
1225
  "binding": {
917
- "name": "authentication.value",
918
- "type": "zeebe:input"
919
- },
920
- "condition": {
921
- "property": "authentication.type",
922
- "equals": "apiKey",
923
- "type": "simple"
1226
+ "type": "zeebe:input",
1227
+ "name": "graphql.query"
924
1228
  },
925
- "type": "String"
926
- },
927
- {
928
- "id": "authentication.username",
929
- "label": "Username",
930
1229
  "optional": false,
931
1230
  "constraints": {
932
1231
  "notEmpty": true
933
- },
934
- "feel": "optional",
935
- "group": "authentication",
936
- "binding": {
937
- "name": "authentication.username",
938
- "type": "zeebe:input"
939
- },
940
- "condition": {
941
- "property": "authentication.type",
942
- "equals": "basic",
943
- "type": "simple"
944
- },
945
- "type": "String"
1232
+ }
946
1233
  },
947
1234
  {
948
- "id": "authentication.password",
949
- "label": "Password",
950
- "optional": false,
951
- "constraints": {
952
- "notEmpty": true
953
- },
954
- "feel": "optional",
955
- "group": "authentication",
1235
+ "label": "Variables",
1236
+ "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>",
1237
+ "group": "graphql",
1238
+ "type": "Text",
1239
+ "feel": "required",
956
1240
  "binding": {
957
- "name": "authentication.password",
958
- "type": "zeebe:input"
959
- },
960
- "condition": {
961
- "property": "authentication.type",
962
- "equals": "basic",
963
- "type": "simple"
1241
+ "type": "zeebe:input",
1242
+ "name": "graphql.variables"
964
1243
  },
965
- "type": "String"
1244
+ "optional": true
966
1245
  },
967
1246
  {
968
- "id": "authentication.token",
969
1247
  "label": "Bearer token",
970
- "optional": false,
971
- "constraints": {
972
- "notEmpty": true
973
- },
974
- "feel": "optional",
975
1248
  "group": "authentication",
1249
+ "type": "String",
1250
+ "feel": "optional",
976
1251
  "binding": {
977
- "name": "authentication.token",
978
- "type": "zeebe:input"
1252
+ "type": "zeebe:input",
1253
+ "name": "authentication.token"
979
1254
  },
980
- "condition": {
981
- "property": "authentication.type",
982
- "equals": "bearer",
983
- "type": "simple"
1255
+ "constraints": {
1256
+ "notEmpty": true
984
1257
  },
985
- "type": "String"
1258
+ "condition": {
1259
+ "property": "authenticationType",
1260
+ "equals": "bearer"
1261
+ }
986
1262
  },
987
1263
  {
988
- "id": "authentication.oauthTokenEndpoint",
989
- "label": "OAuth 2.0 token endpoint",
1264
+ "label": "OAuth token endpoint",
990
1265
  "description": "The OAuth token endpoint",
991
- "optional": false,
992
- "constraints": {
993
- "notEmpty": true,
994
- "pattern": {
995
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
996
- "message": "Must be a http(s) URL"
997
- }
998
- },
999
- "feel": "optional",
1000
1266
  "group": "authentication",
1267
+ "type": "String",
1268
+ "feel": "optional",
1001
1269
  "binding": {
1002
- "name": "authentication.oauthTokenEndpoint",
1003
- "type": "zeebe:input"
1270
+ "type": "zeebe:input",
1271
+ "name": "authentication.oauthTokenEndpoint"
1004
1272
  },
1005
- "condition": {
1006
- "property": "authentication.type",
1007
- "equals": "oauth-client-credentials-flow",
1008
- "type": "simple"
1273
+ "constraints": {
1274
+ "notEmpty": true
1009
1275
  },
1010
- "type": "String"
1276
+ "condition": {
1277
+ "property": "authenticationType",
1278
+ "equals": "oauth-client-credentials-flow"
1279
+ }
1011
1280
  },
1012
1281
  {
1013
- "id": "authentication.clientId",
1014
1282
  "label": "Client ID",
1015
1283
  "description": "Your application's client ID from the OAuth client",
1016
- "optional": false,
1017
- "constraints": {
1018
- "notEmpty": true
1019
- },
1020
- "feel": "optional",
1021
1284
  "group": "authentication",
1285
+ "type": "String",
1286
+ "feel": "optional",
1022
1287
  "binding": {
1023
- "name": "authentication.clientId",
1024
- "type": "zeebe:input"
1288
+ "type": "zeebe:input",
1289
+ "name": "authentication.clientId"
1025
1290
  },
1026
- "condition": {
1027
- "property": "authentication.type",
1028
- "equals": "oauth-client-credentials-flow",
1029
- "type": "simple"
1291
+ "constraints": {
1292
+ "notEmpty": true
1030
1293
  },
1031
- "type": "String"
1294
+ "condition": {
1295
+ "property": "authenticationType",
1296
+ "equals": "oauth-client-credentials-flow"
1297
+ }
1032
1298
  },
1033
1299
  {
1034
- "id": "authentication.clientSecret",
1035
1300
  "label": "Client secret",
1036
1301
  "description": "Your application's client secret from the OAuth client",
1037
- "optional": false,
1302
+ "group": "authentication",
1303
+ "type": "String",
1304
+ "feel": "optional",
1305
+ "binding": {
1306
+ "type": "zeebe:input",
1307
+ "name": "authentication.clientSecret"
1308
+ },
1038
1309
  "constraints": {
1039
1310
  "notEmpty": true
1040
1311
  },
1041
- "feel": "optional",
1312
+ "condition": {
1313
+ "property": "authenticationType",
1314
+ "equals": "oauth-client-credentials-flow"
1315
+ }
1316
+ },
1317
+ {
1318
+ "label": "Scopes",
1319
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1042
1320
  "group": "authentication",
1321
+ "type": "String",
1322
+ "feel": "optional",
1323
+ "optional": true,
1043
1324
  "binding": {
1044
- "name": "authentication.clientSecret",
1045
- "type": "zeebe:input"
1046
- },
1047
- "condition": {
1048
- "property": "authentication.type",
1049
- "equals": "oauth-client-credentials-flow",
1050
- "type": "simple"
1325
+ "type": "zeebe:input",
1326
+ "name": "authentication.scopes"
1051
1327
  },
1052
- "type": "String"
1328
+ "condition": {
1329
+ "property": "authenticationType",
1330
+ "equals": "oauth-client-credentials-flow"
1331
+ }
1053
1332
  },
1054
1333
  {
1055
- "id": "authentication.audience",
1056
1334
  "label": "Audience",
1057
1335
  "description": "The unique identifier of the target API you want to access",
1058
- "optional": true,
1059
- "feel": "optional",
1060
1336
  "group": "authentication",
1337
+ "type": "String",
1338
+ "feel": "optional",
1339
+ "optional": true,
1061
1340
  "binding": {
1062
- "name": "authentication.audience",
1063
- "type": "zeebe:input"
1341
+ "type": "zeebe:input",
1342
+ "name": "authentication.audience"
1064
1343
  },
1065
1344
  "condition": {
1066
- "property": "authentication.type",
1067
- "equals": "oauth-client-credentials-flow",
1068
- "type": "simple"
1069
- },
1070
- "type": "String"
1345
+ "property": "authenticationType",
1346
+ "equals": "oauth-client-credentials-flow"
1347
+ }
1071
1348
  },
1072
1349
  {
1073
- "id": "authentication.clientAuthentication",
1074
1350
  "label": "Client authentication",
1075
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1076
- "optional": false,
1077
- "constraints": {
1078
- "notEmpty": true
1079
- },
1351
+ "id": "authentication.clientAuthentication",
1080
1352
  "group": "authentication",
1081
- "binding": {
1082
- "name": "authentication.clientAuthentication",
1083
- "type": "zeebe:input"
1084
- },
1085
- "condition": {
1086
- "property": "authentication.type",
1087
- "equals": "oauth-client-credentials-flow",
1088
- "type": "simple"
1089
- },
1353
+ "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
1354
+ "value": "basicAuthHeader",
1090
1355
  "type": "Dropdown",
1091
1356
  "choices": [
1092
1357
  {
@@ -1097,211 +1362,117 @@
1097
1362
  "name": "Send as Basic Auth header",
1098
1363
  "value": "basicAuthHeader"
1099
1364
  }
1100
- ]
1101
- },
1102
- {
1103
- "id": "authentication.scopes",
1104
- "label": "Scopes",
1105
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1106
- "optional": true,
1107
- "feel": "optional",
1108
- "group": "authentication",
1365
+ ],
1109
1366
  "binding": {
1110
- "name": "authentication.scopes",
1111
- "type": "zeebe:input"
1367
+ "type": "zeebe:input",
1368
+ "name": "authentication.clientAuthentication"
1112
1369
  },
1113
1370
  "condition": {
1114
- "property": "authentication.type",
1115
- "equals": "oauth-client-credentials-flow",
1116
- "type": "simple"
1117
- },
1118
- "type": "String"
1119
- },
1120
- {
1121
- "id": "graphql.method",
1122
- "label": "Method",
1123
- "optional": false,
1124
- "value": "get",
1125
- "constraints": {
1126
- "notEmpty": true
1127
- },
1128
- "group": "endpoint",
1129
- "binding": {
1130
- "name": "graphql.method",
1131
- "type": "zeebe:input"
1132
- },
1133
- "type": "Dropdown",
1134
- "choices": [
1135
- {
1136
- "name": "GET",
1137
- "value": "get"
1138
- },
1139
- {
1140
- "name": "POST",
1141
- "value": "post"
1142
- }
1143
- ]
1371
+ "property": "authenticationType",
1372
+ "equals": "oauth-client-credentials-flow"
1373
+ }
1144
1374
  },
1145
1375
  {
1146
- "id": "graphql.url",
1147
- "label": "URL",
1148
- "optional": false,
1149
- "constraints": {
1150
- "notEmpty": true,
1151
- "pattern": {
1152
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1153
- "message": "Must be a http(s) URL"
1154
- }
1155
- },
1376
+ "label": "Username",
1377
+ "group": "authentication",
1378
+ "type": "String",
1156
1379
  "feel": "optional",
1157
- "group": "endpoint",
1158
1380
  "binding": {
1159
- "name": "graphql.url",
1160
- "type": "zeebe:input"
1381
+ "type": "zeebe:input",
1382
+ "name": "authentication.username"
1161
1383
  },
1162
- "type": "String"
1163
- },
1164
- {
1165
- "id": "graphql.headers",
1166
- "label": "Headers",
1167
- "description": "Map of HTTP headers to add to the request",
1168
- "optional": true,
1169
- "feel": "required",
1170
- "group": "endpoint",
1171
- "binding": {
1172
- "name": "graphql.headers",
1173
- "type": "zeebe:input"
1384
+ "constraints": {
1385
+ "notEmpty": true
1174
1386
  },
1175
- "type": "String"
1387
+ "condition": {
1388
+ "property": "authenticationType",
1389
+ "equals": "basic"
1390
+ }
1176
1391
  },
1177
1392
  {
1178
- "id": "graphql.storeResponse",
1179
- "label": "Store response",
1180
- "description": "Store the response as a document in the document store",
1181
- "optional": false,
1182
- "value": false,
1183
- "feel": "static",
1184
- "group": "endpoint",
1393
+ "label": "Password",
1394
+ "group": "authentication",
1395
+ "type": "String",
1396
+ "feel": "optional",
1185
1397
  "binding": {
1186
- "name": "graphql.storeResponse",
1187
- "type": "zeebe:input"
1398
+ "type": "zeebe:input",
1399
+ "name": "authentication.password"
1188
1400
  },
1189
- "type": "Boolean"
1190
- },
1191
- {
1192
- "id": "graphql.query",
1193
- "label": "Query/Mutation",
1194
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1195
- "optional": false,
1196
1401
  "constraints": {
1197
1402
  "notEmpty": true
1198
1403
  },
1199
- "feel": "optional",
1200
- "group": "graphql",
1201
- "binding": {
1202
- "name": "graphql.query",
1203
- "type": "zeebe:input"
1204
- },
1205
- "type": "Text"
1206
- },
1207
- {
1208
- "id": "graphql.variables",
1209
- "label": "Variables",
1210
- "optional": true,
1211
- "feel": "required",
1212
- "group": "graphql",
1213
- "binding": {
1214
- "name": "graphql.variables",
1215
- "type": "zeebe:input"
1216
- },
1217
- "type": "String"
1404
+ "condition": {
1405
+ "property": "authenticationType",
1406
+ "equals": "basic"
1407
+ }
1218
1408
  },
1219
1409
  {
1220
- "id": "graphql.connectionTimeoutInSeconds",
1221
- "label": "Connection timeout in seconds",
1410
+ "label": "Connection timeout",
1222
1411
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1223
- "optional": true,
1224
- "value": 20,
1225
- "feel": "static",
1226
1412
  "group": "timeout",
1413
+ "type": "String",
1414
+ "value": "20",
1227
1415
  "binding": {
1228
- "name": "graphql.connectionTimeoutInSeconds",
1229
- "type": "zeebe:input"
1416
+ "type": "zeebe:input",
1417
+ "name": "graphql.connectionTimeoutInSeconds"
1230
1418
  },
1231
- "type": "Number"
1419
+ "feel": "optional",
1420
+ "optional": true,
1421
+ "constraints": {
1422
+ "notEmpty": false,
1423
+ "pattern": {
1424
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
1425
+ "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1426
+ }
1427
+ }
1232
1428
  },
1233
1429
  {
1234
- "id": "resultVariable",
1235
1430
  "label": "Result variable",
1236
1431
  "description": "Name of variable to store the response in",
1237
1432
  "group": "output",
1433
+ "type": "String",
1238
1434
  "binding": {
1239
- "key": "resultVariable",
1240
- "type": "zeebe:taskHeader"
1241
- },
1242
- "type": "String"
1435
+ "type": "zeebe:taskHeader",
1436
+ "key": "resultVariable"
1437
+ }
1243
1438
  },
1244
1439
  {
1245
- "id": "resultExpression",
1246
1440
  "label": "Result expression",
1247
1441
  "description": "Expression to map the response into process variables",
1248
- "feel": "required",
1249
1442
  "group": "output",
1443
+ "type": "Text",
1444
+ "feel": "required",
1250
1445
  "binding": {
1251
- "key": "resultExpression",
1252
- "type": "zeebe:taskHeader"
1253
- },
1254
- "type": "Text"
1446
+ "type": "zeebe:taskHeader",
1447
+ "key": "resultExpression"
1448
+ }
1255
1449
  },
1256
1450
  {
1257
- "id": "errorExpression",
1258
1451
  "label": "Error expression",
1259
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1452
+ "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>",
1453
+ "group": "errors",
1454
+ "type": "Text",
1260
1455
  "feel": "required",
1261
- "group": "error",
1262
- "binding": {
1263
- "key": "errorExpression",
1264
- "type": "zeebe:taskHeader"
1265
- },
1266
- "type": "Text"
1267
- },
1268
- {
1269
- "id": "retryCount",
1270
- "label": "Retries",
1271
- "description": "Number of retries",
1272
- "value": "3",
1273
- "feel": "optional",
1274
- "group": "retries",
1275
- "binding": {
1276
- "property": "retries",
1277
- "type": "zeebe:taskDefinition"
1278
- },
1279
- "type": "String"
1280
- },
1281
- {
1282
- "id": "retryBackoff",
1283
- "label": "Retry backoff",
1284
- "description": "ISO-8601 duration to wait between retries",
1285
- "value": "PT0S",
1286
- "group": "retries",
1287
1456
  "binding": {
1288
- "key": "retryBackoff",
1289
- "type": "zeebe:taskHeader"
1290
- },
1291
- "type": "String"
1457
+ "type": "zeebe:taskHeader",
1458
+ "key": "errorExpression"
1459
+ }
1292
1460
  }
1293
1461
  ],
1294
- "icon": {
1295
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
1462
+ "engines": {
1463
+ "camunda": "^8.4"
1296
1464
  }
1297
1465
  },
1298
1466
  {
1299
1467
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1300
- "name": "GraphQL Outbound Connector",
1468
+ "name": "GraphQL connector",
1301
1469
  "id": "io.camunda.connectors.GraphQL.v1",
1302
1470
  "description": "Execute GraphQL query",
1303
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
1304
- "version": 6,
1471
+ "version": 2,
1472
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
1473
+ "icon": {
1474
+ "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"
1475
+ },
1305
1476
  "category": {
1306
1477
  "id": "connectors",
1307
1478
  "name": "Connectors"
@@ -1317,7 +1488,7 @@
1317
1488
  },
1318
1489
  {
1319
1490
  "id": "endpoint",
1320
- "label": "HTTP Endpoint"
1491
+ "label": "HTTP endpoint"
1321
1492
  },
1322
1493
  {
1323
1494
  "id": "graphql",
@@ -1325,45 +1496,37 @@
1325
1496
  },
1326
1497
  {
1327
1498
  "id": "timeout",
1328
- "label": "Connection timeout"
1499
+ "label": "Connect timeout"
1329
1500
  },
1330
1501
  {
1331
1502
  "id": "output",
1332
- "label": "Output mapping"
1503
+ "label": "Response mapping"
1333
1504
  },
1334
1505
  {
1335
- "id": "error",
1506
+ "id": "errors",
1336
1507
  "label": "Error handling"
1337
- },
1338
- {
1339
- "id": "retries",
1340
- "label": "Retries"
1341
1508
  }
1342
1509
  ],
1343
1510
  "properties": [
1344
1511
  {
1512
+ "type": "Hidden",
1345
1513
  "value": "io.camunda:connector-graphql:1",
1346
1514
  "binding": {
1347
- "property": "type",
1348
- "type": "zeebe:taskDefinition"
1349
- },
1350
- "type": "Hidden"
1515
+ "type": "zeebe:taskDefinition",
1516
+ "property": "type"
1517
+ }
1351
1518
  },
1352
1519
  {
1353
- "id": "authentication.type",
1354
1520
  "label": "Type",
1521
+ "id": "authenticationType",
1522
+ "group": "authentication",
1355
1523
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
1356
1524
  "value": "noAuth",
1357
- "group": "authentication",
1358
- "binding": {
1359
- "name": "authentication.type",
1360
- "type": "zeebe:input"
1361
- },
1362
1525
  "type": "Dropdown",
1363
1526
  "choices": [
1364
1527
  {
1365
- "name": "API key",
1366
- "value": "apiKey"
1528
+ "name": "None",
1529
+ "value": "noAuth"
1367
1530
  },
1368
1531
  {
1369
1532
  "name": "Basic",
@@ -1373,250 +1536,202 @@
1373
1536
  "name": "Bearer token",
1374
1537
  "value": "bearer"
1375
1538
  },
1376
- {
1377
- "name": "None",
1378
- "value": "noAuth"
1379
- },
1380
1539
  {
1381
1540
  "name": "OAuth 2.0",
1382
1541
  "value": "oauth-client-credentials-flow"
1383
1542
  }
1384
- ]
1543
+ ],
1544
+ "binding": {
1545
+ "type": "zeebe:input",
1546
+ "name": "authentication.type"
1547
+ }
1385
1548
  },
1386
1549
  {
1387
- "id": "authentication.apiKeyLocation",
1388
- "label": "Api key location",
1389
- "description": "Choose type: Send API key in header or as query parameter.",
1390
- "optional": false,
1391
- "value": "headers",
1392
- "constraints": {
1393
- "notEmpty": true
1394
- },
1395
- "group": "authentication",
1550
+ "label": "URL",
1551
+ "group": "endpoint",
1552
+ "type": "String",
1553
+ "feel": "optional",
1396
1554
  "binding": {
1397
- "name": "authentication.apiKeyLocation",
1398
- "type": "zeebe:input"
1399
- },
1400
- "condition": {
1401
- "property": "authentication.type",
1402
- "equals": "apiKey",
1403
- "type": "simple"
1555
+ "type": "zeebe:input",
1556
+ "name": "graphql.url"
1404
1557
  },
1558
+ "constraints": {
1559
+ "notEmpty": true,
1560
+ "pattern": {
1561
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
1562
+ "message": "Must be a http(s) URL."
1563
+ }
1564
+ }
1565
+ },
1566
+ {
1567
+ "id": "method",
1568
+ "label": "Method",
1569
+ "group": "endpoint",
1405
1570
  "type": "Dropdown",
1571
+ "value": "post",
1406
1572
  "choices": [
1407
1573
  {
1408
- "name": "Headers",
1409
- "value": "headers"
1574
+ "name": "POST",
1575
+ "value": "post"
1410
1576
  },
1411
1577
  {
1412
- "name": "Query parameters",
1413
- "value": "query"
1578
+ "name": "GET",
1579
+ "value": "get"
1414
1580
  }
1415
- ]
1581
+ ],
1582
+ "binding": {
1583
+ "type": "zeebe:input",
1584
+ "name": "graphql.method"
1585
+ }
1416
1586
  },
1417
1587
  {
1418
- "id": "authentication.name",
1419
- "label": "API key name",
1420
- "optional": false,
1421
- "constraints": {
1422
- "notEmpty": true
1423
- },
1424
- "feel": "optional",
1425
- "group": "authentication",
1588
+ "id": "headers",
1589
+ "label": "Headers",
1590
+ "group": "endpoint",
1591
+ "type": "Text",
1592
+ "feel": "required",
1593
+ "optional": true,
1426
1594
  "binding": {
1427
- "name": "authentication.name",
1428
- "type": "zeebe:input"
1429
- },
1430
- "condition": {
1431
- "property": "authentication.type",
1432
- "equals": "apiKey",
1433
- "type": "simple"
1434
- },
1435
- "type": "String"
1595
+ "type": "zeebe:input",
1596
+ "name": "graphql.headers"
1597
+ }
1436
1598
  },
1437
1599
  {
1438
- "id": "authentication.value",
1439
- "label": "API key value",
1440
- "optional": false,
1441
- "constraints": {
1442
- "notEmpty": true
1443
- },
1444
- "feel": "optional",
1445
- "group": "authentication",
1600
+ "label": "Query/Mutation",
1601
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1602
+ "group": "graphql",
1603
+ "type": "Text",
1604
+ "language": "graphql",
1446
1605
  "binding": {
1447
- "name": "authentication.value",
1448
- "type": "zeebe:input"
1449
- },
1450
- "condition": {
1451
- "property": "authentication.type",
1452
- "equals": "apiKey",
1453
- "type": "simple"
1606
+ "type": "zeebe:input",
1607
+ "name": "graphql.query"
1454
1608
  },
1455
- "type": "String"
1456
- },
1457
- {
1458
- "id": "authentication.username",
1459
- "label": "Username",
1460
1609
  "optional": false,
1461
1610
  "constraints": {
1462
1611
  "notEmpty": true
1463
- },
1464
- "feel": "optional",
1465
- "group": "authentication",
1466
- "binding": {
1467
- "name": "authentication.username",
1468
- "type": "zeebe:input"
1469
- },
1470
- "condition": {
1471
- "property": "authentication.type",
1472
- "equals": "basic",
1473
- "type": "simple"
1474
- },
1475
- "type": "String"
1612
+ }
1476
1613
  },
1477
1614
  {
1478
- "id": "authentication.password",
1479
- "label": "Password",
1480
- "optional": false,
1481
- "constraints": {
1482
- "notEmpty": true
1483
- },
1484
- "feel": "optional",
1485
- "group": "authentication",
1615
+ "label": "Variables",
1616
+ "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>",
1617
+ "group": "graphql",
1618
+ "type": "Text",
1619
+ "feel": "required",
1486
1620
  "binding": {
1487
- "name": "authentication.password",
1488
- "type": "zeebe:input"
1489
- },
1490
- "condition": {
1491
- "property": "authentication.type",
1492
- "equals": "basic",
1493
- "type": "simple"
1621
+ "type": "zeebe:input",
1622
+ "name": "graphql.variables"
1494
1623
  },
1495
- "type": "String"
1624
+ "optional": true
1496
1625
  },
1497
1626
  {
1498
- "id": "authentication.token",
1499
1627
  "label": "Bearer token",
1500
- "optional": false,
1501
- "constraints": {
1502
- "notEmpty": true
1503
- },
1504
- "feel": "optional",
1505
1628
  "group": "authentication",
1629
+ "type": "String",
1630
+ "feel": "optional",
1506
1631
  "binding": {
1507
- "name": "authentication.token",
1508
- "type": "zeebe:input"
1632
+ "type": "zeebe:input",
1633
+ "name": "graphql.authentication.token"
1509
1634
  },
1510
- "condition": {
1511
- "property": "authentication.type",
1512
- "equals": "bearer",
1513
- "type": "simple"
1635
+ "constraints": {
1636
+ "notEmpty": true
1514
1637
  },
1515
- "type": "String"
1638
+ "condition": {
1639
+ "property": "authenticationType",
1640
+ "equals": "bearer"
1641
+ }
1516
1642
  },
1517
1643
  {
1518
- "id": "authentication.oauthTokenEndpoint",
1519
- "label": "OAuth 2.0 token endpoint",
1644
+ "label": "OAuth token endpoint",
1520
1645
  "description": "The OAuth token endpoint",
1521
- "optional": false,
1522
- "constraints": {
1523
- "notEmpty": true,
1524
- "pattern": {
1525
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1526
- "message": "Must be a http(s) URL"
1527
- }
1528
- },
1529
- "feel": "optional",
1530
1646
  "group": "authentication",
1647
+ "type": "String",
1648
+ "feel": "optional",
1531
1649
  "binding": {
1532
- "name": "authentication.oauthTokenEndpoint",
1533
- "type": "zeebe:input"
1650
+ "type": "zeebe:input",
1651
+ "name": "authentication.oauthTokenEndpoint"
1534
1652
  },
1535
- "condition": {
1536
- "property": "authentication.type",
1537
- "equals": "oauth-client-credentials-flow",
1538
- "type": "simple"
1653
+ "constraints": {
1654
+ "notEmpty": true
1539
1655
  },
1540
- "type": "String"
1656
+ "condition": {
1657
+ "property": "authenticationType",
1658
+ "equals": "oauth-client-credentials-flow"
1659
+ }
1541
1660
  },
1542
1661
  {
1543
- "id": "authentication.clientId",
1544
1662
  "label": "Client ID",
1545
1663
  "description": "Your application's client ID from the OAuth client",
1546
- "optional": false,
1547
- "constraints": {
1548
- "notEmpty": true
1549
- },
1550
- "feel": "optional",
1551
1664
  "group": "authentication",
1665
+ "type": "String",
1666
+ "feel": "optional",
1552
1667
  "binding": {
1553
- "name": "authentication.clientId",
1554
- "type": "zeebe:input"
1668
+ "type": "zeebe:input",
1669
+ "name": "authentication.clientId"
1670
+ },
1671
+ "constraints": {
1672
+ "notEmpty": true
1555
1673
  },
1556
1674
  "condition": {
1557
- "property": "authentication.type",
1558
- "equals": "oauth-client-credentials-flow",
1559
- "type": "simple"
1560
- },
1561
- "type": "String"
1675
+ "property": "authenticationType",
1676
+ "equals": "oauth-client-credentials-flow"
1677
+ }
1562
1678
  },
1563
1679
  {
1564
- "id": "authentication.clientSecret",
1565
1680
  "label": "Client secret",
1566
1681
  "description": "Your application's client secret from the OAuth client",
1567
- "optional": false,
1682
+ "group": "authentication",
1683
+ "type": "String",
1684
+ "feel": "optional",
1685
+ "binding": {
1686
+ "type": "zeebe:input",
1687
+ "name": "authentication.clientSecret"
1688
+ },
1568
1689
  "constraints": {
1569
1690
  "notEmpty": true
1570
1691
  },
1571
- "feel": "optional",
1692
+ "condition": {
1693
+ "property": "authenticationType",
1694
+ "equals": "oauth-client-credentials-flow"
1695
+ }
1696
+ },
1697
+ {
1698
+ "label": "Scopes",
1699
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1572
1700
  "group": "authentication",
1701
+ "type": "String",
1702
+ "feel": "optional",
1703
+ "optional": true,
1573
1704
  "binding": {
1574
- "name": "authentication.clientSecret",
1575
- "type": "zeebe:input"
1705
+ "type": "zeebe:input",
1706
+ "name": "authentication.scopes"
1576
1707
  },
1577
1708
  "condition": {
1578
- "property": "authentication.type",
1579
- "equals": "oauth-client-credentials-flow",
1580
- "type": "simple"
1581
- },
1582
- "type": "String"
1709
+ "property": "authenticationType",
1710
+ "equals": "oauth-client-credentials-flow"
1711
+ }
1583
1712
  },
1584
1713
  {
1585
- "id": "authentication.audience",
1586
1714
  "label": "Audience",
1587
1715
  "description": "The unique identifier of the target API you want to access",
1588
- "optional": true,
1589
- "feel": "optional",
1590
1716
  "group": "authentication",
1717
+ "type": "String",
1718
+ "feel": "optional",
1719
+ "optional": true,
1591
1720
  "binding": {
1592
- "name": "authentication.audience",
1593
- "type": "zeebe:input"
1721
+ "type": "zeebe:input",
1722
+ "name": "authentication.audience"
1594
1723
  },
1595
1724
  "condition": {
1596
- "property": "authentication.type",
1597
- "equals": "oauth-client-credentials-flow",
1598
- "type": "simple"
1599
- },
1600
- "type": "String"
1725
+ "property": "authenticationType",
1726
+ "equals": "oauth-client-credentials-flow"
1727
+ }
1601
1728
  },
1602
1729
  {
1603
- "id": "authentication.clientAuthentication",
1604
1730
  "label": "Client authentication",
1605
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1606
- "optional": false,
1607
- "constraints": {
1608
- "notEmpty": true
1609
- },
1731
+ "id": "authentication.clientAuthentication",
1610
1732
  "group": "authentication",
1611
- "binding": {
1612
- "name": "authentication.clientAuthentication",
1613
- "type": "zeebe:input"
1614
- },
1615
- "condition": {
1616
- "property": "authentication.type",
1617
- "equals": "oauth-client-credentials-flow",
1618
- "type": "simple"
1619
- },
1733
+ "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
1734
+ "value": "basicAuthHeader",
1620
1735
  "type": "Dropdown",
1621
1736
  "choices": [
1622
1737
  {
@@ -1627,192 +1742,105 @@
1627
1742
  "name": "Send as Basic Auth header",
1628
1743
  "value": "basicAuthHeader"
1629
1744
  }
1630
- ]
1631
- },
1632
- {
1633
- "id": "authentication.scopes",
1634
- "label": "Scopes",
1635
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1636
- "optional": true,
1637
- "feel": "optional",
1638
- "group": "authentication",
1745
+ ],
1639
1746
  "binding": {
1640
- "name": "authentication.scopes",
1641
- "type": "zeebe:input"
1747
+ "type": "zeebe:input",
1748
+ "name": "authentication.clientAuthentication"
1642
1749
  },
1643
1750
  "condition": {
1644
- "property": "authentication.type",
1645
- "equals": "oauth-client-credentials-flow",
1646
- "type": "simple"
1647
- },
1648
- "type": "String"
1751
+ "property": "authenticationType",
1752
+ "equals": "oauth-client-credentials-flow"
1753
+ }
1649
1754
  },
1650
1755
  {
1651
- "id": "graphql.method",
1652
- "label": "Method",
1653
- "optional": false,
1654
- "value": "get",
1655
- "constraints": {
1656
- "notEmpty": true
1657
- },
1658
- "group": "endpoint",
1756
+ "label": "Username",
1757
+ "group": "authentication",
1758
+ "type": "String",
1759
+ "feel": "optional",
1659
1760
  "binding": {
1660
- "name": "graphql.method",
1661
- "type": "zeebe:input"
1761
+ "type": "zeebe:input",
1762
+ "name": "authentication.username"
1662
1763
  },
1663
- "type": "Dropdown",
1664
- "choices": [
1665
- {
1666
- "name": "GET",
1667
- "value": "get"
1668
- },
1669
- {
1670
- "name": "POST",
1671
- "value": "post"
1672
- }
1673
- ]
1674
- },
1675
- {
1676
- "id": "graphql.url",
1677
- "label": "URL",
1678
- "optional": false,
1679
1764
  "constraints": {
1680
- "notEmpty": true,
1681
- "pattern": {
1682
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1683
- "message": "Must be a http(s) URL"
1684
- }
1685
- },
1686
- "feel": "optional",
1687
- "group": "endpoint",
1688
- "binding": {
1689
- "name": "graphql.url",
1690
- "type": "zeebe:input"
1765
+ "notEmpty": true
1691
1766
  },
1692
- "type": "String"
1767
+ "condition": {
1768
+ "property": "authenticationType",
1769
+ "equals": "basic"
1770
+ }
1693
1771
  },
1694
1772
  {
1695
- "id": "graphql.headers",
1696
- "label": "Headers",
1697
- "description": "Map of HTTP headers to add to the request",
1698
- "optional": true,
1699
- "feel": "required",
1700
- "group": "endpoint",
1773
+ "label": "Password",
1774
+ "group": "authentication",
1775
+ "type": "String",
1776
+ "feel": "optional",
1701
1777
  "binding": {
1702
- "name": "graphql.headers",
1703
- "type": "zeebe:input"
1778
+ "type": "zeebe:input",
1779
+ "name": "authentication.password"
1704
1780
  },
1705
- "type": "String"
1706
- },
1707
- {
1708
- "id": "graphql.query",
1709
- "label": "Query/Mutation",
1710
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1711
- "optional": false,
1712
1781
  "constraints": {
1713
1782
  "notEmpty": true
1714
1783
  },
1715
- "feel": "optional",
1716
- "group": "graphql",
1717
- "binding": {
1718
- "name": "graphql.query",
1719
- "type": "zeebe:input"
1720
- },
1721
- "type": "Text"
1722
- },
1723
- {
1724
- "id": "graphql.variables",
1725
- "label": "Variables",
1726
- "optional": true,
1727
- "feel": "required",
1728
- "group": "graphql",
1729
- "binding": {
1730
- "name": "graphql.variables",
1731
- "type": "zeebe:input"
1732
- },
1733
- "type": "String"
1784
+ "condition": {
1785
+ "property": "authenticationType",
1786
+ "equals": "basic"
1787
+ }
1734
1788
  },
1735
1789
  {
1736
- "id": "graphql.connectionTimeoutInSeconds",
1737
- "label": "Connection timeout in seconds",
1790
+ "label": "Connection timeout",
1738
1791
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1739
- "optional": true,
1740
- "value": "20",
1741
- "feel": "optional",
1742
1792
  "group": "timeout",
1793
+ "type": "String",
1794
+ "value": "20",
1743
1795
  "binding": {
1744
- "name": "graphql.connectionTimeoutInSeconds",
1745
- "type": "zeebe:input"
1796
+ "type": "zeebe:input",
1797
+ "name": "graphql.connectionTimeoutInSeconds"
1746
1798
  },
1747
- "type": "String"
1799
+ "feel": "optional",
1800
+ "optional": true,
1801
+ "constraints": {
1802
+ "notEmpty": false,
1803
+ "pattern": {
1804
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1805
+ "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1806
+ }
1807
+ }
1748
1808
  },
1749
1809
  {
1750
- "id": "resultVariable",
1751
1810
  "label": "Result variable",
1752
1811
  "description": "Name of variable to store the response in",
1753
1812
  "group": "output",
1813
+ "type": "String",
1754
1814
  "binding": {
1755
- "key": "resultVariable",
1756
- "type": "zeebe:taskHeader"
1757
- },
1758
- "type": "String"
1759
- },
1760
- {
1761
- "id": "resultExpression",
1762
- "label": "Result expression",
1763
- "description": "Expression to map the response into process variables",
1764
- "feel": "required",
1765
- "group": "output",
1766
- "binding": {
1767
- "key": "resultExpression",
1768
- "type": "zeebe:taskHeader"
1769
- },
1770
- "type": "Text"
1771
- },
1772
- {
1773
- "id": "errorExpression",
1774
- "label": "Error expression",
1775
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1776
- "feel": "required",
1777
- "group": "error",
1778
- "binding": {
1779
- "key": "errorExpression",
1780
- "type": "zeebe:taskHeader"
1781
- },
1782
- "type": "Text"
1783
- },
1784
- {
1785
- "id": "retryCount",
1786
- "label": "Retries",
1787
- "description": "Number of retries",
1788
- "value": "3",
1789
- "feel": "optional",
1790
- "group": "retries",
1815
+ "type": "zeebe:taskHeader",
1816
+ "key": "resultVariable"
1817
+ }
1818
+ },
1819
+ {
1820
+ "label": "Result expression",
1821
+ "description": "Expression to map the response into process variables",
1822
+ "group": "output",
1823
+ "type": "Text",
1824
+ "feel": "required",
1791
1825
  "binding": {
1792
- "property": "retries",
1793
- "type": "zeebe:taskDefinition"
1794
- },
1795
- "type": "String"
1826
+ "type": "zeebe:taskHeader",
1827
+ "key": "resultExpression"
1828
+ }
1796
1829
  },
1797
1830
  {
1798
- "id": "retryBackoff",
1799
- "label": "Retry backoff",
1800
- "description": "ISO-8601 duration to wait between retries",
1801
- "value": "PT0S",
1802
- "feel": "optional",
1803
- "group": "retries",
1831
+ "label": "Error expression",
1832
+ "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>",
1833
+ "group": "errors",
1834
+ "type": "Text",
1835
+ "feel": "required",
1804
1836
  "binding": {
1805
- "key": "retryBackoff",
1806
- "type": "zeebe:taskHeader"
1807
- },
1808
- "type": "String"
1837
+ "type": "zeebe:taskHeader",
1838
+ "key": "errorExpression"
1839
+ }
1809
1840
  }
1810
1841
  ],
1811
- "icon": {
1812
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
1813
- },
1814
1842
  "engines": {
1815
- "camunda": "^8.5"
1843
+ "camunda": "^8.2"
1816
1844
  }
1817
1845
  },
1818
1846
  {
@@ -1820,11 +1848,11 @@
1820
1848
  "name": "GraphQL Outbound Connector",
1821
1849
  "id": "io.camunda.connectors.GraphQL.v1",
1822
1850
  "description": "Execute GraphQL query",
1823
- "metadata": {
1824
- "keywords": []
1851
+ "version": 3,
1852
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
1853
+ "icon": {
1854
+ "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"
1825
1855
  },
1826
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
1827
- "version": 8,
1828
1856
  "category": {
1829
1857
  "id": "connectors",
1830
1858
  "name": "Connectors"
@@ -1833,9 +1861,6 @@
1833
1861
  "elementType": {
1834
1862
  "value": "bpmn:ServiceTask"
1835
1863
  },
1836
- "engines": {
1837
- "camunda": "^8.3"
1838
- },
1839
1864
  "groups": [
1840
1865
  {
1841
1866
  "id": "authentication",
@@ -1843,7 +1868,7 @@
1843
1868
  },
1844
1869
  {
1845
1870
  "id": "endpoint",
1846
- "label": "HTTP Endpoint"
1871
+ "label": "HTTP endpoint"
1847
1872
  },
1848
1873
  {
1849
1874
  "id": "graphql",
@@ -1851,49 +1876,37 @@
1851
1876
  },
1852
1877
  {
1853
1878
  "id": "timeout",
1854
- "label": "Connection timeout"
1855
- },
1856
- {
1857
- "id": "connector",
1858
- "label": "Connector"
1879
+ "label": "Connect timeout"
1859
1880
  },
1860
1881
  {
1861
1882
  "id": "output",
1862
- "label": "Output mapping"
1883
+ "label": "Response mapping"
1863
1884
  },
1864
1885
  {
1865
- "id": "error",
1886
+ "id": "errors",
1866
1887
  "label": "Error handling"
1867
- },
1868
- {
1869
- "id": "retries",
1870
- "label": "Retries"
1871
1888
  }
1872
1889
  ],
1873
1890
  "properties": [
1874
1891
  {
1892
+ "type": "Hidden",
1875
1893
  "value": "io.camunda:connector-graphql:1",
1876
1894
  "binding": {
1877
- "property": "type",
1878
- "type": "zeebe:taskDefinition"
1879
- },
1880
- "type": "Hidden"
1895
+ "type": "zeebe:taskDefinition",
1896
+ "property": "type"
1897
+ }
1881
1898
  },
1882
1899
  {
1883
- "id": "authentication.type",
1884
1900
  "label": "Type",
1901
+ "id": "authenticationType",
1902
+ "group": "authentication",
1885
1903
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
1886
1904
  "value": "noAuth",
1887
- "group": "authentication",
1888
- "binding": {
1889
- "name": "authentication.type",
1890
- "type": "zeebe:input"
1891
- },
1892
1905
  "type": "Dropdown",
1893
1906
  "choices": [
1894
1907
  {
1895
- "name": "API key",
1896
- "value": "apiKey"
1908
+ "name": "None",
1909
+ "value": "noAuth"
1897
1910
  },
1898
1911
  {
1899
1912
  "name": "Basic",
@@ -1903,250 +1916,202 @@
1903
1916
  "name": "Bearer token",
1904
1917
  "value": "bearer"
1905
1918
  },
1906
- {
1907
- "name": "None",
1908
- "value": "noAuth"
1909
- },
1910
1919
  {
1911
1920
  "name": "OAuth 2.0",
1912
1921
  "value": "oauth-client-credentials-flow"
1913
1922
  }
1914
- ]
1923
+ ],
1924
+ "binding": {
1925
+ "type": "zeebe:input",
1926
+ "name": "authentication.type"
1927
+ }
1915
1928
  },
1916
1929
  {
1917
- "id": "authentication.apiKeyLocation",
1918
- "label": "Api key location",
1919
- "description": "Choose type: Send API key in header or as query parameter.",
1920
- "optional": false,
1921
- "value": "headers",
1922
- "constraints": {
1923
- "notEmpty": true
1924
- },
1925
- "group": "authentication",
1930
+ "label": "URL",
1931
+ "group": "endpoint",
1932
+ "type": "String",
1933
+ "feel": "optional",
1926
1934
  "binding": {
1927
- "name": "authentication.apiKeyLocation",
1928
- "type": "zeebe:input"
1929
- },
1930
- "condition": {
1931
- "property": "authentication.type",
1932
- "equals": "apiKey",
1933
- "type": "simple"
1935
+ "type": "zeebe:input",
1936
+ "name": "graphql.url"
1934
1937
  },
1938
+ "constraints": {
1939
+ "notEmpty": true,
1940
+ "pattern": {
1941
+ "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
1942
+ "message": "Must be a http(s) URL."
1943
+ }
1944
+ }
1945
+ },
1946
+ {
1947
+ "id": "method",
1948
+ "label": "Method",
1949
+ "group": "endpoint",
1935
1950
  "type": "Dropdown",
1951
+ "value": "post",
1936
1952
  "choices": [
1937
1953
  {
1938
- "name": "Headers",
1939
- "value": "headers"
1954
+ "name": "POST",
1955
+ "value": "post"
1940
1956
  },
1941
1957
  {
1942
- "name": "Query parameters",
1943
- "value": "query"
1958
+ "name": "GET",
1959
+ "value": "get"
1944
1960
  }
1945
- ]
1961
+ ],
1962
+ "binding": {
1963
+ "type": "zeebe:input",
1964
+ "name": "graphql.method"
1965
+ }
1946
1966
  },
1947
1967
  {
1948
- "id": "authentication.name",
1949
- "label": "API key name",
1950
- "optional": false,
1951
- "constraints": {
1952
- "notEmpty": true
1953
- },
1954
- "feel": "optional",
1955
- "group": "authentication",
1968
+ "id": "headers",
1969
+ "label": "Headers",
1970
+ "group": "endpoint",
1971
+ "type": "Text",
1972
+ "feel": "required",
1973
+ "optional": true,
1956
1974
  "binding": {
1957
- "name": "authentication.name",
1958
- "type": "zeebe:input"
1959
- },
1960
- "condition": {
1961
- "property": "authentication.type",
1962
- "equals": "apiKey",
1963
- "type": "simple"
1964
- },
1965
- "type": "String"
1975
+ "type": "zeebe:input",
1976
+ "name": "graphql.headers"
1977
+ }
1966
1978
  },
1967
1979
  {
1968
- "id": "authentication.value",
1969
- "label": "API key value",
1970
- "optional": false,
1971
- "constraints": {
1972
- "notEmpty": true
1973
- },
1974
- "feel": "optional",
1975
- "group": "authentication",
1980
+ "label": "Query/Mutation",
1981
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1982
+ "group": "graphql",
1983
+ "type": "Text",
1984
+ "language": "graphql",
1976
1985
  "binding": {
1977
- "name": "authentication.value",
1978
- "type": "zeebe:input"
1979
- },
1980
- "condition": {
1981
- "property": "authentication.type",
1982
- "equals": "apiKey",
1983
- "type": "simple"
1986
+ "type": "zeebe:input",
1987
+ "name": "graphql.query"
1984
1988
  },
1985
- "type": "String"
1986
- },
1987
- {
1988
- "id": "authentication.username",
1989
- "label": "Username",
1990
1989
  "optional": false,
1991
1990
  "constraints": {
1992
1991
  "notEmpty": true
1993
- },
1994
- "feel": "optional",
1995
- "group": "authentication",
1996
- "binding": {
1997
- "name": "authentication.username",
1998
- "type": "zeebe:input"
1999
- },
2000
- "condition": {
2001
- "property": "authentication.type",
2002
- "equals": "basic",
2003
- "type": "simple"
2004
- },
2005
- "type": "String"
1992
+ }
2006
1993
  },
2007
1994
  {
2008
- "id": "authentication.password",
2009
- "label": "Password",
2010
- "optional": false,
2011
- "constraints": {
2012
- "notEmpty": true
2013
- },
2014
- "feel": "optional",
2015
- "group": "authentication",
1995
+ "label": "Variables",
1996
+ "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>",
1997
+ "group": "graphql",
1998
+ "type": "Text",
1999
+ "feel": "required",
2016
2000
  "binding": {
2017
- "name": "authentication.password",
2018
- "type": "zeebe:input"
2019
- },
2020
- "condition": {
2021
- "property": "authentication.type",
2022
- "equals": "basic",
2023
- "type": "simple"
2001
+ "type": "zeebe:input",
2002
+ "name": "graphql.variables"
2024
2003
  },
2025
- "type": "String"
2004
+ "optional": true
2026
2005
  },
2027
2006
  {
2028
- "id": "authentication.token",
2029
2007
  "label": "Bearer token",
2030
- "optional": false,
2031
- "constraints": {
2032
- "notEmpty": true
2033
- },
2034
- "feel": "optional",
2035
2008
  "group": "authentication",
2009
+ "type": "String",
2010
+ "feel": "optional",
2036
2011
  "binding": {
2037
- "name": "authentication.token",
2038
- "type": "zeebe:input"
2012
+ "type": "zeebe:input",
2013
+ "name": "graphql.authentication.token"
2039
2014
  },
2040
- "condition": {
2041
- "property": "authentication.type",
2042
- "equals": "bearer",
2043
- "type": "simple"
2015
+ "constraints": {
2016
+ "notEmpty": true
2044
2017
  },
2045
- "type": "String"
2018
+ "condition": {
2019
+ "property": "authenticationType",
2020
+ "equals": "bearer"
2021
+ }
2046
2022
  },
2047
2023
  {
2048
- "id": "authentication.oauthTokenEndpoint",
2049
- "label": "OAuth 2.0 token endpoint",
2024
+ "label": "OAuth token endpoint",
2050
2025
  "description": "The OAuth token endpoint",
2051
- "optional": false,
2052
- "constraints": {
2053
- "notEmpty": true,
2054
- "pattern": {
2055
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2056
- "message": "Must be a http(s) URL"
2057
- }
2058
- },
2059
- "feel": "optional",
2060
2026
  "group": "authentication",
2027
+ "type": "String",
2028
+ "feel": "optional",
2061
2029
  "binding": {
2062
- "name": "authentication.oauthTokenEndpoint",
2063
- "type": "zeebe:input"
2030
+ "type": "zeebe:input",
2031
+ "name": "authentication.oauthTokenEndpoint"
2064
2032
  },
2065
- "condition": {
2066
- "property": "authentication.type",
2067
- "equals": "oauth-client-credentials-flow",
2068
- "type": "simple"
2033
+ "constraints": {
2034
+ "notEmpty": true
2069
2035
  },
2070
- "type": "String"
2036
+ "condition": {
2037
+ "property": "authenticationType",
2038
+ "equals": "oauth-client-credentials-flow"
2039
+ }
2071
2040
  },
2072
2041
  {
2073
- "id": "authentication.clientId",
2074
2042
  "label": "Client ID",
2075
2043
  "description": "Your application's client ID from the OAuth client",
2076
- "optional": false,
2077
- "constraints": {
2078
- "notEmpty": true
2079
- },
2080
- "feel": "optional",
2081
2044
  "group": "authentication",
2045
+ "type": "String",
2046
+ "feel": "optional",
2082
2047
  "binding": {
2083
- "name": "authentication.clientId",
2084
- "type": "zeebe:input"
2048
+ "type": "zeebe:input",
2049
+ "name": "authentication.clientId"
2085
2050
  },
2086
- "condition": {
2087
- "property": "authentication.type",
2088
- "equals": "oauth-client-credentials-flow",
2089
- "type": "simple"
2051
+ "constraints": {
2052
+ "notEmpty": true
2090
2053
  },
2091
- "type": "String"
2054
+ "condition": {
2055
+ "property": "authenticationType",
2056
+ "equals": "oauth-client-credentials-flow"
2057
+ }
2092
2058
  },
2093
2059
  {
2094
- "id": "authentication.clientSecret",
2095
2060
  "label": "Client secret",
2096
2061
  "description": "Your application's client secret from the OAuth client",
2097
- "optional": false,
2062
+ "group": "authentication",
2063
+ "type": "String",
2064
+ "feel": "optional",
2065
+ "binding": {
2066
+ "type": "zeebe:input",
2067
+ "name": "authentication.clientSecret"
2068
+ },
2098
2069
  "constraints": {
2099
2070
  "notEmpty": true
2100
2071
  },
2101
- "feel": "optional",
2072
+ "condition": {
2073
+ "property": "authenticationType",
2074
+ "equals": "oauth-client-credentials-flow"
2075
+ }
2076
+ },
2077
+ {
2078
+ "label": "Scopes",
2079
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2102
2080
  "group": "authentication",
2081
+ "type": "String",
2082
+ "feel": "optional",
2083
+ "optional": true,
2103
2084
  "binding": {
2104
- "name": "authentication.clientSecret",
2105
- "type": "zeebe:input"
2085
+ "type": "zeebe:input",
2086
+ "name": "authentication.scopes"
2106
2087
  },
2107
2088
  "condition": {
2108
- "property": "authentication.type",
2109
- "equals": "oauth-client-credentials-flow",
2110
- "type": "simple"
2111
- },
2112
- "type": "String"
2089
+ "property": "authenticationType",
2090
+ "equals": "oauth-client-credentials-flow"
2091
+ }
2113
2092
  },
2114
2093
  {
2115
- "id": "authentication.audience",
2116
2094
  "label": "Audience",
2117
2095
  "description": "The unique identifier of the target API you want to access",
2118
- "optional": true,
2119
- "feel": "optional",
2120
2096
  "group": "authentication",
2097
+ "type": "String",
2098
+ "feel": "optional",
2099
+ "optional": true,
2121
2100
  "binding": {
2122
- "name": "authentication.audience",
2123
- "type": "zeebe:input"
2101
+ "type": "zeebe:input",
2102
+ "name": "authentication.audience"
2124
2103
  },
2125
2104
  "condition": {
2126
- "property": "authentication.type",
2127
- "equals": "oauth-client-credentials-flow",
2128
- "type": "simple"
2129
- },
2130
- "type": "String"
2105
+ "property": "authenticationType",
2106
+ "equals": "oauth-client-credentials-flow"
2107
+ }
2131
2108
  },
2132
2109
  {
2133
- "id": "authentication.clientAuthentication",
2134
2110
  "label": "Client authentication",
2135
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2136
- "optional": false,
2137
- "constraints": {
2138
- "notEmpty": true
2139
- },
2111
+ "id": "authentication.clientAuthentication",
2140
2112
  "group": "authentication",
2141
- "binding": {
2142
- "name": "authentication.clientAuthentication",
2143
- "type": "zeebe:input"
2144
- },
2145
- "condition": {
2146
- "property": "authentication.type",
2147
- "equals": "oauth-client-credentials-flow",
2148
- "type": "simple"
2149
- },
2113
+ "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
2114
+ "value": "basicAuthHeader",
2150
2115
  "type": "Dropdown",
2151
2116
  "choices": [
2152
2117
  {
@@ -2157,238 +2122,117 @@
2157
2122
  "name": "Send as Basic Auth header",
2158
2123
  "value": "basicAuthHeader"
2159
2124
  }
2160
- ]
2161
- },
2162
- {
2163
- "id": "authentication.scopes",
2164
- "label": "Scopes",
2165
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2166
- "optional": true,
2167
- "feel": "optional",
2168
- "group": "authentication",
2125
+ ],
2169
2126
  "binding": {
2170
- "name": "authentication.scopes",
2171
- "type": "zeebe:input"
2127
+ "type": "zeebe:input",
2128
+ "name": "authentication.clientAuthentication"
2172
2129
  },
2173
2130
  "condition": {
2174
- "property": "authentication.type",
2175
- "equals": "oauth-client-credentials-flow",
2176
- "type": "simple"
2177
- },
2178
- "type": "String"
2179
- },
2180
- {
2181
- "id": "graphql.method",
2182
- "label": "Method",
2183
- "optional": false,
2184
- "value": "get",
2185
- "constraints": {
2186
- "notEmpty": true
2187
- },
2188
- "group": "endpoint",
2189
- "binding": {
2190
- "name": "graphql.method",
2191
- "type": "zeebe:input"
2192
- },
2193
- "type": "Dropdown",
2194
- "choices": [
2195
- {
2196
- "name": "GET",
2197
- "value": "get"
2198
- },
2199
- {
2200
- "name": "POST",
2201
- "value": "post"
2202
- }
2203
- ]
2131
+ "property": "authenticationType",
2132
+ "equals": "oauth-client-credentials-flow"
2133
+ }
2204
2134
  },
2205
2135
  {
2206
- "id": "graphql.url",
2207
- "label": "URL",
2208
- "optional": false,
2209
- "constraints": {
2210
- "notEmpty": true,
2211
- "pattern": {
2212
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2213
- "message": "Must be a http(s) URL"
2214
- }
2215
- },
2136
+ "label": "Username",
2137
+ "group": "authentication",
2138
+ "type": "String",
2216
2139
  "feel": "optional",
2217
- "group": "endpoint",
2218
- "binding": {
2219
- "name": "graphql.url",
2220
- "type": "zeebe:input"
2221
- },
2222
- "type": "String"
2223
- },
2224
- {
2225
- "id": "graphql.headers",
2226
- "label": "Headers",
2227
- "description": "Map of HTTP headers to add to the request",
2228
- "optional": true,
2229
- "feel": "required",
2230
- "group": "endpoint",
2231
- "binding": {
2232
- "name": "graphql.headers",
2233
- "type": "zeebe:input"
2234
- },
2235
- "type": "String"
2236
- },
2237
- {
2238
- "id": "graphql.storeResponse",
2239
- "label": "Store response",
2240
- "description": "Store the response as a document in the document store",
2241
- "optional": false,
2242
- "value": false,
2243
- "feel": "static",
2244
- "group": "endpoint",
2245
2140
  "binding": {
2246
- "name": "graphql.storeResponse",
2247
- "type": "zeebe:input"
2141
+ "type": "zeebe:input",
2142
+ "name": "authentication.username"
2248
2143
  },
2249
- "type": "Boolean"
2250
- },
2251
- {
2252
- "id": "graphql.query",
2253
- "label": "Query/Mutation",
2254
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
2255
- "optional": false,
2256
2144
  "constraints": {
2257
2145
  "notEmpty": true
2258
2146
  },
2259
- "feel": "optional",
2260
- "group": "graphql",
2261
- "binding": {
2262
- "name": "graphql.query",
2263
- "type": "zeebe:input"
2264
- },
2265
- "type": "Text"
2266
- },
2267
- {
2268
- "id": "graphql.variables",
2269
- "label": "Variables",
2270
- "optional": true,
2271
- "feel": "required",
2272
- "group": "graphql",
2273
- "binding": {
2274
- "name": "graphql.variables",
2275
- "type": "zeebe:input"
2276
- },
2277
- "type": "String"
2278
- },
2279
- {
2280
- "id": "graphql.connectionTimeoutInSeconds",
2281
- "label": "Connection timeout in seconds",
2282
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2283
- "optional": true,
2284
- "value": 20,
2285
- "feel": "static",
2286
- "group": "timeout",
2287
- "binding": {
2288
- "name": "graphql.connectionTimeoutInSeconds",
2289
- "type": "zeebe:input"
2290
- },
2291
- "type": "Number"
2147
+ "condition": {
2148
+ "property": "authenticationType",
2149
+ "equals": "basic"
2150
+ }
2292
2151
  },
2293
2152
  {
2294
- "id": "version",
2295
- "label": "Version",
2296
- "description": "Version of the element template",
2297
- "value": "8",
2298
- "group": "connector",
2153
+ "label": "Password",
2154
+ "group": "authentication",
2155
+ "type": "String",
2156
+ "feel": "optional",
2299
2157
  "binding": {
2300
- "key": "elementTemplateVersion",
2301
- "type": "zeebe:taskHeader"
2158
+ "type": "zeebe:input",
2159
+ "name": "authentication.password"
2302
2160
  },
2303
- "type": "Hidden"
2161
+ "constraints": {
2162
+ "notEmpty": true
2163
+ },
2164
+ "condition": {
2165
+ "property": "authenticationType",
2166
+ "equals": "basic"
2167
+ }
2304
2168
  },
2305
2169
  {
2306
- "id": "id",
2307
- "label": "ID",
2308
- "description": "ID of the element template",
2309
- "value": "io.camunda.connectors.GraphQL.v1",
2310
- "group": "connector",
2170
+ "label": "Connection timeout",
2171
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2172
+ "group": "timeout",
2173
+ "type": "String",
2174
+ "value": "20",
2311
2175
  "binding": {
2312
- "key": "elementTemplateId",
2313
- "type": "zeebe:taskHeader"
2176
+ "type": "zeebe:input",
2177
+ "name": "graphql.connectionTimeoutInSeconds"
2314
2178
  },
2315
- "type": "Hidden"
2179
+ "feel": "optional",
2180
+ "optional": true,
2181
+ "constraints": {
2182
+ "notEmpty": false,
2183
+ "pattern": {
2184
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
2185
+ "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2186
+ }
2187
+ }
2316
2188
  },
2317
2189
  {
2318
- "id": "resultVariable",
2319
2190
  "label": "Result variable",
2320
2191
  "description": "Name of variable to store the response in",
2321
2192
  "group": "output",
2193
+ "type": "String",
2322
2194
  "binding": {
2323
- "key": "resultVariable",
2324
- "type": "zeebe:taskHeader"
2325
- },
2326
- "type": "String"
2195
+ "type": "zeebe:taskHeader",
2196
+ "key": "resultVariable"
2197
+ }
2327
2198
  },
2328
2199
  {
2329
- "id": "resultExpression",
2330
2200
  "label": "Result expression",
2331
2201
  "description": "Expression to map the response into process variables",
2332
- "feel": "required",
2333
2202
  "group": "output",
2203
+ "type": "Text",
2204
+ "feel": "required",
2334
2205
  "binding": {
2335
- "key": "resultExpression",
2336
- "type": "zeebe:taskHeader"
2337
- },
2338
- "type": "Text"
2206
+ "type": "zeebe:taskHeader",
2207
+ "key": "resultExpression"
2208
+ }
2339
2209
  },
2340
2210
  {
2341
- "id": "errorExpression",
2342
2211
  "label": "Error expression",
2343
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2212
+ "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>",
2213
+ "group": "errors",
2214
+ "type": "Text",
2344
2215
  "feel": "required",
2345
- "group": "error",
2346
- "binding": {
2347
- "key": "errorExpression",
2348
- "type": "zeebe:taskHeader"
2349
- },
2350
- "type": "Text"
2351
- },
2352
- {
2353
- "id": "retryCount",
2354
- "label": "Retries",
2355
- "description": "Number of retries",
2356
- "value": "3",
2357
- "feel": "optional",
2358
- "group": "retries",
2359
- "binding": {
2360
- "property": "retries",
2361
- "type": "zeebe:taskDefinition"
2362
- },
2363
- "type": "String"
2364
- },
2365
- {
2366
- "id": "retryBackoff",
2367
- "label": "Retry backoff",
2368
- "description": "ISO-8601 duration to wait between retries",
2369
- "value": "PT0S",
2370
- "group": "retries",
2371
2216
  "binding": {
2372
- "key": "retryBackoff",
2373
- "type": "zeebe:taskHeader"
2374
- },
2375
- "type": "String"
2217
+ "type": "zeebe:taskHeader",
2218
+ "key": "errorExpression"
2219
+ }
2376
2220
  }
2377
2221
  ],
2378
- "icon": {
2379
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
2222
+ "engines": {
2223
+ "camunda": "^8.2"
2380
2224
  }
2381
2225
  },
2382
2226
  {
2383
2227
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2384
- "name": "GraphQL connector",
2228
+ "name": "GraphQL Outbound Connector",
2385
2229
  "id": "io.camunda.connectors.GraphQL.v1",
2386
2230
  "description": "Execute GraphQL query",
2387
- "version": 1,
2388
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
2389
- "icon": {
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"
2231
+ "metadata": {
2232
+ "keywords": []
2391
2233
  },
2234
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
2235
+ "version": 7,
2392
2236
  "category": {
2393
2237
  "id": "connectors",
2394
2238
  "name": "Connectors"
@@ -2397,6 +2241,9 @@
2397
2241
  "elementType": {
2398
2242
  "value": "bpmn:ServiceTask"
2399
2243
  },
2244
+ "engines": {
2245
+ "camunda": "^8.3"
2246
+ },
2400
2247
  "groups": [
2401
2248
  {
2402
2249
  "id": "authentication",
@@ -2404,7 +2251,7 @@
2404
2251
  },
2405
2252
  {
2406
2253
  "id": "endpoint",
2407
- "label": "HTTP endpoint"
2254
+ "label": "HTTP Endpoint"
2408
2255
  },
2409
2256
  {
2410
2257
  "id": "graphql",
@@ -2412,37 +2259,45 @@
2412
2259
  },
2413
2260
  {
2414
2261
  "id": "timeout",
2415
- "label": "Connect timeout"
2262
+ "label": "Connection timeout"
2416
2263
  },
2417
2264
  {
2418
2265
  "id": "output",
2419
- "label": "Response mapping"
2266
+ "label": "Output mapping"
2420
2267
  },
2421
2268
  {
2422
- "id": "errors",
2269
+ "id": "error",
2423
2270
  "label": "Error handling"
2271
+ },
2272
+ {
2273
+ "id": "retries",
2274
+ "label": "Retries"
2424
2275
  }
2425
2276
  ],
2426
2277
  "properties": [
2427
2278
  {
2428
- "type": "Hidden",
2429
2279
  "value": "io.camunda:connector-graphql:1",
2430
2280
  "binding": {
2431
- "type": "zeebe:taskDefinition",
2432
- "property": "type"
2433
- }
2281
+ "property": "type",
2282
+ "type": "zeebe:taskDefinition"
2283
+ },
2284
+ "type": "Hidden"
2434
2285
  },
2435
2286
  {
2287
+ "id": "authentication.type",
2436
2288
  "label": "Type",
2437
- "id": "authenticationType",
2438
- "group": "authentication",
2439
2289
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2440
2290
  "value": "noAuth",
2291
+ "group": "authentication",
2292
+ "binding": {
2293
+ "name": "authentication.type",
2294
+ "type": "zeebe:input"
2295
+ },
2441
2296
  "type": "Dropdown",
2442
2297
  "choices": [
2443
2298
  {
2444
- "name": "None",
2445
- "value": "noAuth"
2299
+ "name": "API key",
2300
+ "value": "apiKey"
2446
2301
  },
2447
2302
  {
2448
2303
  "name": "Basic",
@@ -2452,202 +2307,250 @@
2452
2307
  "name": "Bearer token",
2453
2308
  "value": "bearer"
2454
2309
  },
2310
+ {
2311
+ "name": "None",
2312
+ "value": "noAuth"
2313
+ },
2455
2314
  {
2456
2315
  "name": "OAuth 2.0",
2457
2316
  "value": "oauth-client-credentials-flow"
2458
2317
  }
2459
- ],
2460
- "binding": {
2461
- "type": "zeebe:input",
2462
- "name": "authentication.type"
2463
- }
2318
+ ]
2464
2319
  },
2465
2320
  {
2466
- "label": "URL",
2467
- "group": "endpoint",
2468
- "type": "String",
2469
- "feel": "optional",
2321
+ "id": "authentication.apiKeyLocation",
2322
+ "label": "Api key location",
2323
+ "description": "Choose type: Send API key in header or as query parameter.",
2324
+ "optional": false,
2325
+ "value": "headers",
2326
+ "constraints": {
2327
+ "notEmpty": true
2328
+ },
2329
+ "group": "authentication",
2470
2330
  "binding": {
2471
- "type": "zeebe:input",
2472
- "name": "graphql.url"
2331
+ "name": "authentication.apiKeyLocation",
2332
+ "type": "zeebe:input"
2333
+ },
2334
+ "condition": {
2335
+ "property": "authentication.type",
2336
+ "equals": "apiKey",
2337
+ "type": "simple"
2473
2338
  },
2474
- "constraints": {
2475
- "notEmpty": true,
2476
- "pattern": {
2477
- "value": "^(=|(http://|https://|secrets).*$)",
2478
- "message": "Must be a http(s) URL."
2479
- }
2480
- }
2481
- },
2482
- {
2483
- "id": "method",
2484
- "label": "Method",
2485
- "group": "endpoint",
2486
2339
  "type": "Dropdown",
2487
- "value": "post",
2488
2340
  "choices": [
2489
2341
  {
2490
- "name": "POST",
2491
- "value": "post"
2342
+ "name": "Headers",
2343
+ "value": "headers"
2492
2344
  },
2493
2345
  {
2494
- "name": "GET",
2495
- "value": "get"
2346
+ "name": "Query parameters",
2347
+ "value": "query"
2496
2348
  }
2497
- ],
2349
+ ]
2350
+ },
2351
+ {
2352
+ "id": "authentication.name",
2353
+ "label": "API key name",
2354
+ "optional": false,
2355
+ "constraints": {
2356
+ "notEmpty": true
2357
+ },
2358
+ "feel": "optional",
2359
+ "group": "authentication",
2498
2360
  "binding": {
2499
- "type": "zeebe:input",
2500
- "name": "graphql.method"
2501
- }
2361
+ "name": "authentication.name",
2362
+ "type": "zeebe:input"
2363
+ },
2364
+ "condition": {
2365
+ "property": "authentication.type",
2366
+ "equals": "apiKey",
2367
+ "type": "simple"
2368
+ },
2369
+ "type": "String"
2502
2370
  },
2503
2371
  {
2504
- "id": "headers",
2505
- "label": "Headers",
2506
- "group": "endpoint",
2507
- "type": "Text",
2508
- "feel": "required",
2509
- "optional": true,
2372
+ "id": "authentication.value",
2373
+ "label": "API key value",
2374
+ "optional": false,
2375
+ "constraints": {
2376
+ "notEmpty": true
2377
+ },
2378
+ "feel": "optional",
2379
+ "group": "authentication",
2510
2380
  "binding": {
2511
- "type": "zeebe:input",
2512
- "name": "graphql.headers"
2513
- }
2381
+ "name": "authentication.value",
2382
+ "type": "zeebe:input"
2383
+ },
2384
+ "condition": {
2385
+ "property": "authentication.type",
2386
+ "equals": "apiKey",
2387
+ "type": "simple"
2388
+ },
2389
+ "type": "String"
2514
2390
  },
2515
2391
  {
2516
- "label": "Query/Mutation",
2517
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
2518
- "group": "graphql",
2519
- "type": "Text",
2520
- "language": "graphql",
2521
- "binding": {
2522
- "type": "zeebe:input",
2523
- "name": "graphql.query"
2524
- },
2392
+ "id": "authentication.username",
2393
+ "label": "Username",
2525
2394
  "optional": false,
2526
2395
  "constraints": {
2527
2396
  "notEmpty": true
2528
- }
2529
- },
2530
- {
2531
- "label": "Variables",
2532
- "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>",
2533
- "group": "graphql",
2534
- "type": "Text",
2535
- "feel": "required",
2397
+ },
2398
+ "feel": "optional",
2399
+ "group": "authentication",
2536
2400
  "binding": {
2537
- "type": "zeebe:input",
2538
- "name": "graphql.variables"
2401
+ "name": "authentication.username",
2402
+ "type": "zeebe:input"
2539
2403
  },
2540
- "optional": true
2404
+ "condition": {
2405
+ "property": "authentication.type",
2406
+ "equals": "basic",
2407
+ "type": "simple"
2408
+ },
2409
+ "type": "String"
2541
2410
  },
2542
2411
  {
2543
- "label": "Bearer token",
2544
- "group": "authentication",
2545
- "type": "String",
2412
+ "id": "authentication.password",
2413
+ "label": "Password",
2414
+ "optional": false,
2415
+ "constraints": {
2416
+ "notEmpty": true
2417
+ },
2546
2418
  "feel": "optional",
2419
+ "group": "authentication",
2547
2420
  "binding": {
2548
- "type": "zeebe:input",
2549
- "name": "graphql.authentication.token"
2421
+ "name": "authentication.password",
2422
+ "type": "zeebe:input"
2423
+ },
2424
+ "condition": {
2425
+ "property": "authentication.type",
2426
+ "equals": "basic",
2427
+ "type": "simple"
2550
2428
  },
2429
+ "type": "String"
2430
+ },
2431
+ {
2432
+ "id": "authentication.token",
2433
+ "label": "Bearer token",
2434
+ "optional": false,
2551
2435
  "constraints": {
2552
2436
  "notEmpty": true
2553
2437
  },
2438
+ "feel": "optional",
2439
+ "group": "authentication",
2440
+ "binding": {
2441
+ "name": "authentication.token",
2442
+ "type": "zeebe:input"
2443
+ },
2554
2444
  "condition": {
2555
- "property": "authenticationType",
2556
- "equals": "bearer"
2557
- }
2445
+ "property": "authentication.type",
2446
+ "equals": "bearer",
2447
+ "type": "simple"
2448
+ },
2449
+ "type": "String"
2558
2450
  },
2559
2451
  {
2560
- "label": "OAuth token endpoint",
2452
+ "id": "authentication.oauthTokenEndpoint",
2453
+ "label": "OAuth 2.0 token endpoint",
2561
2454
  "description": "The OAuth token endpoint",
2562
- "group": "authentication",
2563
- "type": "String",
2455
+ "optional": false,
2456
+ "constraints": {
2457
+ "notEmpty": true,
2458
+ "pattern": {
2459
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2460
+ "message": "Must be a http(s) URL"
2461
+ }
2462
+ },
2564
2463
  "feel": "optional",
2464
+ "group": "authentication",
2565
2465
  "binding": {
2566
- "type": "zeebe:input",
2567
- "name": "authentication.oauthTokenEndpoint"
2568
- },
2569
- "constraints": {
2570
- "notEmpty": true
2466
+ "name": "authentication.oauthTokenEndpoint",
2467
+ "type": "zeebe:input"
2571
2468
  },
2572
2469
  "condition": {
2573
- "property": "authenticationType",
2574
- "equals": "oauth-client-credentials-flow"
2575
- }
2470
+ "property": "authentication.type",
2471
+ "equals": "oauth-client-credentials-flow",
2472
+ "type": "simple"
2473
+ },
2474
+ "type": "String"
2576
2475
  },
2577
2476
  {
2477
+ "id": "authentication.clientId",
2578
2478
  "label": "Client ID",
2579
2479
  "description": "Your application's client ID from the OAuth client",
2580
- "group": "authentication",
2581
- "type": "String",
2582
- "feel": "optional",
2583
- "binding": {
2584
- "type": "zeebe:input",
2585
- "name": "authentication.clientId"
2586
- },
2480
+ "optional": false,
2587
2481
  "constraints": {
2588
2482
  "notEmpty": true
2589
2483
  },
2484
+ "feel": "optional",
2485
+ "group": "authentication",
2486
+ "binding": {
2487
+ "name": "authentication.clientId",
2488
+ "type": "zeebe:input"
2489
+ },
2590
2490
  "condition": {
2591
- "property": "authenticationType",
2592
- "equals": "oauth-client-credentials-flow"
2593
- }
2491
+ "property": "authentication.type",
2492
+ "equals": "oauth-client-credentials-flow",
2493
+ "type": "simple"
2494
+ },
2495
+ "type": "String"
2594
2496
  },
2595
2497
  {
2498
+ "id": "authentication.clientSecret",
2596
2499
  "label": "Client secret",
2597
2500
  "description": "Your application's client secret from the OAuth client",
2598
- "group": "authentication",
2599
- "type": "String",
2600
- "feel": "optional",
2601
- "binding": {
2602
- "type": "zeebe:input",
2603
- "name": "authentication.clientSecret"
2604
- },
2501
+ "optional": false,
2605
2502
  "constraints": {
2606
2503
  "notEmpty": true
2607
2504
  },
2608
- "condition": {
2609
- "property": "authenticationType",
2610
- "equals": "oauth-client-credentials-flow"
2611
- }
2612
- },
2613
- {
2614
- "label": "Scopes",
2615
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2616
- "group": "authentication",
2617
- "type": "String",
2618
2505
  "feel": "optional",
2619
- "optional": true,
2506
+ "group": "authentication",
2620
2507
  "binding": {
2621
- "type": "zeebe:input",
2622
- "name": "authentication.scopes"
2508
+ "name": "authentication.clientSecret",
2509
+ "type": "zeebe:input"
2623
2510
  },
2624
2511
  "condition": {
2625
- "property": "authenticationType",
2626
- "equals": "oauth-client-credentials-flow"
2627
- }
2512
+ "property": "authentication.type",
2513
+ "equals": "oauth-client-credentials-flow",
2514
+ "type": "simple"
2515
+ },
2516
+ "type": "String"
2628
2517
  },
2629
2518
  {
2519
+ "id": "authentication.audience",
2630
2520
  "label": "Audience",
2631
2521
  "description": "The unique identifier of the target API you want to access",
2632
- "group": "authentication",
2633
- "type": "String",
2634
- "feel": "optional",
2635
2522
  "optional": true,
2523
+ "feel": "optional",
2524
+ "group": "authentication",
2636
2525
  "binding": {
2637
- "type": "zeebe:input",
2638
- "name": "authentication.audience"
2526
+ "name": "authentication.audience",
2527
+ "type": "zeebe:input"
2639
2528
  },
2640
2529
  "condition": {
2641
- "property": "authenticationType",
2642
- "equals": "oauth-client-credentials-flow"
2643
- }
2530
+ "property": "authentication.type",
2531
+ "equals": "oauth-client-credentials-flow",
2532
+ "type": "simple"
2533
+ },
2534
+ "type": "String"
2644
2535
  },
2645
2536
  {
2646
- "label": "Client authentication",
2647
2537
  "id": "authentication.clientAuthentication",
2538
+ "label": "Client authentication",
2539
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2540
+ "optional": false,
2541
+ "constraints": {
2542
+ "notEmpty": true
2543
+ },
2648
2544
  "group": "authentication",
2649
- "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
2650
- "value": "basicAuthHeader",
2545
+ "binding": {
2546
+ "name": "authentication.clientAuthentication",
2547
+ "type": "zeebe:input"
2548
+ },
2549
+ "condition": {
2550
+ "property": "authentication.type",
2551
+ "equals": "oauth-client-credentials-flow",
2552
+ "type": "simple"
2553
+ },
2651
2554
  "type": "Dropdown",
2652
2555
  "choices": [
2653
2556
  {
@@ -2658,105 +2561,202 @@
2658
2561
  "name": "Send as Basic Auth header",
2659
2562
  "value": "basicAuthHeader"
2660
2563
  }
2661
- ],
2564
+ ]
2565
+ },
2566
+ {
2567
+ "id": "authentication.scopes",
2568
+ "label": "Scopes",
2569
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2570
+ "optional": true,
2571
+ "feel": "optional",
2572
+ "group": "authentication",
2573
+ "binding": {
2574
+ "name": "authentication.scopes",
2575
+ "type": "zeebe:input"
2576
+ },
2577
+ "condition": {
2578
+ "property": "authentication.type",
2579
+ "equals": "oauth-client-credentials-flow",
2580
+ "type": "simple"
2581
+ },
2582
+ "type": "String"
2583
+ },
2584
+ {
2585
+ "id": "graphql.method",
2586
+ "label": "Method",
2587
+ "optional": false,
2588
+ "value": "get",
2589
+ "constraints": {
2590
+ "notEmpty": true
2591
+ },
2592
+ "group": "endpoint",
2593
+ "binding": {
2594
+ "name": "graphql.method",
2595
+ "type": "zeebe:input"
2596
+ },
2597
+ "type": "Dropdown",
2598
+ "choices": [
2599
+ {
2600
+ "name": "GET",
2601
+ "value": "get"
2602
+ },
2603
+ {
2604
+ "name": "POST",
2605
+ "value": "post"
2606
+ }
2607
+ ]
2608
+ },
2609
+ {
2610
+ "id": "graphql.url",
2611
+ "label": "URL",
2612
+ "optional": false,
2613
+ "constraints": {
2614
+ "notEmpty": true,
2615
+ "pattern": {
2616
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2617
+ "message": "Must be a http(s) URL"
2618
+ }
2619
+ },
2620
+ "feel": "optional",
2621
+ "group": "endpoint",
2622
+ "binding": {
2623
+ "name": "graphql.url",
2624
+ "type": "zeebe:input"
2625
+ },
2626
+ "type": "String"
2627
+ },
2628
+ {
2629
+ "id": "graphql.headers",
2630
+ "label": "Headers",
2631
+ "description": "Map of HTTP headers to add to the request",
2632
+ "optional": true,
2633
+ "feel": "required",
2634
+ "group": "endpoint",
2662
2635
  "binding": {
2663
- "type": "zeebe:input",
2664
- "name": "authentication.clientAuthentication"
2636
+ "name": "graphql.headers",
2637
+ "type": "zeebe:input"
2665
2638
  },
2666
- "condition": {
2667
- "property": "authenticationType",
2668
- "equals": "oauth-client-credentials-flow"
2669
- }
2639
+ "type": "String"
2670
2640
  },
2671
2641
  {
2672
- "label": "Username",
2673
- "group": "authentication",
2674
- "type": "String",
2675
- "feel": "optional",
2642
+ "id": "graphql.storeResponse",
2643
+ "label": "Store response",
2644
+ "description": "Store the response as a document in the document store",
2645
+ "optional": false,
2646
+ "value": false,
2647
+ "feel": "static",
2648
+ "group": "endpoint",
2676
2649
  "binding": {
2677
- "type": "zeebe:input",
2678
- "name": "authentication.username"
2650
+ "name": "graphql.storeResponse",
2651
+ "type": "zeebe:input"
2679
2652
  },
2653
+ "type": "Boolean"
2654
+ },
2655
+ {
2656
+ "id": "graphql.query",
2657
+ "label": "Query/Mutation",
2658
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
2659
+ "optional": false,
2680
2660
  "constraints": {
2681
2661
  "notEmpty": true
2682
2662
  },
2683
- "condition": {
2684
- "property": "authenticationType",
2685
- "equals": "basic"
2686
- }
2687
- },
2688
- {
2689
- "label": "Password",
2690
- "group": "authentication",
2691
- "type": "String",
2692
2663
  "feel": "optional",
2664
+ "group": "graphql",
2693
2665
  "binding": {
2694
- "type": "zeebe:input",
2695
- "name": "authentication.password"
2666
+ "name": "graphql.query",
2667
+ "type": "zeebe:input"
2696
2668
  },
2697
- "constraints": {
2698
- "notEmpty": true
2669
+ "type": "Text"
2670
+ },
2671
+ {
2672
+ "id": "graphql.variables",
2673
+ "label": "Variables",
2674
+ "optional": true,
2675
+ "feel": "required",
2676
+ "group": "graphql",
2677
+ "binding": {
2678
+ "name": "graphql.variables",
2679
+ "type": "zeebe:input"
2699
2680
  },
2700
- "condition": {
2701
- "property": "authenticationType",
2702
- "equals": "basic"
2703
- }
2681
+ "type": "String"
2704
2682
  },
2705
2683
  {
2706
- "label": "Connection timeout",
2684
+ "id": "graphql.connectionTimeoutInSeconds",
2685
+ "label": "Connection timeout in seconds",
2707
2686
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2687
+ "optional": true,
2688
+ "value": 20,
2689
+ "feel": "static",
2708
2690
  "group": "timeout",
2709
- "type": "String",
2710
- "value": "20",
2711
2691
  "binding": {
2712
- "type": "zeebe:input",
2713
- "name": "graphql.connectionTimeoutInSeconds"
2692
+ "name": "graphql.connectionTimeoutInSeconds",
2693
+ "type": "zeebe:input"
2714
2694
  },
2715
- "feel": "optional",
2716
- "optional": true,
2717
- "constraints": {
2718
- "notEmpty": false,
2719
- "pattern": {
2720
- "value": "^(=|([0-9]+|secrets\\..+)$)",
2721
- "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2722
- }
2723
- }
2695
+ "type": "Number"
2724
2696
  },
2725
2697
  {
2698
+ "id": "resultVariable",
2726
2699
  "label": "Result variable",
2727
2700
  "description": "Name of variable to store the response in",
2728
2701
  "group": "output",
2729
- "type": "String",
2730
2702
  "binding": {
2731
- "type": "zeebe:taskHeader",
2732
- "key": "resultVariable"
2733
- }
2703
+ "key": "resultVariable",
2704
+ "type": "zeebe:taskHeader"
2705
+ },
2706
+ "type": "String"
2734
2707
  },
2735
2708
  {
2709
+ "id": "resultExpression",
2736
2710
  "label": "Result expression",
2737
2711
  "description": "Expression to map the response into process variables",
2738
- "group": "output",
2739
- "type": "Text",
2740
2712
  "feel": "required",
2713
+ "group": "output",
2741
2714
  "binding": {
2742
- "type": "zeebe:taskHeader",
2743
- "key": "resultExpression"
2744
- }
2715
+ "key": "resultExpression",
2716
+ "type": "zeebe:taskHeader"
2717
+ },
2718
+ "type": "Text"
2745
2719
  },
2746
2720
  {
2721
+ "id": "errorExpression",
2747
2722
  "label": "Error expression",
2748
- "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>",
2749
- "group": "errors",
2750
- "type": "Text",
2723
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2751
2724
  "feel": "required",
2725
+ "group": "error",
2752
2726
  "binding": {
2753
- "type": "zeebe:taskHeader",
2754
- "key": "errorExpression"
2755
- }
2727
+ "key": "errorExpression",
2728
+ "type": "zeebe:taskHeader"
2729
+ },
2730
+ "type": "Text"
2731
+ },
2732
+ {
2733
+ "id": "retryCount",
2734
+ "label": "Retries",
2735
+ "description": "Number of retries",
2736
+ "value": "3",
2737
+ "feel": "optional",
2738
+ "group": "retries",
2739
+ "binding": {
2740
+ "property": "retries",
2741
+ "type": "zeebe:taskDefinition"
2742
+ },
2743
+ "type": "String"
2744
+ },
2745
+ {
2746
+ "id": "retryBackoff",
2747
+ "label": "Retry backoff",
2748
+ "description": "ISO-8601 duration to wait between retries",
2749
+ "value": "PT0S",
2750
+ "group": "retries",
2751
+ "binding": {
2752
+ "key": "retryBackoff",
2753
+ "type": "zeebe:taskHeader"
2754
+ },
2755
+ "type": "String"
2756
2756
  }
2757
2757
  ],
2758
- "engines": {
2759
- "camunda": "^8.2"
2758
+ "icon": {
2759
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
2760
2760
  }
2761
2761
  },
2762
2762
  {
@@ -2764,7 +2764,7 @@
2764
2764
  "name": "GraphQL connector",
2765
2765
  "id": "io.camunda.connectors.GraphQL.v1",
2766
2766
  "description": "Execute GraphQL query",
2767
- "version": 2,
2767
+ "version": 1,
2768
2768
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
2769
2769
  "icon": {
2770
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"
@@ -2854,7 +2854,7 @@
2854
2854
  "constraints": {
2855
2855
  "notEmpty": true,
2856
2856
  "pattern": {
2857
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
2857
+ "value": "^(=|(http://|https://|secrets).*$)",
2858
2858
  "message": "Must be a http(s) URL."
2859
2859
  }
2860
2860
  }
@@ -3097,7 +3097,7 @@
3097
3097
  "constraints": {
3098
3098
  "notEmpty": false,
3099
3099
  "pattern": {
3100
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
3100
+ "value": "^(=|([0-9]+|secrets\\..+)$)",
3101
3101
  "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
3102
3102
  }
3103
3103
  }
@@ -3243,6 +3243,10 @@
3243
3243
  {
3244
3244
  "name": "OAuth 2.0",
3245
3245
  "value": "oauth-client-credentials-flow"
3246
+ },
3247
+ {
3248
+ "name": "OAuth 2.0 Refresh Token",
3249
+ "value": "oauth-refresh-token"
3246
3250
  }
3247
3251
  ]
3248
3252
  },
@@ -3510,6 +3514,109 @@
3510
3514
  },
3511
3515
  "type": "String"
3512
3516
  },
3517
+ {
3518
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
3519
+ "label": "OAuth 2.0 token endpoint",
3520
+ "description": "The OAuth token endpoint",
3521
+ "optional": false,
3522
+ "constraints": {
3523
+ "notEmpty": true,
3524
+ "pattern": {
3525
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3526
+ "message": "Must be a http(s) URL"
3527
+ }
3528
+ },
3529
+ "feel": "optional",
3530
+ "group": "authentication",
3531
+ "binding": {
3532
+ "name": "authentication.oauthTokenEndpoint",
3533
+ "type": "zeebe:input"
3534
+ },
3535
+ "condition": {
3536
+ "property": "authentication.type",
3537
+ "equals": "oauth-refresh-token",
3538
+ "type": "simple"
3539
+ },
3540
+ "type": "String"
3541
+ },
3542
+ {
3543
+ "id": "authentication.oauthRefreshToken.clientId",
3544
+ "label": "Client ID",
3545
+ "description": "Your application's client ID from the OAuth client",
3546
+ "optional": false,
3547
+ "constraints": {
3548
+ "notEmpty": true
3549
+ },
3550
+ "feel": "optional",
3551
+ "group": "authentication",
3552
+ "binding": {
3553
+ "name": "authentication.clientId",
3554
+ "type": "zeebe:input"
3555
+ },
3556
+ "condition": {
3557
+ "property": "authentication.type",
3558
+ "equals": "oauth-refresh-token",
3559
+ "type": "simple"
3560
+ },
3561
+ "type": "String"
3562
+ },
3563
+ {
3564
+ "id": "authentication.oauthRefreshToken.clientSecret",
3565
+ "label": "Client secret",
3566
+ "description": "Your application's client secret from the OAuth client",
3567
+ "optional": true,
3568
+ "feel": "optional",
3569
+ "group": "authentication",
3570
+ "binding": {
3571
+ "name": "authentication.clientSecret",
3572
+ "type": "zeebe:input"
3573
+ },
3574
+ "condition": {
3575
+ "property": "authentication.type",
3576
+ "equals": "oauth-refresh-token",
3577
+ "type": "simple"
3578
+ },
3579
+ "type": "String"
3580
+ },
3581
+ {
3582
+ "id": "authentication.oauthRefreshToken.refreshToken",
3583
+ "label": "Refresh token",
3584
+ "description": "The refresh token used to obtain a new access token",
3585
+ "optional": false,
3586
+ "constraints": {
3587
+ "notEmpty": true
3588
+ },
3589
+ "feel": "optional",
3590
+ "group": "authentication",
3591
+ "binding": {
3592
+ "name": "authentication.refreshToken",
3593
+ "type": "zeebe:input"
3594
+ },
3595
+ "condition": {
3596
+ "property": "authentication.type",
3597
+ "equals": "oauth-refresh-token",
3598
+ "type": "simple"
3599
+ },
3600
+ "type": "String"
3601
+ },
3602
+ {
3603
+ "id": "authentication.oauthRefreshToken.scopes",
3604
+ "label": "Scopes",
3605
+ "description": "The scopes to request authorization for (space-separated)",
3606
+ "optional": true,
3607
+ "feel": "optional",
3608
+ "group": "authentication",
3609
+ "binding": {
3610
+ "name": "authentication.scopes",
3611
+ "type": "zeebe:input"
3612
+ },
3613
+ "condition": {
3614
+ "property": "authentication.type",
3615
+ "equals": "oauth-refresh-token",
3616
+ "type": "simple"
3617
+ },
3618
+ "type": "String"
3619
+ },
3513
3620
  {
3514
3621
  "id": "graphql.method",
3515
3622
  "label": "Method",
@@ -3713,7 +3820,7 @@
3713
3820
  "id": "retryBackoff",
3714
3821
  "label": "Retry backoff",
3715
3822
  "description": "ISO-8601 duration to wait between retries",
3716
- "value": "PT0S",
3823
+ "value": "PT30S",
3717
3824
  "group": "retries",
3718
3825
  "binding": {
3719
3826
  "key": "retryBackoff",