@camunda/connectors-element-templates 1.0.18 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/package.json +1 -1
  2. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +2 -2
  3. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +2 -2
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +2 -2
  5. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +2 -2
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +2 -2
  7. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +22 -22
  8. package/src/element-templates/agenticai-aiagent-job-worker.json +240 -240
  9. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3735 -3735
  10. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +550 -550
  11. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +733 -733
  12. package/src/element-templates/asana-connector.json +116 -116
  13. package/src/element-templates/automation-anywhere-outbound-connector.json +665 -665
  14. package/src/element-templates/aws-bedrock-outbound-connector.json +431 -431
  15. package/src/element-templates/aws-dynamodb-outbound-connector.json +1337 -1337
  16. package/src/element-templates/aws-eventbridge-connector-boundary.json +37 -37
  17. package/src/element-templates/aws-eventbridge-connector-intermediate.json +77 -77
  18. package/src/element-templates/aws-eventbridge-connector-message-start.json +21 -21
  19. package/src/element-templates/aws-eventbridge-connector-receive.json +6 -6
  20. package/src/element-templates/aws-eventbridge-outbound-connector.json +229 -229
  21. package/src/element-templates/aws-lambda-outbound-connector.json +278 -278
  22. package/src/element-templates/aws-s3-outbound-connector.json +244 -244
  23. package/src/element-templates/aws-sagemaker-outbound-connector.json +58 -58
  24. package/src/element-templates/aws-sns-inbound-boundary.json +224 -224
  25. package/src/element-templates/aws-sns-inbound-intermediate.json +329 -329
  26. package/src/element-templates/aws-sns-inbound-message-start.json +357 -357
  27. package/src/element-templates/aws-sns-inbound-start-event.json +135 -135
  28. package/src/element-templates/aws-sns-outbound-connector.json +293 -293
  29. package/src/element-templates/aws-sqs-boundary-connector.json +890 -890
  30. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +529 -529
  31. package/src/element-templates/aws-sqs-outbound-connector.json +573 -573
  32. package/src/element-templates/aws-sqs-start-event-connector.json +408 -408
  33. package/src/element-templates/aws-sqs-start-message.json +488 -488
  34. package/src/element-templates/aws-textract-outbound-connector.json +275 -275
  35. package/src/element-templates/azure-blobstorage-outbound-connector.json +200 -200
  36. package/src/element-templates/azure-open-ai-connector.json +48 -48
  37. package/src/element-templates/blue-prism-connector.json +101 -101
  38. package/src/element-templates/csv-outbound-connector.json +44 -44
  39. package/src/element-templates/easy-post-connector.json +216 -216
  40. package/src/element-templates/email-inbound-connector-boundary.json +37 -37
  41. package/src/element-templates/email-inbound-connector-intermediate.json +37 -37
  42. package/src/element-templates/email-message-start-event-connector.json +63 -63
  43. package/src/element-templates/email-outbound-connector.json +902 -902
  44. package/src/element-templates/embeddings-vector-database-outbound-connector.json +520 -520
  45. package/src/element-templates/github-connector.json +10272 -10272
  46. package/src/element-templates/github-webhook-connector-intermediate.json +41 -41
  47. package/src/element-templates/github-webhook-connector-message-start.json +19 -19
  48. package/src/element-templates/github-webhook-connector-start-event.json +54 -54
  49. package/src/element-templates/gitlab-connector.json +2854 -2854
  50. package/src/element-templates/google-cloud-storage-outbound-connector.json +200 -200
  51. package/src/element-templates/google-drive-outbound-connector.json +1139 -1139
  52. package/src/element-templates/google-gemini-outbound-connector.json +122 -122
  53. package/src/element-templates/google-maps-platform-connector.json +94 -94
  54. package/src/element-templates/google-sheets-outbound-connector.json +2455 -2455
  55. package/src/element-templates/graphql-outbound-connector.json +1814 -1814
  56. package/src/element-templates/http-json-connector.json +2221 -2221
  57. package/src/element-templates/http-polling-boundary-catch-event-connector.json +766 -766
  58. package/src/element-templates/http-polling-connector.json +1510 -1510
  59. package/src/element-templates/hubspot-outbound-connector.json +65 -65
  60. package/src/element-templates/hugging-face-connector.json +122 -122
  61. package/src/element-templates/jdbc-outbound-connector.json +67 -67
  62. package/src/element-templates/kafka-inbound-connector-boundary.json +130 -130
  63. package/src/element-templates/kafka-inbound-connector-intermediate.json +1371 -1371
  64. package/src/element-templates/kafka-inbound-connector-start-message.json +166 -166
  65. package/src/element-templates/kafka-outbound-connector.json +250 -250
  66. package/src/element-templates/microsoft-office365-mail-connector.json +77 -77
  67. package/src/element-templates/microsoft-teams-outbound-connector.json +4124 -4124
  68. package/src/element-templates/openai-connector.json +199 -199
  69. package/src/element-templates/operate-connector.json +144 -144
  70. package/src/element-templates/power-automate-connector.json +62 -62
  71. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +454 -454
  72. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +895 -895
  73. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +458 -458
  74. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +610 -610
  75. package/src/element-templates/rabbitmq-outbound-connector.json +662 -662
  76. package/src/element-templates/rpa-connector.json +5 -5
  77. package/src/element-templates/salesforce-connector.json +60 -60
  78. package/src/element-templates/sendgrid-outbound-connector.json +1301 -1301
  79. package/src/element-templates/servicenow-connector.json +6 -6
  80. package/src/element-templates/servicenow-incident-connector.json +6 -6
  81. package/src/element-templates/slack-inbound-boundary.json +305 -305
  82. package/src/element-templates/slack-inbound-intermediate.json +363 -363
  83. package/src/element-templates/slack-inbound-message-start.json +286 -286
  84. package/src/element-templates/slack-inbound-receive.json +23 -23
  85. package/src/element-templates/slack-inbound-start-event.json +301 -301
  86. package/src/element-templates/slack-outbound-connector.json +2249 -2249
  87. package/src/element-templates/twilio-connector.json +366 -366
  88. package/src/element-templates/twilio-webhook-boundary-connector.json +37 -37
  89. package/src/element-templates/twilio-webhook-connector.json +36 -36
  90. package/src/element-templates/twilio-webhook-intermediate-connector.json +59 -59
  91. package/src/element-templates/twilio-webhook-message-start-connector.json +42 -42
  92. package/src/element-templates/uipath-connector.json +54 -54
  93. package/src/element-templates/webhook-connector-boundary.json +1238 -1238
  94. package/src/element-templates/webhook-connector-intermediate.json +1254 -1254
  95. package/src/element-templates/webhook-connector-receive.json +61 -61
  96. package/src/element-templates/webhook-connector-start-event.json +1419 -1419
  97. package/src/element-templates/webhook-connector-start-message.json +1289 -1289
  98. package/src/element-templates/whatsapp-connector.json +21 -21
@@ -1,50 +1,38 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "MCP Remote Client",
4
+ "name": "MCP Remote Client (early access)",
5
5
  "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
6
- "description": "MCP (Model Context Protocol) client, operating on temporary remote connections.",
7
- "documentationRef": "https://docs.camunda.io/docs/8.9/components/connectors/out-of-the-box-connectors/agentic-ai-mcp-remote-client-connector/",
8
- "version": 2,
6
+ "description": "MCP (Model Context Protocol) client, operating on temporary remote connections. Only supports tool operations.",
7
+ "metadata": {
8
+ "keywords": []
9
+ },
10
+ "version": 0,
9
11
  "category": {
10
- "id": "connectors",
11
- "name": "Connectors"
12
+ "id": "aiTools",
13
+ "name": "AI Tools"
12
14
  },
13
15
  "appliesTo": ["bpmn:Task"],
14
16
  "elementType": {
15
17
  "value": "bpmn:ServiceTask"
16
18
  },
17
19
  "engines": {
18
- "camunda": "^8.9"
20
+ "camunda": "^8.8"
19
21
  },
20
22
  "groups": [
21
23
  {
22
- "id": "transport",
23
- "label": "Transport",
24
- "tooltip": "Configure the connection to the remote MCP server."
25
- },
26
- {
27
- "id": "authentication",
28
- "label": "Authentication"
29
- },
30
- {
31
- "id": "options",
32
- "label": "Options"
24
+ "id": "connection",
25
+ "label": "HTTP Connection",
26
+ "tooltip": "Configure the HTTP/SSE connection to the remote MCP server. Setting authentication headers is not supported yet."
33
27
  },
34
28
  {
35
- "id": "connectorMode",
36
- "label": "Connector mode",
37
- "tooltip": "Select how this connector is used. When the connector is used as an AI agent tool, select the AI Agent tool mode."
29
+ "id": "tools",
30
+ "label": "Tools"
38
31
  },
39
32
  {
40
33
  "id": "operation",
41
34
  "label": "Operation"
42
35
  },
43
- {
44
- "id": "filters",
45
- "label": "Filters",
46
- "openByDefault": false
47
- },
48
36
  {
49
37
  "id": "connector",
50
38
  "label": "Connector"
@@ -64,7 +52,7 @@
64
52
  ],
65
53
  "properties": [
66
54
  {
67
- "value": "io.camunda.agenticai:mcpremoteclient:1",
55
+ "value": "io.camunda.agenticai:mcpremoteclient:0",
68
56
  "binding": {
69
57
  "property": "type",
70
58
  "type": "zeebe:taskDefinition"
@@ -77,196 +65,467 @@
77
65
  "name": "io.camunda.agenticai.gateway.type",
78
66
  "type": "zeebe:property"
79
67
  },
80
- "condition": {
81
- "property": "data.connectorMode.type",
82
- "equals": "aiAgentTool",
83
- "type": "simple"
84
- },
85
68
  "type": "Hidden"
86
69
  },
87
70
  {
88
- "id": "data.transport.type",
89
- "label": "Type",
90
- "description": "Specify the MCP transport type.",
91
- "value": "http",
92
- "group": "transport",
93
- "binding": {
94
- "name": "data.transport.type",
95
- "type": "zeebe:input"
96
- },
97
- "type": "Dropdown",
98
- "choices": [
99
- {
100
- "name": "Streamable HTTP",
101
- "value": "http"
102
- },
103
- {
104
- "name": "SSE",
105
- "value": "sse"
106
- }
107
- ]
108
- },
109
- {
110
- "id": "data.transport.http.url",
111
- "label": "URL",
112
- "description": "URL to connect to the MCP server. Typically ends with <code>/mcp</code>.",
71
+ "id": "data.connection.sseUrl",
72
+ "label": "SSE URL",
73
+ "description": "SSE URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
113
74
  "optional": false,
114
75
  "constraints": {
115
76
  "notEmpty": true
116
77
  },
117
78
  "feel": "optional",
118
- "group": "transport",
79
+ "group": "connection",
119
80
  "binding": {
120
- "name": "data.transport.http.url",
81
+ "name": "data.connection.sseUrl",
121
82
  "type": "zeebe:input"
122
83
  },
123
- "condition": {
124
- "property": "data.transport.type",
125
- "equals": "http",
126
- "type": "simple"
127
- },
128
84
  "type": "String"
129
85
  },
130
86
  {
131
- "id": "data.transport.http.headers",
87
+ "id": "data.connection.headers",
132
88
  "label": "HTTP headers",
133
- "description": "Map of HTTP headers to add to the request.",
89
+ "description": "Map of HTTP headers to add to the request <strong>(NOT SUPPORTED YET)</strong>.",
134
90
  "optional": true,
135
- "feel": "required",
136
- "group": "transport",
91
+ "group": "connection",
137
92
  "binding": {
138
- "name": "data.transport.http.headers",
93
+ "name": "data.connection.headers",
139
94
  "type": "zeebe:input"
140
95
  },
141
- "condition": {
142
- "property": "data.transport.type",
143
- "equals": "http",
144
- "type": "simple"
145
- },
146
- "type": "String"
96
+ "type": "Hidden"
147
97
  },
148
98
  {
149
- "id": "data.transport.http.timeout",
99
+ "id": "data.connection.timeout",
150
100
  "label": "Timeout",
151
101
  "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
152
102
  "optional": true,
153
- "feel": "optional",
154
- "group": "transport",
103
+ "group": "connection",
155
104
  "binding": {
156
- "name": "data.transport.http.timeout",
105
+ "name": "data.connection.timeout",
157
106
  "type": "zeebe:input"
158
107
  },
159
- "condition": {
160
- "property": "data.transport.type",
161
- "equals": "http",
162
- "type": "simple"
108
+ "type": "Hidden"
109
+ },
110
+ {
111
+ "id": "data.tools.included",
112
+ "label": "Included tools",
113
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
114
+ "optional": true,
115
+ "feel": "required",
116
+ "group": "tools",
117
+ "binding": {
118
+ "name": "data.tools.included",
119
+ "type": "zeebe:input"
163
120
  },
164
- "type": "String"
121
+ "type": "Text"
165
122
  },
166
123
  {
167
- "id": "data.transport.sse.url",
168
- "label": "URL",
169
- "description": "URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
124
+ "id": "data.tools.excluded",
125
+ "label": "Excluded tools",
126
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
127
+ "optional": true,
128
+ "feel": "required",
129
+ "group": "tools",
130
+ "binding": {
131
+ "name": "data.tools.excluded",
132
+ "type": "zeebe:input"
133
+ },
134
+ "type": "Text"
135
+ },
136
+ {
137
+ "id": "data.operation.method",
138
+ "label": "Method",
139
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
170
140
  "optional": false,
141
+ "value": "=toolCall.method",
171
142
  "constraints": {
172
143
  "notEmpty": true
173
144
  },
174
145
  "feel": "optional",
175
- "group": "transport",
146
+ "group": "operation",
176
147
  "binding": {
177
- "name": "data.transport.sse.url",
148
+ "name": "data.operation.method",
178
149
  "type": "zeebe:input"
179
150
  },
180
- "condition": {
181
- "property": "data.transport.type",
182
- "equals": "sse",
183
- "type": "simple"
184
- },
151
+ "tooltip": "The method to be called on the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server\">MCP specification</a> for a list of available methods.<br><br>Currently supported:<br><code>tools/list</code>, <code>tools/call</code>",
185
152
  "type": "String"
186
153
  },
187
154
  {
188
- "id": "data.transport.sse.headers",
189
- "label": "HTTP headers",
190
- "description": "Map of HTTP headers to add to the request.",
155
+ "id": "data.operation.params",
156
+ "label": "Parameters",
157
+ "description": "The parameters to be passed to the MCP method.",
191
158
  "optional": true,
159
+ "value": "=toolCall.params",
192
160
  "feel": "required",
193
- "group": "transport",
161
+ "group": "operation",
194
162
  "binding": {
195
- "name": "data.transport.sse.headers",
163
+ "name": "data.operation.params",
196
164
  "type": "zeebe:input"
197
165
  },
198
- "condition": {
199
- "property": "data.transport.type",
200
- "equals": "sse",
201
- "type": "simple"
202
- },
166
+ "tooltip": "The parameter structure depends on the method being called. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server/tools#calling-tools\">MCP specification</a> for an example of the parameters for the <code>tools/call</code> method.",
203
167
  "type": "String"
204
168
  },
205
169
  {
206
- "id": "data.transport.sse.timeout",
207
- "label": "Timeout",
208
- "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
209
- "optional": true,
210
- "feel": "optional",
211
- "group": "transport",
170
+ "id": "version",
171
+ "label": "Version",
172
+ "description": "Version of the element template",
173
+ "value": "0",
174
+ "group": "connector",
212
175
  "binding": {
213
- "name": "data.transport.sse.timeout",
214
- "type": "zeebe:input"
215
- },
216
- "condition": {
217
- "property": "data.transport.type",
218
- "equals": "sse",
219
- "type": "simple"
176
+ "key": "elementTemplateVersion",
177
+ "type": "zeebe:taskHeader"
220
178
  },
221
- "type": "String"
179
+ "type": "Hidden"
222
180
  },
223
181
  {
224
- "id": "data.transport.http.authentication.type",
225
- "label": "Type",
226
- "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
227
- "value": "noAuth",
228
- "group": "authentication",
182
+ "id": "id",
183
+ "label": "ID",
184
+ "description": "ID of the element template",
185
+ "value": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
186
+ "group": "connector",
229
187
  "binding": {
230
- "name": "data.transport.http.authentication.type",
231
- "type": "zeebe:input"
232
- },
233
- "condition": {
234
- "property": "data.transport.type",
235
- "equals": "http",
236
- "type": "simple"
188
+ "key": "elementTemplateId",
189
+ "type": "zeebe:taskHeader"
237
190
  },
238
- "type": "Dropdown",
239
- "choices": [
240
- {
241
- "name": "None",
242
- "value": "noAuth"
243
- },
244
- {
245
- "name": "Basic",
246
- "value": "basic"
247
- },
248
- {
249
- "name": "Bearer token",
250
- "value": "bearer"
251
- },
252
- {
253
- "name": "OAuth 2.0",
254
- "value": "oauth-client-credentials-flow"
255
- }
256
- ]
191
+ "type": "Hidden"
257
192
  },
258
193
  {
259
- "id": "data.transport.http.authentication.username",
260
- "label": "Username",
261
- "optional": false,
262
- "constraints": {
263
- "notEmpty": true
194
+ "id": "resultVariable",
195
+ "label": "Result variable",
196
+ "description": "Name of variable to store the response in",
197
+ "value": "toolCallResult",
198
+ "group": "output",
199
+ "binding": {
200
+ "key": "resultVariable",
201
+ "type": "zeebe:taskHeader"
264
202
  },
265
- "feel": "optional",
266
- "group": "authentication",
203
+ "type": "String"
204
+ },
205
+ {
206
+ "id": "resultExpression",
207
+ "label": "Result expression",
208
+ "description": "Expression to map the response into process variables",
209
+ "feel": "required",
210
+ "group": "output",
267
211
  "binding": {
268
- "name": "data.transport.http.authentication.username",
269
- "type": "zeebe:input"
212
+ "key": "resultExpression",
213
+ "type": "zeebe:taskHeader"
214
+ },
215
+ "type": "Text"
216
+ },
217
+ {
218
+ "id": "errorExpression",
219
+ "label": "Error expression",
220
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
221
+ "feel": "required",
222
+ "group": "error",
223
+ "binding": {
224
+ "key": "errorExpression",
225
+ "type": "zeebe:taskHeader"
226
+ },
227
+ "type": "Text"
228
+ },
229
+ {
230
+ "id": "retryCount",
231
+ "label": "Retries",
232
+ "description": "Number of retries",
233
+ "value": "3",
234
+ "feel": "optional",
235
+ "group": "retries",
236
+ "binding": {
237
+ "property": "retries",
238
+ "type": "zeebe:taskDefinition"
239
+ },
240
+ "type": "String"
241
+ },
242
+ {
243
+ "id": "retryBackoff",
244
+ "label": "Retry backoff",
245
+ "description": "ISO-8601 duration to wait between retries",
246
+ "value": "PT0S",
247
+ "group": "retries",
248
+ "binding": {
249
+ "key": "retryBackoff",
250
+ "type": "zeebe:taskHeader"
251
+ },
252
+ "type": "String"
253
+ }
254
+ ],
255
+ "icon": {
256
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
257
+ }
258
+ },
259
+ {
260
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
261
+ "name": "MCP Remote Client (early access)",
262
+ "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
263
+ "description": "MCP (Model Context Protocol) client, operating on temporary remote connections.",
264
+ "metadata": {
265
+ "keywords": []
266
+ },
267
+ "version": 1,
268
+ "category": {
269
+ "id": "aiTools",
270
+ "name": "AI Tools"
271
+ },
272
+ "appliesTo": ["bpmn:Task"],
273
+ "elementType": {
274
+ "value": "bpmn:ServiceTask"
275
+ },
276
+ "engines": {
277
+ "camunda": "^8.9"
278
+ },
279
+ "groups": [
280
+ {
281
+ "id": "transport",
282
+ "label": "Transport",
283
+ "tooltip": "Configure the connection to the remote MCP server."
284
+ },
285
+ {
286
+ "id": "authentication",
287
+ "label": "Authentication"
288
+ },
289
+ {
290
+ "id": "options",
291
+ "label": "Options"
292
+ },
293
+ {
294
+ "id": "connectorMode",
295
+ "label": "Connector mode",
296
+ "tooltip": "Select how this connector is used. When the connector is used as an AI agent tool, select the AI Agent tool mode."
297
+ },
298
+ {
299
+ "id": "operation",
300
+ "label": "Operation"
301
+ },
302
+ {
303
+ "id": "tools",
304
+ "label": "Tools",
305
+ "openByDefault": false
306
+ },
307
+ {
308
+ "id": "connector",
309
+ "label": "Connector"
310
+ },
311
+ {
312
+ "id": "output",
313
+ "label": "Output mapping"
314
+ },
315
+ {
316
+ "id": "error",
317
+ "label": "Error handling"
318
+ },
319
+ {
320
+ "id": "retries",
321
+ "label": "Retries"
322
+ }
323
+ ],
324
+ "properties": [
325
+ {
326
+ "value": "io.camunda.agenticai:mcpremoteclient:1",
327
+ "binding": {
328
+ "property": "type",
329
+ "type": "zeebe:taskDefinition"
330
+ },
331
+ "type": "Hidden"
332
+ },
333
+ {
334
+ "value": "mcpClient",
335
+ "binding": {
336
+ "name": "io.camunda.agenticai.gateway.type",
337
+ "type": "zeebe:property"
338
+ },
339
+ "condition": {
340
+ "property": "data.connectorMode.type",
341
+ "equals": "aiAgentTool",
342
+ "type": "simple"
343
+ },
344
+ "type": "Hidden"
345
+ },
346
+ {
347
+ "id": "data.transport.type",
348
+ "label": "Type",
349
+ "description": "Specify the MCP transport type.",
350
+ "value": "http",
351
+ "group": "transport",
352
+ "binding": {
353
+ "name": "data.transport.type",
354
+ "type": "zeebe:input"
355
+ },
356
+ "type": "Dropdown",
357
+ "choices": [
358
+ {
359
+ "name": "Streamable HTTP",
360
+ "value": "http"
361
+ },
362
+ {
363
+ "name": "SSE",
364
+ "value": "sse"
365
+ }
366
+ ]
367
+ },
368
+ {
369
+ "id": "data.transport.http.url",
370
+ "label": "URL",
371
+ "description": "URL to connect to the MCP server. Typically ends with <code>/mcp</code>.",
372
+ "optional": false,
373
+ "constraints": {
374
+ "notEmpty": true
375
+ },
376
+ "feel": "optional",
377
+ "group": "transport",
378
+ "binding": {
379
+ "name": "data.transport.http.url",
380
+ "type": "zeebe:input"
381
+ },
382
+ "condition": {
383
+ "property": "data.transport.type",
384
+ "equals": "http",
385
+ "type": "simple"
386
+ },
387
+ "type": "String"
388
+ },
389
+ {
390
+ "id": "data.transport.http.headers",
391
+ "label": "HTTP headers",
392
+ "description": "Map of HTTP headers to add to the request.",
393
+ "optional": true,
394
+ "feel": "required",
395
+ "group": "transport",
396
+ "binding": {
397
+ "name": "data.transport.http.headers",
398
+ "type": "zeebe:input"
399
+ },
400
+ "condition": {
401
+ "property": "data.transport.type",
402
+ "equals": "http",
403
+ "type": "simple"
404
+ },
405
+ "type": "String"
406
+ },
407
+ {
408
+ "id": "data.transport.http.timeout",
409
+ "label": "Timeout",
410
+ "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
411
+ "optional": true,
412
+ "feel": "optional",
413
+ "group": "transport",
414
+ "binding": {
415
+ "name": "data.transport.http.timeout",
416
+ "type": "zeebe:input"
417
+ },
418
+ "condition": {
419
+ "property": "data.transport.type",
420
+ "equals": "http",
421
+ "type": "simple"
422
+ },
423
+ "type": "String"
424
+ },
425
+ {
426
+ "id": "data.transport.sse.url",
427
+ "label": "URL",
428
+ "description": "URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
429
+ "optional": false,
430
+ "constraints": {
431
+ "notEmpty": true
432
+ },
433
+ "feel": "optional",
434
+ "group": "transport",
435
+ "binding": {
436
+ "name": "data.transport.sse.url",
437
+ "type": "zeebe:input"
438
+ },
439
+ "condition": {
440
+ "property": "data.transport.type",
441
+ "equals": "sse",
442
+ "type": "simple"
443
+ },
444
+ "type": "String"
445
+ },
446
+ {
447
+ "id": "data.transport.sse.headers",
448
+ "label": "HTTP headers",
449
+ "description": "Map of HTTP headers to add to the request.",
450
+ "optional": true,
451
+ "feel": "required",
452
+ "group": "transport",
453
+ "binding": {
454
+ "name": "data.transport.sse.headers",
455
+ "type": "zeebe:input"
456
+ },
457
+ "condition": {
458
+ "property": "data.transport.type",
459
+ "equals": "sse",
460
+ "type": "simple"
461
+ },
462
+ "type": "String"
463
+ },
464
+ {
465
+ "id": "data.transport.sse.timeout",
466
+ "label": "Timeout",
467
+ "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
468
+ "optional": true,
469
+ "feel": "optional",
470
+ "group": "transport",
471
+ "binding": {
472
+ "name": "data.transport.sse.timeout",
473
+ "type": "zeebe:input"
474
+ },
475
+ "condition": {
476
+ "property": "data.transport.type",
477
+ "equals": "sse",
478
+ "type": "simple"
479
+ },
480
+ "type": "String"
481
+ },
482
+ {
483
+ "id": "data.transport.http.authentication.type",
484
+ "label": "Type",
485
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
486
+ "value": "noAuth",
487
+ "group": "authentication",
488
+ "binding": {
489
+ "name": "data.transport.http.authentication.type",
490
+ "type": "zeebe:input"
491
+ },
492
+ "condition": {
493
+ "property": "data.transport.type",
494
+ "equals": "http",
495
+ "type": "simple"
496
+ },
497
+ "type": "Dropdown",
498
+ "choices": [
499
+ {
500
+ "name": "None",
501
+ "value": "noAuth"
502
+ },
503
+ {
504
+ "name": "Basic",
505
+ "value": "basic"
506
+ },
507
+ {
508
+ "name": "Bearer token",
509
+ "value": "bearer"
510
+ },
511
+ {
512
+ "name": "OAuth 2.0",
513
+ "value": "oauth-client-credentials-flow"
514
+ }
515
+ ]
516
+ },
517
+ {
518
+ "id": "data.transport.http.authentication.username",
519
+ "label": "Username",
520
+ "optional": false,
521
+ "constraints": {
522
+ "notEmpty": true
523
+ },
524
+ "feel": "optional",
525
+ "group": "authentication",
526
+ "binding": {
527
+ "name": "data.transport.http.authentication.username",
528
+ "type": "zeebe:input"
270
529
  },
271
530
  "condition": {
272
531
  "allMatch": [
@@ -892,128 +1151,21 @@
892
1151
  "type": "simple"
893
1152
  },
894
1153
  "type": "Dropdown",
895
- "choices": [
896
- {
897
- "name": "List Tools",
898
- "value": "tools/list"
899
- },
900
- {
901
- "name": "Call Tool",
902
- "value": "tools/call"
903
- },
904
- {
905
- "name": "List Resources",
906
- "value": "resources/list"
907
- },
908
- {
909
- "name": "List Resource Templates",
910
- "value": "resources/templates/list"
911
- },
912
- {
913
- "name": "Read Resource",
914
- "value": "resources/read"
915
- },
916
- {
917
- "name": "List Prompts",
918
- "value": "prompts/list"
919
- },
920
- {
921
- "name": "Get Prompt",
922
- "value": "prompts/get"
923
- }
924
- ]
925
- },
926
- {
927
- "id": "data.connectorMode.operation.toolName",
928
- "label": "Tool name",
929
- "description": "The name of the tool to call.",
930
- "optional": false,
931
- "constraints": {
932
- "notEmpty": true
933
- },
934
- "feel": "optional",
935
- "group": "operation",
936
- "binding": {
937
- "name": "data.connectorMode.operation.toolName",
938
- "type": "zeebe:input"
939
- },
940
- "condition": {
941
- "allMatch": [
942
- {
943
- "property": "data.connectorMode.operation.type",
944
- "equals": "tools/call",
945
- "type": "simple"
946
- },
947
- {
948
- "property": "data.connectorMode.type",
949
- "equals": "standalone",
950
- "type": "simple"
951
- }
952
- ]
953
- },
954
- "type": "String"
955
- },
956
- {
957
- "id": "data.connectorMode.operation.toolArguments",
958
- "label": "Tool arguments",
959
- "description": "The arguments to pass to the tool.",
960
- "optional": true,
961
- "feel": "required",
962
- "group": "operation",
963
- "binding": {
964
- "name": "data.connectorMode.operation.toolArguments",
965
- "type": "zeebe:input"
966
- },
967
- "condition": {
968
- "allMatch": [
969
- {
970
- "property": "data.connectorMode.operation.type",
971
- "equals": "tools/call",
972
- "type": "simple"
973
- },
974
- {
975
- "property": "data.connectorMode.type",
976
- "equals": "standalone",
977
- "type": "simple"
978
- }
979
- ]
980
- },
981
- "type": "String"
982
- },
983
- {
984
- "id": "data.connectorMode.operation.resourceUri",
985
- "label": "Resource URI",
986
- "description": "The URI of the resource to read.",
987
- "optional": false,
988
- "constraints": {
989
- "notEmpty": true
990
- },
991
- "feel": "optional",
992
- "group": "operation",
993
- "binding": {
994
- "name": "data.connectorMode.operation.resourceUri",
995
- "type": "zeebe:input"
996
- },
997
- "condition": {
998
- "allMatch": [
999
- {
1000
- "property": "data.connectorMode.operation.type",
1001
- "equals": "resources/read",
1002
- "type": "simple"
1003
- },
1004
- {
1005
- "property": "data.connectorMode.type",
1006
- "equals": "standalone",
1007
- "type": "simple"
1008
- }
1009
- ]
1010
- },
1011
- "type": "String"
1154
+ "choices": [
1155
+ {
1156
+ "name": "Call Tool",
1157
+ "value": "tools/call"
1158
+ },
1159
+ {
1160
+ "name": "List Tools",
1161
+ "value": "tools/list"
1162
+ }
1163
+ ]
1012
1164
  },
1013
1165
  {
1014
- "id": "data.connectorMode.operation.promptName",
1015
- "label": "Prompt name",
1016
- "description": "The name of the prompt to get.",
1166
+ "id": "data.connectorMode.operation.toolName",
1167
+ "label": "Tool name",
1168
+ "description": "The name of the tool to call.",
1017
1169
  "optional": false,
1018
1170
  "constraints": {
1019
1171
  "notEmpty": true
@@ -1021,14 +1173,14 @@
1021
1173
  "feel": "optional",
1022
1174
  "group": "operation",
1023
1175
  "binding": {
1024
- "name": "data.connectorMode.operation.promptName",
1176
+ "name": "data.connectorMode.operation.toolName",
1025
1177
  "type": "zeebe:input"
1026
1178
  },
1027
1179
  "condition": {
1028
1180
  "allMatch": [
1029
1181
  {
1030
1182
  "property": "data.connectorMode.operation.type",
1031
- "equals": "prompts/get",
1183
+ "equals": "tools/call",
1032
1184
  "type": "simple"
1033
1185
  },
1034
1186
  {
@@ -1041,21 +1193,21 @@
1041
1193
  "type": "String"
1042
1194
  },
1043
1195
  {
1044
- "id": "data.connectorMode.operation.promptArguments",
1045
- "label": "Prompt arguments",
1046
- "description": "The arguments to pass to the prompt generation.",
1196
+ "id": "data.connectorMode.operation.toolArguments",
1197
+ "label": "Tool arguments",
1198
+ "description": "The arguments to pass to the tool.",
1047
1199
  "optional": true,
1048
1200
  "feel": "required",
1049
1201
  "group": "operation",
1050
1202
  "binding": {
1051
- "name": "data.connectorMode.operation.promptArguments",
1203
+ "name": "data.connectorMode.operation.toolArguments",
1052
1204
  "type": "zeebe:input"
1053
1205
  },
1054
1206
  "condition": {
1055
1207
  "allMatch": [
1056
1208
  {
1057
1209
  "property": "data.connectorMode.operation.type",
1058
- "equals": "prompts/get",
1210
+ "equals": "tools/call",
1059
1211
  "type": "simple"
1060
1212
  },
1061
1213
  {
@@ -1111,216 +1263,36 @@
1111
1263
  "type": "String"
1112
1264
  },
1113
1265
  {
1114
- "id": "data.connectorMode.standaloneModeFilters.tools.included",
1115
- "label": "Included tools",
1116
- "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1117
- "optional": true,
1118
- "feel": "required",
1119
- "group": "filters",
1120
- "binding": {
1121
- "name": "data.connectorMode.standaloneModeFilters.tools.included",
1122
- "type": "zeebe:input"
1123
- },
1124
- "condition": {
1125
- "allMatch": [
1126
- {
1127
- "property": "data.connectorMode.operation.type",
1128
- "oneOf": ["tools/call", "tools/list"],
1129
- "type": "simple"
1130
- },
1131
- {
1132
- "property": "data.connectorMode.type",
1133
- "equals": "standalone",
1134
- "type": "simple"
1135
- }
1136
- ]
1137
- },
1138
- "type": "Text"
1139
- },
1140
- {
1141
- "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
1142
- "label": "Excluded tools",
1143
- "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1144
- "optional": true,
1145
- "feel": "required",
1146
- "group": "filters",
1147
- "binding": {
1148
- "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
1149
- "type": "zeebe:input"
1150
- },
1151
- "condition": {
1152
- "allMatch": [
1153
- {
1154
- "property": "data.connectorMode.operation.type",
1155
- "oneOf": ["tools/call", "tools/list"],
1156
- "type": "simple"
1157
- },
1158
- {
1159
- "property": "data.connectorMode.type",
1160
- "equals": "standalone",
1161
- "type": "simple"
1162
- }
1163
- ]
1164
- },
1165
- "type": "Text"
1166
- },
1167
- {
1168
- "id": "data.connectorMode.standaloneModeFilters.resources.included",
1169
- "label": "Included resources",
1170
- "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
1171
- "optional": true,
1172
- "feel": "required",
1173
- "group": "filters",
1174
- "binding": {
1175
- "name": "data.connectorMode.standaloneModeFilters.resources.included",
1176
- "type": "zeebe:input"
1177
- },
1178
- "condition": {
1179
- "allMatch": [
1180
- {
1181
- "property": "data.connectorMode.operation.type",
1182
- "oneOf": [
1183
- "resources/read",
1184
- "resources/list",
1185
- "resources/templates/list"
1186
- ],
1187
- "type": "simple"
1188
- },
1189
- {
1190
- "property": "data.connectorMode.type",
1191
- "equals": "standalone",
1192
- "type": "simple"
1193
- }
1194
- ]
1195
- },
1196
- "type": "Text"
1197
- },
1198
- {
1199
- "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
1200
- "label": "Excluded resources",
1201
- "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
1202
- "optional": true,
1203
- "feel": "required",
1204
- "group": "filters",
1205
- "binding": {
1206
- "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
1207
- "type": "zeebe:input"
1208
- },
1209
- "condition": {
1210
- "allMatch": [
1211
- {
1212
- "property": "data.connectorMode.operation.type",
1213
- "oneOf": [
1214
- "resources/read",
1215
- "resources/list",
1216
- "resources/templates/list"
1217
- ],
1218
- "type": "simple"
1219
- },
1220
- {
1221
- "property": "data.connectorMode.type",
1222
- "equals": "standalone",
1223
- "type": "simple"
1224
- }
1225
- ]
1226
- },
1227
- "type": "Text"
1228
- },
1229
- {
1230
- "id": "data.connectorMode.standaloneModeFilters.prompts.included",
1231
- "label": "Included prompts",
1232
- "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
1233
- "optional": true,
1234
- "feel": "required",
1235
- "group": "filters",
1236
- "binding": {
1237
- "name": "data.connectorMode.standaloneModeFilters.prompts.included",
1238
- "type": "zeebe:input"
1239
- },
1240
- "condition": {
1241
- "allMatch": [
1242
- {
1243
- "property": "data.connectorMode.operation.type",
1244
- "oneOf": ["prompts/get", "prompts/list"],
1245
- "type": "simple"
1246
- },
1247
- {
1248
- "property": "data.connectorMode.type",
1249
- "equals": "standalone",
1250
- "type": "simple"
1251
- }
1252
- ]
1253
- },
1254
- "type": "Text"
1255
- },
1256
- {
1257
- "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
1258
- "label": "Excluded prompts",
1259
- "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
1260
- "optional": true,
1261
- "feel": "required",
1262
- "group": "filters",
1263
- "binding": {
1264
- "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
1265
- "type": "zeebe:input"
1266
- },
1267
- "condition": {
1268
- "allMatch": [
1269
- {
1270
- "property": "data.connectorMode.operation.type",
1271
- "oneOf": ["prompts/get", "prompts/list"],
1272
- "type": "simple"
1273
- },
1274
- {
1275
- "property": "data.connectorMode.type",
1276
- "equals": "standalone",
1277
- "type": "simple"
1278
- }
1279
- ]
1280
- },
1281
- "type": "Text"
1282
- },
1283
- {
1284
- "id": "data.connectorMode.toolModeFilters.tools.included",
1266
+ "id": "data.tools.included",
1285
1267
  "label": "Included tools",
1286
1268
  "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1287
1269
  "optional": true,
1288
1270
  "feel": "required",
1289
- "group": "filters",
1271
+ "group": "tools",
1290
1272
  "binding": {
1291
- "name": "data.connectorMode.toolModeFilters.tools.included",
1273
+ "name": "data.tools.included",
1292
1274
  "type": "zeebe:input"
1293
1275
  },
1294
- "condition": {
1295
- "property": "data.connectorMode.type",
1296
- "equals": "aiAgentTool",
1297
- "type": "simple"
1298
- },
1299
1276
  "type": "Text"
1300
1277
  },
1301
1278
  {
1302
- "id": "data.connectorMode.toolModeFilters.tools.excluded",
1279
+ "id": "data.tools.excluded",
1303
1280
  "label": "Excluded tools",
1304
1281
  "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1305
1282
  "optional": true,
1306
1283
  "feel": "required",
1307
- "group": "filters",
1284
+ "group": "tools",
1308
1285
  "binding": {
1309
- "name": "data.connectorMode.toolModeFilters.tools.excluded",
1286
+ "name": "data.tools.excluded",
1310
1287
  "type": "zeebe:input"
1311
1288
  },
1312
- "condition": {
1313
- "property": "data.connectorMode.type",
1314
- "equals": "aiAgentTool",
1315
- "type": "simple"
1316
- },
1317
1289
  "type": "Text"
1318
1290
  },
1319
1291
  {
1320
1292
  "id": "version",
1321
1293
  "label": "Version",
1322
1294
  "description": "Version of the element template",
1323
- "value": "2",
1295
+ "value": "1",
1324
1296
  "group": "connector",
1325
1297
  "binding": {
1326
1298
  "key": "elementTemplateVersion",
@@ -1343,7 +1315,7 @@
1343
1315
  {
1344
1316
  "id": "resultVariable",
1345
1317
  "label": "Result variable",
1346
- "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
1318
+ "description": "Name of variable to store the response in",
1347
1319
  "value": "toolCallResult",
1348
1320
  "group": "output",
1349
1321
  "binding": {
@@ -1355,7 +1327,7 @@
1355
1327
  {
1356
1328
  "id": "resultExpression",
1357
1329
  "label": "Result expression",
1358
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
1330
+ "description": "Expression to map the response into process variables",
1359
1331
  "feel": "required",
1360
1332
  "group": "output",
1361
1333
  "binding": {
@@ -1408,16 +1380,14 @@
1408
1380
  },
1409
1381
  {
1410
1382
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1411
- "name": "MCP Remote Client (early access)",
1383
+ "name": "MCP Remote Client",
1412
1384
  "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
1413
1385
  "description": "MCP (Model Context Protocol) client, operating on temporary remote connections.",
1414
- "metadata": {
1415
- "keywords": []
1416
- },
1417
- "version": 1,
1386
+ "documentationRef": "https://docs.camunda.io/docs/8.9/components/connectors/out-of-the-box-connectors/agentic-ai-mcp-remote-client-connector/",
1387
+ "version": 2,
1418
1388
  "category": {
1419
- "id": "connectors",
1420
- "name": "Connectors"
1389
+ "id": "aiTools",
1390
+ "name": "AI Tools"
1421
1391
  },
1422
1392
  "appliesTo": ["bpmn:Task"],
1423
1393
  "elementType": {
@@ -1450,8 +1420,8 @@
1450
1420
  "label": "Operation"
1451
1421
  },
1452
1422
  {
1453
- "id": "tools",
1454
- "label": "Tools",
1423
+ "id": "filters",
1424
+ "label": "Filters",
1455
1425
  "openByDefault": false
1456
1426
  },
1457
1427
  {
@@ -2303,12 +2273,32 @@
2303
2273
  "type": "Dropdown",
2304
2274
  "choices": [
2305
2275
  {
2306
- "name": "Call Tool",
2307
- "value": "tools/call"
2276
+ "name": "List Tools",
2277
+ "value": "tools/list"
2278
+ },
2279
+ {
2280
+ "name": "Call Tool",
2281
+ "value": "tools/call"
2282
+ },
2283
+ {
2284
+ "name": "List Resources",
2285
+ "value": "resources/list"
2286
+ },
2287
+ {
2288
+ "name": "List Resource Templates",
2289
+ "value": "resources/templates/list"
2290
+ },
2291
+ {
2292
+ "name": "Read Resource",
2293
+ "value": "resources/read"
2308
2294
  },
2309
2295
  {
2310
- "name": "List Tools",
2311
- "value": "tools/list"
2296
+ "name": "List Prompts",
2297
+ "value": "prompts/list"
2298
+ },
2299
+ {
2300
+ "name": "Get Prompt",
2301
+ "value": "prompts/get"
2312
2302
  }
2313
2303
  ]
2314
2304
  },
@@ -2370,336 +2360,346 @@
2370
2360
  "type": "String"
2371
2361
  },
2372
2362
  {
2373
- "id": "data.connectorMode.toolOperation.method",
2374
- "label": "Method",
2375
- "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
2363
+ "id": "data.connectorMode.operation.resourceUri",
2364
+ "label": "Resource URI",
2365
+ "description": "The URI of the resource to read.",
2376
2366
  "optional": false,
2377
- "value": "=toolCall.method",
2378
2367
  "constraints": {
2379
2368
  "notEmpty": true
2380
2369
  },
2381
2370
  "feel": "optional",
2382
2371
  "group": "operation",
2383
2372
  "binding": {
2384
- "name": "data.connectorMode.toolOperation.method",
2373
+ "name": "data.connectorMode.operation.resourceUri",
2385
2374
  "type": "zeebe:input"
2386
2375
  },
2387
2376
  "condition": {
2388
- "property": "data.connectorMode.type",
2389
- "equals": "aiAgentTool",
2390
- "type": "simple"
2377
+ "allMatch": [
2378
+ {
2379
+ "property": "data.connectorMode.operation.type",
2380
+ "equals": "resources/read",
2381
+ "type": "simple"
2382
+ },
2383
+ {
2384
+ "property": "data.connectorMode.type",
2385
+ "equals": "standalone",
2386
+ "type": "simple"
2387
+ }
2388
+ ]
2391
2389
  },
2392
- "tooltip": "The method to be called on the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server\">MCP specification</a> for a list of available methods.<br><br>Currently supported:<br><code>tools/list</code>, <code>tools/call</code>",
2393
2390
  "type": "String"
2394
2391
  },
2395
2392
  {
2396
- "id": "data.connectorMode.toolOperation.params",
2397
- "label": "Parameters",
2398
- "description": "The parameters to be passed to the MCP method.",
2399
- "optional": true,
2400
- "value": "=toolCall.params",
2401
- "feel": "required",
2393
+ "id": "data.connectorMode.operation.promptName",
2394
+ "label": "Prompt name",
2395
+ "description": "The name of the prompt to get.",
2396
+ "optional": false,
2397
+ "constraints": {
2398
+ "notEmpty": true
2399
+ },
2400
+ "feel": "optional",
2402
2401
  "group": "operation",
2403
2402
  "binding": {
2404
- "name": "data.connectorMode.toolOperation.params",
2403
+ "name": "data.connectorMode.operation.promptName",
2405
2404
  "type": "zeebe:input"
2406
2405
  },
2407
2406
  "condition": {
2408
- "property": "data.connectorMode.type",
2409
- "equals": "aiAgentTool",
2410
- "type": "simple"
2407
+ "allMatch": [
2408
+ {
2409
+ "property": "data.connectorMode.operation.type",
2410
+ "equals": "prompts/get",
2411
+ "type": "simple"
2412
+ },
2413
+ {
2414
+ "property": "data.connectorMode.type",
2415
+ "equals": "standalone",
2416
+ "type": "simple"
2417
+ }
2418
+ ]
2411
2419
  },
2412
- "tooltip": "The parameter structure depends on the method being called. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server/tools#calling-tools\">MCP specification</a> for an example of the parameters for the <code>tools/call</code> method.",
2413
2420
  "type": "String"
2414
2421
  },
2415
2422
  {
2416
- "id": "data.tools.included",
2417
- "label": "Included tools",
2418
- "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2419
- "optional": true,
2420
- "feel": "required",
2421
- "group": "tools",
2422
- "binding": {
2423
- "name": "data.tools.included",
2424
- "type": "zeebe:input"
2425
- },
2426
- "type": "Text"
2427
- },
2428
- {
2429
- "id": "data.tools.excluded",
2430
- "label": "Excluded tools",
2431
- "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2423
+ "id": "data.connectorMode.operation.promptArguments",
2424
+ "label": "Prompt arguments",
2425
+ "description": "The arguments to pass to the prompt generation.",
2432
2426
  "optional": true,
2433
2427
  "feel": "required",
2434
- "group": "tools",
2428
+ "group": "operation",
2435
2429
  "binding": {
2436
- "name": "data.tools.excluded",
2430
+ "name": "data.connectorMode.operation.promptArguments",
2437
2431
  "type": "zeebe:input"
2438
2432
  },
2439
- "type": "Text"
2440
- },
2441
- {
2442
- "id": "version",
2443
- "label": "Version",
2444
- "description": "Version of the element template",
2445
- "value": "1",
2446
- "group": "connector",
2447
- "binding": {
2448
- "key": "elementTemplateVersion",
2449
- "type": "zeebe:taskHeader"
2450
- },
2451
- "type": "Hidden"
2452
- },
2453
- {
2454
- "id": "id",
2455
- "label": "ID",
2456
- "description": "ID of the element template",
2457
- "value": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
2458
- "group": "connector",
2459
- "binding": {
2460
- "key": "elementTemplateId",
2461
- "type": "zeebe:taskHeader"
2462
- },
2463
- "type": "Hidden"
2464
- },
2465
- {
2466
- "id": "resultVariable",
2467
- "label": "Result variable",
2468
- "description": "Name of variable to store the response in",
2469
- "value": "toolCallResult",
2470
- "group": "output",
2471
- "binding": {
2472
- "key": "resultVariable",
2473
- "type": "zeebe:taskHeader"
2474
- },
2475
- "type": "String"
2476
- },
2477
- {
2478
- "id": "resultExpression",
2479
- "label": "Result expression",
2480
- "description": "Expression to map the response into process variables",
2481
- "feel": "required",
2482
- "group": "output",
2483
- "binding": {
2484
- "key": "resultExpression",
2485
- "type": "zeebe:taskHeader"
2486
- },
2487
- "type": "Text"
2488
- },
2489
- {
2490
- "id": "errorExpression",
2491
- "label": "Error expression",
2492
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2493
- "feel": "required",
2494
- "group": "error",
2495
- "binding": {
2496
- "key": "errorExpression",
2497
- "type": "zeebe:taskHeader"
2498
- },
2499
- "type": "Text"
2500
- },
2501
- {
2502
- "id": "retryCount",
2503
- "label": "Retries",
2504
- "description": "Number of retries",
2505
- "value": "3",
2506
- "feel": "optional",
2507
- "group": "retries",
2508
- "binding": {
2509
- "property": "retries",
2510
- "type": "zeebe:taskDefinition"
2511
- },
2512
- "type": "String"
2513
- },
2514
- {
2515
- "id": "retryBackoff",
2516
- "label": "Retry backoff",
2517
- "description": "ISO-8601 duration to wait between retries",
2518
- "value": "PT0S",
2519
- "group": "retries",
2520
- "binding": {
2521
- "key": "retryBackoff",
2522
- "type": "zeebe:taskHeader"
2523
- },
2524
- "type": "String"
2525
- }
2526
- ],
2527
- "icon": {
2528
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
2529
- }
2530
- },
2531
- {
2532
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2533
- "name": "MCP Remote Client (early access)",
2534
- "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
2535
- "description": "MCP (Model Context Protocol) client, operating on temporary remote connections. Only supports tool operations.",
2536
- "metadata": {
2537
- "keywords": []
2538
- },
2539
- "version": 0,
2540
- "category": {
2541
- "id": "connectors",
2542
- "name": "Connectors"
2543
- },
2544
- "appliesTo": ["bpmn:Task"],
2545
- "elementType": {
2546
- "value": "bpmn:ServiceTask"
2547
- },
2548
- "engines": {
2549
- "camunda": "^8.8"
2550
- },
2551
- "groups": [
2552
- {
2553
- "id": "connection",
2554
- "label": "HTTP Connection",
2555
- "tooltip": "Configure the HTTP/SSE connection to the remote MCP server. Setting authentication headers is not supported yet."
2556
- },
2557
- {
2558
- "id": "tools",
2559
- "label": "Tools"
2560
- },
2561
- {
2562
- "id": "operation",
2563
- "label": "Operation"
2564
- },
2565
- {
2566
- "id": "connector",
2567
- "label": "Connector"
2568
- },
2569
- {
2570
- "id": "output",
2571
- "label": "Output mapping"
2572
- },
2573
- {
2574
- "id": "error",
2575
- "label": "Error handling"
2576
- },
2577
- {
2578
- "id": "retries",
2579
- "label": "Retries"
2580
- }
2581
- ],
2582
- "properties": [
2583
- {
2584
- "value": "io.camunda.agenticai:mcpremoteclient:0",
2585
- "binding": {
2586
- "property": "type",
2587
- "type": "zeebe:taskDefinition"
2588
- },
2589
- "type": "Hidden"
2590
- },
2591
- {
2592
- "value": "mcpClient",
2593
- "binding": {
2594
- "name": "io.camunda.agenticai.gateway.type",
2595
- "type": "zeebe:property"
2433
+ "condition": {
2434
+ "allMatch": [
2435
+ {
2436
+ "property": "data.connectorMode.operation.type",
2437
+ "equals": "prompts/get",
2438
+ "type": "simple"
2439
+ },
2440
+ {
2441
+ "property": "data.connectorMode.type",
2442
+ "equals": "standalone",
2443
+ "type": "simple"
2444
+ }
2445
+ ]
2596
2446
  },
2597
- "type": "Hidden"
2447
+ "type": "String"
2598
2448
  },
2599
2449
  {
2600
- "id": "data.connection.sseUrl",
2601
- "label": "SSE URL",
2602
- "description": "SSE URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
2450
+ "id": "data.connectorMode.toolOperation.method",
2451
+ "label": "Method",
2452
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
2603
2453
  "optional": false,
2454
+ "value": "=toolCall.method",
2604
2455
  "constraints": {
2605
2456
  "notEmpty": true
2606
2457
  },
2607
2458
  "feel": "optional",
2608
- "group": "connection",
2459
+ "group": "operation",
2609
2460
  "binding": {
2610
- "name": "data.connection.sseUrl",
2461
+ "name": "data.connectorMode.toolOperation.method",
2611
2462
  "type": "zeebe:input"
2612
2463
  },
2464
+ "condition": {
2465
+ "property": "data.connectorMode.type",
2466
+ "equals": "aiAgentTool",
2467
+ "type": "simple"
2468
+ },
2469
+ "tooltip": "The method to be called on the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server\">MCP specification</a> for a list of available methods.<br><br>Currently supported:<br><code>tools/list</code>, <code>tools/call</code>",
2613
2470
  "type": "String"
2614
2471
  },
2615
2472
  {
2616
- "id": "data.connection.headers",
2617
- "label": "HTTP headers",
2618
- "description": "Map of HTTP headers to add to the request <strong>(NOT SUPPORTED YET)</strong>.",
2473
+ "id": "data.connectorMode.toolOperation.params",
2474
+ "label": "Parameters",
2475
+ "description": "The parameters to be passed to the MCP method.",
2619
2476
  "optional": true,
2620
- "group": "connection",
2477
+ "value": "=toolCall.params",
2478
+ "feel": "required",
2479
+ "group": "operation",
2621
2480
  "binding": {
2622
- "name": "data.connection.headers",
2481
+ "name": "data.connectorMode.toolOperation.params",
2623
2482
  "type": "zeebe:input"
2624
2483
  },
2625
- "type": "Hidden"
2484
+ "condition": {
2485
+ "property": "data.connectorMode.type",
2486
+ "equals": "aiAgentTool",
2487
+ "type": "simple"
2488
+ },
2489
+ "tooltip": "The parameter structure depends on the method being called. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server/tools#calling-tools\">MCP specification</a> for an example of the parameters for the <code>tools/call</code> method.",
2490
+ "type": "String"
2626
2491
  },
2627
2492
  {
2628
- "id": "data.connection.timeout",
2629
- "label": "Timeout",
2630
- "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
2493
+ "id": "data.connectorMode.standaloneModeFilters.tools.included",
2494
+ "label": "Included tools",
2495
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2631
2496
  "optional": true,
2632
- "group": "connection",
2497
+ "feel": "required",
2498
+ "group": "filters",
2633
2499
  "binding": {
2634
- "name": "data.connection.timeout",
2500
+ "name": "data.connectorMode.standaloneModeFilters.tools.included",
2635
2501
  "type": "zeebe:input"
2636
2502
  },
2637
- "type": "Hidden"
2503
+ "condition": {
2504
+ "allMatch": [
2505
+ {
2506
+ "property": "data.connectorMode.operation.type",
2507
+ "oneOf": ["tools/call", "tools/list"],
2508
+ "type": "simple"
2509
+ },
2510
+ {
2511
+ "property": "data.connectorMode.type",
2512
+ "equals": "standalone",
2513
+ "type": "simple"
2514
+ }
2515
+ ]
2516
+ },
2517
+ "type": "Text"
2638
2518
  },
2639
2519
  {
2640
- "id": "data.tools.included",
2641
- "label": "Included tools",
2642
- "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2520
+ "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
2521
+ "label": "Excluded tools",
2522
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2643
2523
  "optional": true,
2644
2524
  "feel": "required",
2645
- "group": "tools",
2525
+ "group": "filters",
2646
2526
  "binding": {
2647
- "name": "data.tools.included",
2527
+ "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
2648
2528
  "type": "zeebe:input"
2649
2529
  },
2530
+ "condition": {
2531
+ "allMatch": [
2532
+ {
2533
+ "property": "data.connectorMode.operation.type",
2534
+ "oneOf": ["tools/call", "tools/list"],
2535
+ "type": "simple"
2536
+ },
2537
+ {
2538
+ "property": "data.connectorMode.type",
2539
+ "equals": "standalone",
2540
+ "type": "simple"
2541
+ }
2542
+ ]
2543
+ },
2650
2544
  "type": "Text"
2651
2545
  },
2652
2546
  {
2653
- "id": "data.tools.excluded",
2654
- "label": "Excluded tools",
2655
- "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2547
+ "id": "data.connectorMode.standaloneModeFilters.resources.included",
2548
+ "label": "Included resources",
2549
+ "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
2656
2550
  "optional": true,
2657
2551
  "feel": "required",
2658
- "group": "tools",
2552
+ "group": "filters",
2659
2553
  "binding": {
2660
- "name": "data.tools.excluded",
2554
+ "name": "data.connectorMode.standaloneModeFilters.resources.included",
2661
2555
  "type": "zeebe:input"
2662
2556
  },
2557
+ "condition": {
2558
+ "allMatch": [
2559
+ {
2560
+ "property": "data.connectorMode.operation.type",
2561
+ "oneOf": [
2562
+ "resources/read",
2563
+ "resources/list",
2564
+ "resources/templates/list"
2565
+ ],
2566
+ "type": "simple"
2567
+ },
2568
+ {
2569
+ "property": "data.connectorMode.type",
2570
+ "equals": "standalone",
2571
+ "type": "simple"
2572
+ }
2573
+ ]
2574
+ },
2663
2575
  "type": "Text"
2664
2576
  },
2665
2577
  {
2666
- "id": "data.operation.method",
2667
- "label": "Method",
2668
- "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
2669
- "optional": false,
2670
- "value": "=toolCall.method",
2671
- "constraints": {
2672
- "notEmpty": true
2578
+ "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
2579
+ "label": "Excluded resources",
2580
+ "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
2581
+ "optional": true,
2582
+ "feel": "required",
2583
+ "group": "filters",
2584
+ "binding": {
2585
+ "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
2586
+ "type": "zeebe:input"
2673
2587
  },
2674
- "feel": "optional",
2675
- "group": "operation",
2588
+ "condition": {
2589
+ "allMatch": [
2590
+ {
2591
+ "property": "data.connectorMode.operation.type",
2592
+ "oneOf": [
2593
+ "resources/read",
2594
+ "resources/list",
2595
+ "resources/templates/list"
2596
+ ],
2597
+ "type": "simple"
2598
+ },
2599
+ {
2600
+ "property": "data.connectorMode.type",
2601
+ "equals": "standalone",
2602
+ "type": "simple"
2603
+ }
2604
+ ]
2605
+ },
2606
+ "type": "Text"
2607
+ },
2608
+ {
2609
+ "id": "data.connectorMode.standaloneModeFilters.prompts.included",
2610
+ "label": "Included prompts",
2611
+ "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
2612
+ "optional": true,
2613
+ "feel": "required",
2614
+ "group": "filters",
2676
2615
  "binding": {
2677
- "name": "data.operation.method",
2616
+ "name": "data.connectorMode.standaloneModeFilters.prompts.included",
2678
2617
  "type": "zeebe:input"
2679
2618
  },
2680
- "tooltip": "The method to be called on the MCP server. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server\">MCP specification</a> for a list of available methods.<br><br>Currently supported:<br><code>tools/list</code>, <code>tools/call</code>",
2681
- "type": "String"
2619
+ "condition": {
2620
+ "allMatch": [
2621
+ {
2622
+ "property": "data.connectorMode.operation.type",
2623
+ "oneOf": ["prompts/get", "prompts/list"],
2624
+ "type": "simple"
2625
+ },
2626
+ {
2627
+ "property": "data.connectorMode.type",
2628
+ "equals": "standalone",
2629
+ "type": "simple"
2630
+ }
2631
+ ]
2632
+ },
2633
+ "type": "Text"
2682
2634
  },
2683
2635
  {
2684
- "id": "data.operation.params",
2685
- "label": "Parameters",
2686
- "description": "The parameters to be passed to the MCP method.",
2636
+ "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
2637
+ "label": "Excluded prompts",
2638
+ "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
2687
2639
  "optional": true,
2688
- "value": "=toolCall.params",
2689
2640
  "feel": "required",
2690
- "group": "operation",
2641
+ "group": "filters",
2691
2642
  "binding": {
2692
- "name": "data.operation.params",
2643
+ "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
2693
2644
  "type": "zeebe:input"
2694
2645
  },
2695
- "tooltip": "The parameter structure depends on the method being called. See the <a href=\"https://modelcontextprotocol.io/specification/2024-11-05/server/tools#calling-tools\">MCP specification</a> for an example of the parameters for the <code>tools/call</code> method.",
2696
- "type": "String"
2646
+ "condition": {
2647
+ "allMatch": [
2648
+ {
2649
+ "property": "data.connectorMode.operation.type",
2650
+ "oneOf": ["prompts/get", "prompts/list"],
2651
+ "type": "simple"
2652
+ },
2653
+ {
2654
+ "property": "data.connectorMode.type",
2655
+ "equals": "standalone",
2656
+ "type": "simple"
2657
+ }
2658
+ ]
2659
+ },
2660
+ "type": "Text"
2661
+ },
2662
+ {
2663
+ "id": "data.connectorMode.toolModeFilters.tools.included",
2664
+ "label": "Included tools",
2665
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2666
+ "optional": true,
2667
+ "feel": "required",
2668
+ "group": "filters",
2669
+ "binding": {
2670
+ "name": "data.connectorMode.toolModeFilters.tools.included",
2671
+ "type": "zeebe:input"
2672
+ },
2673
+ "condition": {
2674
+ "property": "data.connectorMode.type",
2675
+ "equals": "aiAgentTool",
2676
+ "type": "simple"
2677
+ },
2678
+ "type": "Text"
2679
+ },
2680
+ {
2681
+ "id": "data.connectorMode.toolModeFilters.tools.excluded",
2682
+ "label": "Excluded tools",
2683
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2684
+ "optional": true,
2685
+ "feel": "required",
2686
+ "group": "filters",
2687
+ "binding": {
2688
+ "name": "data.connectorMode.toolModeFilters.tools.excluded",
2689
+ "type": "zeebe:input"
2690
+ },
2691
+ "condition": {
2692
+ "property": "data.connectorMode.type",
2693
+ "equals": "aiAgentTool",
2694
+ "type": "simple"
2695
+ },
2696
+ "type": "Text"
2697
2697
  },
2698
2698
  {
2699
2699
  "id": "version",
2700
2700
  "label": "Version",
2701
2701
  "description": "Version of the element template",
2702
- "value": "0",
2702
+ "value": "2",
2703
2703
  "group": "connector",
2704
2704
  "binding": {
2705
2705
  "key": "elementTemplateVersion",
@@ -2722,7 +2722,7 @@
2722
2722
  {
2723
2723
  "id": "resultVariable",
2724
2724
  "label": "Result variable",
2725
- "description": "Name of variable to store the response in",
2725
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
2726
2726
  "value": "toolCallResult",
2727
2727
  "group": "output",
2728
2728
  "binding": {
@@ -2734,7 +2734,7 @@
2734
2734
  {
2735
2735
  "id": "resultExpression",
2736
2736
  "label": "Result expression",
2737
- "description": "Expression to map the response into process variables",
2737
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
2738
2738
  "feel": "required",
2739
2739
  "group": "output",
2740
2740
  "binding": {