@camunda/connectors-element-templates 1.0.13 → 1.0.15

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.
@@ -1,4 +1,1126 @@
1
1
  [
2
+ {
3
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
+ "name": "MCP Remote Client (early access)",
5
+ "id": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
6
+ "description": "MCP (Model Context Protocol) client, operating on temporary remote connections.",
7
+ "metadata": {
8
+ "keywords": []
9
+ },
10
+ "version": 1,
11
+ "category": {
12
+ "id": "connectors",
13
+ "name": "Connectors"
14
+ },
15
+ "appliesTo": ["bpmn:Task"],
16
+ "elementType": {
17
+ "value": "bpmn:ServiceTask"
18
+ },
19
+ "engines": {
20
+ "camunda": "^8.9"
21
+ },
22
+ "groups": [
23
+ {
24
+ "id": "transport",
25
+ "label": "Transport",
26
+ "tooltip": "Configure the connection to the remote MCP server."
27
+ },
28
+ {
29
+ "id": "authentication",
30
+ "label": "Authentication"
31
+ },
32
+ {
33
+ "id": "options",
34
+ "label": "Options"
35
+ },
36
+ {
37
+ "id": "connectorMode",
38
+ "label": "Connector mode",
39
+ "tooltip": "Select how this connector is used. When the connector is used as an AI agent tool, select the AI Agent tool mode."
40
+ },
41
+ {
42
+ "id": "operation",
43
+ "label": "Operation"
44
+ },
45
+ {
46
+ "id": "tools",
47
+ "label": "Tools",
48
+ "openByDefault": false
49
+ },
50
+ {
51
+ "id": "connector",
52
+ "label": "Connector"
53
+ },
54
+ {
55
+ "id": "output",
56
+ "label": "Output mapping"
57
+ },
58
+ {
59
+ "id": "error",
60
+ "label": "Error handling"
61
+ },
62
+ {
63
+ "id": "retries",
64
+ "label": "Retries"
65
+ }
66
+ ],
67
+ "properties": [
68
+ {
69
+ "value": "io.camunda.agenticai:mcpremoteclient:1",
70
+ "binding": {
71
+ "property": "type",
72
+ "type": "zeebe:taskDefinition"
73
+ },
74
+ "type": "Hidden"
75
+ },
76
+ {
77
+ "value": "mcpClient",
78
+ "binding": {
79
+ "name": "io.camunda.agenticai.gateway.type",
80
+ "type": "zeebe:property"
81
+ },
82
+ "condition": {
83
+ "property": "data.connectorMode.type",
84
+ "equals": "aiAgentTool",
85
+ "type": "simple"
86
+ },
87
+ "type": "Hidden"
88
+ },
89
+ {
90
+ "id": "data.transport.type",
91
+ "label": "Type",
92
+ "description": "Specify the MCP transport type.",
93
+ "value": "http",
94
+ "group": "transport",
95
+ "binding": {
96
+ "name": "data.transport.type",
97
+ "type": "zeebe:input"
98
+ },
99
+ "type": "Dropdown",
100
+ "choices": [
101
+ {
102
+ "name": "Streamable HTTP",
103
+ "value": "http"
104
+ },
105
+ {
106
+ "name": "SSE",
107
+ "value": "sse"
108
+ }
109
+ ]
110
+ },
111
+ {
112
+ "id": "data.transport.http.url",
113
+ "label": "URL",
114
+ "description": "URL to connect to the MCP server. Typically ends with <code>/mcp</code>.",
115
+ "optional": false,
116
+ "constraints": {
117
+ "notEmpty": true
118
+ },
119
+ "feel": "optional",
120
+ "group": "transport",
121
+ "binding": {
122
+ "name": "data.transport.http.url",
123
+ "type": "zeebe:input"
124
+ },
125
+ "condition": {
126
+ "property": "data.transport.type",
127
+ "equals": "http",
128
+ "type": "simple"
129
+ },
130
+ "type": "String"
131
+ },
132
+ {
133
+ "id": "data.transport.http.headers",
134
+ "label": "HTTP headers",
135
+ "description": "Map of HTTP headers to add to the request.",
136
+ "optional": true,
137
+ "feel": "required",
138
+ "group": "transport",
139
+ "binding": {
140
+ "name": "data.transport.http.headers",
141
+ "type": "zeebe:input"
142
+ },
143
+ "condition": {
144
+ "property": "data.transport.type",
145
+ "equals": "http",
146
+ "type": "simple"
147
+ },
148
+ "type": "String"
149
+ },
150
+ {
151
+ "id": "data.transport.http.timeout",
152
+ "label": "Timeout",
153
+ "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
154
+ "optional": true,
155
+ "feel": "optional",
156
+ "group": "transport",
157
+ "binding": {
158
+ "name": "data.transport.http.timeout",
159
+ "type": "zeebe:input"
160
+ },
161
+ "condition": {
162
+ "property": "data.transport.type",
163
+ "equals": "http",
164
+ "type": "simple"
165
+ },
166
+ "type": "String"
167
+ },
168
+ {
169
+ "id": "data.transport.sse.url",
170
+ "label": "URL",
171
+ "description": "URL to connect to the MCP server. Typically ends with <code>/sse</code>.",
172
+ "optional": false,
173
+ "constraints": {
174
+ "notEmpty": true
175
+ },
176
+ "feel": "optional",
177
+ "group": "transport",
178
+ "binding": {
179
+ "name": "data.transport.sse.url",
180
+ "type": "zeebe:input"
181
+ },
182
+ "condition": {
183
+ "property": "data.transport.type",
184
+ "equals": "sse",
185
+ "type": "simple"
186
+ },
187
+ "type": "String"
188
+ },
189
+ {
190
+ "id": "data.transport.sse.headers",
191
+ "label": "HTTP headers",
192
+ "description": "Map of HTTP headers to add to the request.",
193
+ "optional": true,
194
+ "feel": "required",
195
+ "group": "transport",
196
+ "binding": {
197
+ "name": "data.transport.sse.headers",
198
+ "type": "zeebe:input"
199
+ },
200
+ "condition": {
201
+ "property": "data.transport.type",
202
+ "equals": "sse",
203
+ "type": "simple"
204
+ },
205
+ "type": "String"
206
+ },
207
+ {
208
+ "id": "data.transport.sse.timeout",
209
+ "label": "Timeout",
210
+ "description": "Timeout for individual HTTP requests as ISO-8601 duration (example: <code>PT30S</code>)",
211
+ "optional": true,
212
+ "feel": "optional",
213
+ "group": "transport",
214
+ "binding": {
215
+ "name": "data.transport.sse.timeout",
216
+ "type": "zeebe:input"
217
+ },
218
+ "condition": {
219
+ "property": "data.transport.type",
220
+ "equals": "sse",
221
+ "type": "simple"
222
+ },
223
+ "type": "String"
224
+ },
225
+ {
226
+ "id": "data.transport.http.authentication.type",
227
+ "label": "Type",
228
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
229
+ "value": "noAuth",
230
+ "group": "authentication",
231
+ "binding": {
232
+ "name": "data.transport.http.authentication.type",
233
+ "type": "zeebe:input"
234
+ },
235
+ "condition": {
236
+ "property": "data.transport.type",
237
+ "equals": "http",
238
+ "type": "simple"
239
+ },
240
+ "type": "Dropdown",
241
+ "choices": [
242
+ {
243
+ "name": "None",
244
+ "value": "noAuth"
245
+ },
246
+ {
247
+ "name": "Basic",
248
+ "value": "basic"
249
+ },
250
+ {
251
+ "name": "Bearer token",
252
+ "value": "bearer"
253
+ },
254
+ {
255
+ "name": "OAuth 2.0",
256
+ "value": "oauth-client-credentials-flow"
257
+ }
258
+ ]
259
+ },
260
+ {
261
+ "id": "data.transport.http.authentication.username",
262
+ "label": "Username",
263
+ "optional": false,
264
+ "constraints": {
265
+ "notEmpty": true
266
+ },
267
+ "feel": "optional",
268
+ "group": "authentication",
269
+ "binding": {
270
+ "name": "data.transport.http.authentication.username",
271
+ "type": "zeebe:input"
272
+ },
273
+ "condition": {
274
+ "allMatch": [
275
+ {
276
+ "property": "data.transport.http.authentication.type",
277
+ "equals": "basic",
278
+ "type": "simple"
279
+ },
280
+ {
281
+ "property": "data.transport.type",
282
+ "equals": "http",
283
+ "type": "simple"
284
+ }
285
+ ]
286
+ },
287
+ "type": "String"
288
+ },
289
+ {
290
+ "id": "data.transport.http.authentication.password",
291
+ "label": "Password",
292
+ "optional": false,
293
+ "constraints": {
294
+ "notEmpty": true
295
+ },
296
+ "feel": "optional",
297
+ "group": "authentication",
298
+ "binding": {
299
+ "name": "data.transport.http.authentication.password",
300
+ "type": "zeebe:input"
301
+ },
302
+ "condition": {
303
+ "allMatch": [
304
+ {
305
+ "property": "data.transport.http.authentication.type",
306
+ "equals": "basic",
307
+ "type": "simple"
308
+ },
309
+ {
310
+ "property": "data.transport.type",
311
+ "equals": "http",
312
+ "type": "simple"
313
+ }
314
+ ]
315
+ },
316
+ "type": "String"
317
+ },
318
+ {
319
+ "id": "data.transport.http.authentication.token",
320
+ "label": "Bearer token",
321
+ "optional": false,
322
+ "constraints": {
323
+ "notEmpty": true
324
+ },
325
+ "feel": "optional",
326
+ "group": "authentication",
327
+ "binding": {
328
+ "name": "data.transport.http.authentication.token",
329
+ "type": "zeebe:input"
330
+ },
331
+ "condition": {
332
+ "allMatch": [
333
+ {
334
+ "property": "data.transport.http.authentication.type",
335
+ "equals": "bearer",
336
+ "type": "simple"
337
+ },
338
+ {
339
+ "property": "data.transport.type",
340
+ "equals": "http",
341
+ "type": "simple"
342
+ }
343
+ ]
344
+ },
345
+ "type": "String"
346
+ },
347
+ {
348
+ "id": "data.transport.http.authentication.oauthTokenEndpoint",
349
+ "label": "OAuth 2.0 token endpoint",
350
+ "description": "The OAuth token endpoint",
351
+ "optional": false,
352
+ "constraints": {
353
+ "notEmpty": true,
354
+ "pattern": {
355
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
356
+ "message": "Must be a http(s) URL"
357
+ }
358
+ },
359
+ "feel": "optional",
360
+ "group": "authentication",
361
+ "binding": {
362
+ "name": "data.transport.http.authentication.oauthTokenEndpoint",
363
+ "type": "zeebe:input"
364
+ },
365
+ "condition": {
366
+ "allMatch": [
367
+ {
368
+ "property": "data.transport.http.authentication.type",
369
+ "equals": "oauth-client-credentials-flow",
370
+ "type": "simple"
371
+ },
372
+ {
373
+ "property": "data.transport.type",
374
+ "equals": "http",
375
+ "type": "simple"
376
+ }
377
+ ]
378
+ },
379
+ "type": "String"
380
+ },
381
+ {
382
+ "id": "data.transport.http.authentication.clientId",
383
+ "label": "Client ID",
384
+ "description": "Your application's client ID from the OAuth client",
385
+ "optional": false,
386
+ "constraints": {
387
+ "notEmpty": true
388
+ },
389
+ "feel": "optional",
390
+ "group": "authentication",
391
+ "binding": {
392
+ "name": "data.transport.http.authentication.clientId",
393
+ "type": "zeebe:input"
394
+ },
395
+ "condition": {
396
+ "allMatch": [
397
+ {
398
+ "property": "data.transport.http.authentication.type",
399
+ "equals": "oauth-client-credentials-flow",
400
+ "type": "simple"
401
+ },
402
+ {
403
+ "property": "data.transport.type",
404
+ "equals": "http",
405
+ "type": "simple"
406
+ }
407
+ ]
408
+ },
409
+ "type": "String"
410
+ },
411
+ {
412
+ "id": "data.transport.http.authentication.clientSecret",
413
+ "label": "Client secret",
414
+ "description": "Your application's client secret from the OAuth client",
415
+ "optional": false,
416
+ "constraints": {
417
+ "notEmpty": true
418
+ },
419
+ "feel": "optional",
420
+ "group": "authentication",
421
+ "binding": {
422
+ "name": "data.transport.http.authentication.clientSecret",
423
+ "type": "zeebe:input"
424
+ },
425
+ "condition": {
426
+ "allMatch": [
427
+ {
428
+ "property": "data.transport.http.authentication.type",
429
+ "equals": "oauth-client-credentials-flow",
430
+ "type": "simple"
431
+ },
432
+ {
433
+ "property": "data.transport.type",
434
+ "equals": "http",
435
+ "type": "simple"
436
+ }
437
+ ]
438
+ },
439
+ "type": "String"
440
+ },
441
+ {
442
+ "id": "data.transport.http.authentication.audience",
443
+ "label": "Audience",
444
+ "description": "The unique identifier of the target API you want to access",
445
+ "optional": true,
446
+ "feel": "optional",
447
+ "group": "authentication",
448
+ "binding": {
449
+ "name": "data.transport.http.authentication.audience",
450
+ "type": "zeebe:input"
451
+ },
452
+ "condition": {
453
+ "allMatch": [
454
+ {
455
+ "property": "data.transport.http.authentication.type",
456
+ "equals": "oauth-client-credentials-flow",
457
+ "type": "simple"
458
+ },
459
+ {
460
+ "property": "data.transport.type",
461
+ "equals": "http",
462
+ "type": "simple"
463
+ }
464
+ ]
465
+ },
466
+ "type": "String"
467
+ },
468
+ {
469
+ "id": "data.transport.http.authentication.clientAuthentication",
470
+ "label": "Client authentication",
471
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
472
+ "optional": false,
473
+ "value": "BASIC_AUTH_HEADER",
474
+ "constraints": {
475
+ "notEmpty": true
476
+ },
477
+ "group": "authentication",
478
+ "binding": {
479
+ "name": "data.transport.http.authentication.clientAuthentication",
480
+ "type": "zeebe:input"
481
+ },
482
+ "condition": {
483
+ "allMatch": [
484
+ {
485
+ "property": "data.transport.http.authentication.type",
486
+ "equals": "oauth-client-credentials-flow",
487
+ "type": "simple"
488
+ },
489
+ {
490
+ "property": "data.transport.type",
491
+ "equals": "http",
492
+ "type": "simple"
493
+ }
494
+ ]
495
+ },
496
+ "type": "Dropdown",
497
+ "choices": [
498
+ {
499
+ "name": "Send as Basic Auth header",
500
+ "value": "BASIC_AUTH_HEADER"
501
+ },
502
+ {
503
+ "name": "Send client credentials in body",
504
+ "value": "CREDENTIALS_BODY"
505
+ }
506
+ ]
507
+ },
508
+ {
509
+ "id": "data.transport.http.authentication.scopes",
510
+ "label": "Scopes",
511
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
512
+ "optional": true,
513
+ "feel": "optional",
514
+ "group": "authentication",
515
+ "binding": {
516
+ "name": "data.transport.http.authentication.scopes",
517
+ "type": "zeebe:input"
518
+ },
519
+ "condition": {
520
+ "allMatch": [
521
+ {
522
+ "property": "data.transport.http.authentication.type",
523
+ "equals": "oauth-client-credentials-flow",
524
+ "type": "simple"
525
+ },
526
+ {
527
+ "property": "data.transport.type",
528
+ "equals": "http",
529
+ "type": "simple"
530
+ }
531
+ ]
532
+ },
533
+ "type": "String"
534
+ },
535
+ {
536
+ "id": "data.transport.sse.authentication.type",
537
+ "label": "Type",
538
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
539
+ "value": "noAuth",
540
+ "group": "authentication",
541
+ "binding": {
542
+ "name": "data.transport.sse.authentication.type",
543
+ "type": "zeebe:input"
544
+ },
545
+ "condition": {
546
+ "property": "data.transport.type",
547
+ "equals": "sse",
548
+ "type": "simple"
549
+ },
550
+ "type": "Dropdown",
551
+ "choices": [
552
+ {
553
+ "name": "None",
554
+ "value": "noAuth"
555
+ },
556
+ {
557
+ "name": "Basic",
558
+ "value": "basic"
559
+ },
560
+ {
561
+ "name": "Bearer token",
562
+ "value": "bearer"
563
+ },
564
+ {
565
+ "name": "OAuth 2.0",
566
+ "value": "oauth-client-credentials-flow"
567
+ }
568
+ ]
569
+ },
570
+ {
571
+ "id": "data.transport.sse.authentication.username",
572
+ "label": "Username",
573
+ "optional": false,
574
+ "constraints": {
575
+ "notEmpty": true
576
+ },
577
+ "feel": "optional",
578
+ "group": "authentication",
579
+ "binding": {
580
+ "name": "data.transport.sse.authentication.username",
581
+ "type": "zeebe:input"
582
+ },
583
+ "condition": {
584
+ "allMatch": [
585
+ {
586
+ "property": "data.transport.sse.authentication.type",
587
+ "equals": "basic",
588
+ "type": "simple"
589
+ },
590
+ {
591
+ "property": "data.transport.type",
592
+ "equals": "sse",
593
+ "type": "simple"
594
+ }
595
+ ]
596
+ },
597
+ "type": "String"
598
+ },
599
+ {
600
+ "id": "data.transport.sse.authentication.password",
601
+ "label": "Password",
602
+ "optional": false,
603
+ "constraints": {
604
+ "notEmpty": true
605
+ },
606
+ "feel": "optional",
607
+ "group": "authentication",
608
+ "binding": {
609
+ "name": "data.transport.sse.authentication.password",
610
+ "type": "zeebe:input"
611
+ },
612
+ "condition": {
613
+ "allMatch": [
614
+ {
615
+ "property": "data.transport.sse.authentication.type",
616
+ "equals": "basic",
617
+ "type": "simple"
618
+ },
619
+ {
620
+ "property": "data.transport.type",
621
+ "equals": "sse",
622
+ "type": "simple"
623
+ }
624
+ ]
625
+ },
626
+ "type": "String"
627
+ },
628
+ {
629
+ "id": "data.transport.sse.authentication.token",
630
+ "label": "Bearer token",
631
+ "optional": false,
632
+ "constraints": {
633
+ "notEmpty": true
634
+ },
635
+ "feel": "optional",
636
+ "group": "authentication",
637
+ "binding": {
638
+ "name": "data.transport.sse.authentication.token",
639
+ "type": "zeebe:input"
640
+ },
641
+ "condition": {
642
+ "allMatch": [
643
+ {
644
+ "property": "data.transport.sse.authentication.type",
645
+ "equals": "bearer",
646
+ "type": "simple"
647
+ },
648
+ {
649
+ "property": "data.transport.type",
650
+ "equals": "sse",
651
+ "type": "simple"
652
+ }
653
+ ]
654
+ },
655
+ "type": "String"
656
+ },
657
+ {
658
+ "id": "data.transport.sse.authentication.oauthTokenEndpoint",
659
+ "label": "OAuth 2.0 token endpoint",
660
+ "description": "The OAuth token endpoint",
661
+ "optional": false,
662
+ "constraints": {
663
+ "notEmpty": true,
664
+ "pattern": {
665
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
666
+ "message": "Must be a http(s) URL"
667
+ }
668
+ },
669
+ "feel": "optional",
670
+ "group": "authentication",
671
+ "binding": {
672
+ "name": "data.transport.sse.authentication.oauthTokenEndpoint",
673
+ "type": "zeebe:input"
674
+ },
675
+ "condition": {
676
+ "allMatch": [
677
+ {
678
+ "property": "data.transport.sse.authentication.type",
679
+ "equals": "oauth-client-credentials-flow",
680
+ "type": "simple"
681
+ },
682
+ {
683
+ "property": "data.transport.type",
684
+ "equals": "sse",
685
+ "type": "simple"
686
+ }
687
+ ]
688
+ },
689
+ "type": "String"
690
+ },
691
+ {
692
+ "id": "data.transport.sse.authentication.clientId",
693
+ "label": "Client ID",
694
+ "description": "Your application's client ID from the OAuth client",
695
+ "optional": false,
696
+ "constraints": {
697
+ "notEmpty": true
698
+ },
699
+ "feel": "optional",
700
+ "group": "authentication",
701
+ "binding": {
702
+ "name": "data.transport.sse.authentication.clientId",
703
+ "type": "zeebe:input"
704
+ },
705
+ "condition": {
706
+ "allMatch": [
707
+ {
708
+ "property": "data.transport.sse.authentication.type",
709
+ "equals": "oauth-client-credentials-flow",
710
+ "type": "simple"
711
+ },
712
+ {
713
+ "property": "data.transport.type",
714
+ "equals": "sse",
715
+ "type": "simple"
716
+ }
717
+ ]
718
+ },
719
+ "type": "String"
720
+ },
721
+ {
722
+ "id": "data.transport.sse.authentication.clientSecret",
723
+ "label": "Client secret",
724
+ "description": "Your application's client secret from the OAuth client",
725
+ "optional": false,
726
+ "constraints": {
727
+ "notEmpty": true
728
+ },
729
+ "feel": "optional",
730
+ "group": "authentication",
731
+ "binding": {
732
+ "name": "data.transport.sse.authentication.clientSecret",
733
+ "type": "zeebe:input"
734
+ },
735
+ "condition": {
736
+ "allMatch": [
737
+ {
738
+ "property": "data.transport.sse.authentication.type",
739
+ "equals": "oauth-client-credentials-flow",
740
+ "type": "simple"
741
+ },
742
+ {
743
+ "property": "data.transport.type",
744
+ "equals": "sse",
745
+ "type": "simple"
746
+ }
747
+ ]
748
+ },
749
+ "type": "String"
750
+ },
751
+ {
752
+ "id": "data.transport.sse.authentication.audience",
753
+ "label": "Audience",
754
+ "description": "The unique identifier of the target API you want to access",
755
+ "optional": true,
756
+ "feel": "optional",
757
+ "group": "authentication",
758
+ "binding": {
759
+ "name": "data.transport.sse.authentication.audience",
760
+ "type": "zeebe:input"
761
+ },
762
+ "condition": {
763
+ "allMatch": [
764
+ {
765
+ "property": "data.transport.sse.authentication.type",
766
+ "equals": "oauth-client-credentials-flow",
767
+ "type": "simple"
768
+ },
769
+ {
770
+ "property": "data.transport.type",
771
+ "equals": "sse",
772
+ "type": "simple"
773
+ }
774
+ ]
775
+ },
776
+ "type": "String"
777
+ },
778
+ {
779
+ "id": "data.transport.sse.authentication.clientAuthentication",
780
+ "label": "Client authentication",
781
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
782
+ "optional": false,
783
+ "value": "BASIC_AUTH_HEADER",
784
+ "constraints": {
785
+ "notEmpty": true
786
+ },
787
+ "group": "authentication",
788
+ "binding": {
789
+ "name": "data.transport.sse.authentication.clientAuthentication",
790
+ "type": "zeebe:input"
791
+ },
792
+ "condition": {
793
+ "allMatch": [
794
+ {
795
+ "property": "data.transport.sse.authentication.type",
796
+ "equals": "oauth-client-credentials-flow",
797
+ "type": "simple"
798
+ },
799
+ {
800
+ "property": "data.transport.type",
801
+ "equals": "sse",
802
+ "type": "simple"
803
+ }
804
+ ]
805
+ },
806
+ "type": "Dropdown",
807
+ "choices": [
808
+ {
809
+ "name": "Send as Basic Auth header",
810
+ "value": "BASIC_AUTH_HEADER"
811
+ },
812
+ {
813
+ "name": "Send client credentials in body",
814
+ "value": "CREDENTIALS_BODY"
815
+ }
816
+ ]
817
+ },
818
+ {
819
+ "id": "data.transport.sse.authentication.scopes",
820
+ "label": "Scopes",
821
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
822
+ "optional": true,
823
+ "feel": "optional",
824
+ "group": "authentication",
825
+ "binding": {
826
+ "name": "data.transport.sse.authentication.scopes",
827
+ "type": "zeebe:input"
828
+ },
829
+ "condition": {
830
+ "allMatch": [
831
+ {
832
+ "property": "data.transport.sse.authentication.type",
833
+ "equals": "oauth-client-credentials-flow",
834
+ "type": "simple"
835
+ },
836
+ {
837
+ "property": "data.transport.type",
838
+ "equals": "sse",
839
+ "type": "simple"
840
+ }
841
+ ]
842
+ },
843
+ "type": "String"
844
+ },
845
+ {
846
+ "id": "data.options.clientCache",
847
+ "label": "Enable client caching",
848
+ "description": "If enabled, the MCP client instance is cached on the connector runtime and reused across requests.",
849
+ "optional": true,
850
+ "feel": "static",
851
+ "group": "options",
852
+ "binding": {
853
+ "name": "data.options.clientCache",
854
+ "type": "zeebe:input"
855
+ },
856
+ "tooltip": "Only enable this option if you are sure that the configuration or authentication details of this client will not change between invocations.<br>Caching the client instance can improve performance by reusing existing connections.",
857
+ "type": "Boolean"
858
+ },
859
+ {
860
+ "id": "data.connectorMode.type",
861
+ "label": "Connector mode",
862
+ "description": "Select how this connector is used.",
863
+ "value": "aiAgentTool",
864
+ "group": "connectorMode",
865
+ "binding": {
866
+ "name": "data.connectorMode.type",
867
+ "type": "zeebe:input"
868
+ },
869
+ "type": "Dropdown",
870
+ "choices": [
871
+ {
872
+ "name": "Standalone",
873
+ "value": "standalone"
874
+ },
875
+ {
876
+ "name": "AI Agent tool",
877
+ "value": "aiAgentTool"
878
+ }
879
+ ]
880
+ },
881
+ {
882
+ "id": "data.connectorMode.operation.type",
883
+ "label": "Operation",
884
+ "description": "The type of operation to perform.",
885
+ "value": "tools/list",
886
+ "group": "operation",
887
+ "binding": {
888
+ "name": "data.connectorMode.operation.type",
889
+ "type": "zeebe:input"
890
+ },
891
+ "condition": {
892
+ "property": "data.connectorMode.type",
893
+ "equals": "standalone",
894
+ "type": "simple"
895
+ },
896
+ "type": "Dropdown",
897
+ "choices": [
898
+ {
899
+ "name": "Call Tool",
900
+ "value": "tools/call"
901
+ },
902
+ {
903
+ "name": "List Tools",
904
+ "value": "tools/list"
905
+ }
906
+ ]
907
+ },
908
+ {
909
+ "id": "data.connectorMode.operation.toolName",
910
+ "label": "Tool name",
911
+ "description": "The name of the tool to call.",
912
+ "optional": false,
913
+ "constraints": {
914
+ "notEmpty": true
915
+ },
916
+ "feel": "optional",
917
+ "group": "operation",
918
+ "binding": {
919
+ "name": "data.connectorMode.operation.toolName",
920
+ "type": "zeebe:input"
921
+ },
922
+ "condition": {
923
+ "allMatch": [
924
+ {
925
+ "property": "data.connectorMode.operation.type",
926
+ "equals": "tools/call",
927
+ "type": "simple"
928
+ },
929
+ {
930
+ "property": "data.connectorMode.type",
931
+ "equals": "standalone",
932
+ "type": "simple"
933
+ }
934
+ ]
935
+ },
936
+ "type": "String"
937
+ },
938
+ {
939
+ "id": "data.connectorMode.operation.toolArguments",
940
+ "label": "Tool arguments",
941
+ "description": "The arguments to pass to the tool.",
942
+ "optional": true,
943
+ "feel": "required",
944
+ "group": "operation",
945
+ "binding": {
946
+ "name": "data.connectorMode.operation.toolArguments",
947
+ "type": "zeebe:input"
948
+ },
949
+ "condition": {
950
+ "allMatch": [
951
+ {
952
+ "property": "data.connectorMode.operation.type",
953
+ "equals": "tools/call",
954
+ "type": "simple"
955
+ },
956
+ {
957
+ "property": "data.connectorMode.type",
958
+ "equals": "standalone",
959
+ "type": "simple"
960
+ }
961
+ ]
962
+ },
963
+ "type": "String"
964
+ },
965
+ {
966
+ "id": "data.connectorMode.toolOperation.method",
967
+ "label": "Method",
968
+ "description": "The MCP method to be called, e.g. <code>tools/list</code>.",
969
+ "optional": false,
970
+ "value": "=toolCall.method",
971
+ "constraints": {
972
+ "notEmpty": true
973
+ },
974
+ "feel": "optional",
975
+ "group": "operation",
976
+ "binding": {
977
+ "name": "data.connectorMode.toolOperation.method",
978
+ "type": "zeebe:input"
979
+ },
980
+ "condition": {
981
+ "property": "data.connectorMode.type",
982
+ "equals": "aiAgentTool",
983
+ "type": "simple"
984
+ },
985
+ "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>",
986
+ "type": "String"
987
+ },
988
+ {
989
+ "id": "data.connectorMode.toolOperation.params",
990
+ "label": "Parameters",
991
+ "description": "The parameters to be passed to the MCP method.",
992
+ "optional": true,
993
+ "value": "=toolCall.params",
994
+ "feel": "required",
995
+ "group": "operation",
996
+ "binding": {
997
+ "name": "data.connectorMode.toolOperation.params",
998
+ "type": "zeebe:input"
999
+ },
1000
+ "condition": {
1001
+ "property": "data.connectorMode.type",
1002
+ "equals": "aiAgentTool",
1003
+ "type": "simple"
1004
+ },
1005
+ "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.",
1006
+ "type": "String"
1007
+ },
1008
+ {
1009
+ "id": "data.tools.included",
1010
+ "label": "Included tools",
1011
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1012
+ "optional": true,
1013
+ "feel": "required",
1014
+ "group": "tools",
1015
+ "binding": {
1016
+ "name": "data.tools.included",
1017
+ "type": "zeebe:input"
1018
+ },
1019
+ "type": "Text"
1020
+ },
1021
+ {
1022
+ "id": "data.tools.excluded",
1023
+ "label": "Excluded tools",
1024
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1025
+ "optional": true,
1026
+ "feel": "required",
1027
+ "group": "tools",
1028
+ "binding": {
1029
+ "name": "data.tools.excluded",
1030
+ "type": "zeebe:input"
1031
+ },
1032
+ "type": "Text"
1033
+ },
1034
+ {
1035
+ "id": "version",
1036
+ "label": "Version",
1037
+ "description": "Version of the element template",
1038
+ "value": "1",
1039
+ "group": "connector",
1040
+ "binding": {
1041
+ "key": "elementTemplateVersion",
1042
+ "type": "zeebe:taskHeader"
1043
+ },
1044
+ "type": "Hidden"
1045
+ },
1046
+ {
1047
+ "id": "id",
1048
+ "label": "ID",
1049
+ "description": "ID of the element template",
1050
+ "value": "io.camunda.connectors.agenticai.mcp.remoteclient.v0",
1051
+ "group": "connector",
1052
+ "binding": {
1053
+ "key": "elementTemplateId",
1054
+ "type": "zeebe:taskHeader"
1055
+ },
1056
+ "type": "Hidden"
1057
+ },
1058
+ {
1059
+ "id": "resultVariable",
1060
+ "label": "Result variable",
1061
+ "description": "Name of variable to store the response in",
1062
+ "value": "toolCallResult",
1063
+ "group": "output",
1064
+ "binding": {
1065
+ "key": "resultVariable",
1066
+ "type": "zeebe:taskHeader"
1067
+ },
1068
+ "type": "String"
1069
+ },
1070
+ {
1071
+ "id": "resultExpression",
1072
+ "label": "Result expression",
1073
+ "description": "Expression to map the response into process variables",
1074
+ "feel": "required",
1075
+ "group": "output",
1076
+ "binding": {
1077
+ "key": "resultExpression",
1078
+ "type": "zeebe:taskHeader"
1079
+ },
1080
+ "type": "Text"
1081
+ },
1082
+ {
1083
+ "id": "errorExpression",
1084
+ "label": "Error expression",
1085
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1086
+ "feel": "required",
1087
+ "group": "error",
1088
+ "binding": {
1089
+ "key": "errorExpression",
1090
+ "type": "zeebe:taskHeader"
1091
+ },
1092
+ "type": "Text"
1093
+ },
1094
+ {
1095
+ "id": "retryCount",
1096
+ "label": "Retries",
1097
+ "description": "Number of retries",
1098
+ "value": "3",
1099
+ "feel": "optional",
1100
+ "group": "retries",
1101
+ "binding": {
1102
+ "property": "retries",
1103
+ "type": "zeebe:taskDefinition"
1104
+ },
1105
+ "type": "String"
1106
+ },
1107
+ {
1108
+ "id": "retryBackoff",
1109
+ "label": "Retry backoff",
1110
+ "description": "ISO-8601 duration to wait between retries",
1111
+ "value": "PT0S",
1112
+ "group": "retries",
1113
+ "binding": {
1114
+ "key": "retryBackoff",
1115
+ "type": "zeebe:taskHeader"
1116
+ },
1117
+ "type": "String"
1118
+ }
1119
+ ],
1120
+ "icon": {
1121
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"
1122
+ }
1123
+ },
2
1124
  {
3
1125
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
1126
  "name": "MCP Remote Client (early access)",
@@ -264,7 +1386,7 @@
264
1386
  "metadata": {
265
1387
  "keywords": []
266
1388
  },
267
- "version": 1,
1389
+ "version": 2,
268
1390
  "category": {
269
1391
  "id": "connectors",
270
1392
  "name": "Connectors"
@@ -300,8 +1422,8 @@
300
1422
  "label": "Operation"
301
1423
  },
302
1424
  {
303
- "id": "tools",
304
- "label": "Tools",
1425
+ "id": "filters",
1426
+ "label": "Filters",
305
1427
  "openByDefault": false
306
1428
  },
307
1429
  {
@@ -1159,6 +2281,26 @@
1159
2281
  {
1160
2282
  "name": "Call Tool",
1161
2283
  "value": "tools/call"
2284
+ },
2285
+ {
2286
+ "name": "List Resources",
2287
+ "value": "resources/list"
2288
+ },
2289
+ {
2290
+ "name": "List Resource Templates",
2291
+ "value": "resources/templates/list"
2292
+ },
2293
+ {
2294
+ "name": "Read Resource",
2295
+ "value": "resources/read"
2296
+ },
2297
+ {
2298
+ "name": "List Prompts",
2299
+ "value": "prompts/list"
2300
+ },
2301
+ {
2302
+ "name": "Get Prompt",
2303
+ "value": "prompts/get"
1162
2304
  }
1163
2305
  ]
1164
2306
  },
@@ -1219,6 +2361,93 @@
1219
2361
  },
1220
2362
  "type": "String"
1221
2363
  },
2364
+ {
2365
+ "id": "data.connectorMode.operation.resourceUri",
2366
+ "label": "Resource URI",
2367
+ "description": "The URI of the resource to read.",
2368
+ "optional": false,
2369
+ "constraints": {
2370
+ "notEmpty": true
2371
+ },
2372
+ "feel": "optional",
2373
+ "group": "operation",
2374
+ "binding": {
2375
+ "name": "data.connectorMode.operation.resourceUri",
2376
+ "type": "zeebe:input"
2377
+ },
2378
+ "condition": {
2379
+ "allMatch": [
2380
+ {
2381
+ "property": "data.connectorMode.operation.type",
2382
+ "equals": "resources/read",
2383
+ "type": "simple"
2384
+ },
2385
+ {
2386
+ "property": "data.connectorMode.type",
2387
+ "equals": "standalone",
2388
+ "type": "simple"
2389
+ }
2390
+ ]
2391
+ },
2392
+ "type": "String"
2393
+ },
2394
+ {
2395
+ "id": "data.connectorMode.operation.promptName",
2396
+ "label": "Prompt name",
2397
+ "description": "The name of the prompt to get.",
2398
+ "optional": false,
2399
+ "constraints": {
2400
+ "notEmpty": true
2401
+ },
2402
+ "feel": "optional",
2403
+ "group": "operation",
2404
+ "binding": {
2405
+ "name": "data.connectorMode.operation.promptName",
2406
+ "type": "zeebe:input"
2407
+ },
2408
+ "condition": {
2409
+ "allMatch": [
2410
+ {
2411
+ "property": "data.connectorMode.operation.type",
2412
+ "equals": "prompts/get",
2413
+ "type": "simple"
2414
+ },
2415
+ {
2416
+ "property": "data.connectorMode.type",
2417
+ "equals": "standalone",
2418
+ "type": "simple"
2419
+ }
2420
+ ]
2421
+ },
2422
+ "type": "String"
2423
+ },
2424
+ {
2425
+ "id": "data.connectorMode.operation.promptArguments",
2426
+ "label": "Prompt arguments",
2427
+ "description": "The arguments to pass to the prompt generation.",
2428
+ "optional": true,
2429
+ "feel": "required",
2430
+ "group": "operation",
2431
+ "binding": {
2432
+ "name": "data.connectorMode.operation.promptArguments",
2433
+ "type": "zeebe:input"
2434
+ },
2435
+ "condition": {
2436
+ "allMatch": [
2437
+ {
2438
+ "property": "data.connectorMode.operation.type",
2439
+ "equals": "prompts/get",
2440
+ "type": "simple"
2441
+ },
2442
+ {
2443
+ "property": "data.connectorMode.type",
2444
+ "equals": "standalone",
2445
+ "type": "simple"
2446
+ }
2447
+ ]
2448
+ },
2449
+ "type": "String"
2450
+ },
1222
2451
  {
1223
2452
  "id": "data.connectorMode.toolOperation.method",
1224
2453
  "label": "Method",
@@ -1263,36 +2492,216 @@
1263
2492
  "type": "String"
1264
2493
  },
1265
2494
  {
1266
- "id": "data.tools.included",
2495
+ "id": "data.connectorMode.standaloneModeFilters.tools.included",
1267
2496
  "label": "Included tools",
1268
2497
  "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
1269
2498
  "optional": true,
1270
2499
  "feel": "required",
1271
- "group": "tools",
2500
+ "group": "filters",
1272
2501
  "binding": {
1273
- "name": "data.tools.included",
2502
+ "name": "data.connectorMode.standaloneModeFilters.tools.included",
1274
2503
  "type": "zeebe:input"
1275
2504
  },
2505
+ "condition": {
2506
+ "allMatch": [
2507
+ {
2508
+ "property": "data.connectorMode.operation.type",
2509
+ "oneOf": ["tools/call", "tools/list"],
2510
+ "type": "simple"
2511
+ },
2512
+ {
2513
+ "property": "data.connectorMode.type",
2514
+ "equals": "standalone",
2515
+ "type": "simple"
2516
+ }
2517
+ ]
2518
+ },
1276
2519
  "type": "Text"
1277
2520
  },
1278
2521
  {
1279
- "id": "data.tools.excluded",
2522
+ "id": "data.connectorMode.standaloneModeFilters.tools.excluded",
1280
2523
  "label": "Excluded tools",
1281
2524
  "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
1282
2525
  "optional": true,
1283
2526
  "feel": "required",
1284
- "group": "tools",
2527
+ "group": "filters",
1285
2528
  "binding": {
1286
- "name": "data.tools.excluded",
2529
+ "name": "data.connectorMode.standaloneModeFilters.tools.excluded",
1287
2530
  "type": "zeebe:input"
1288
2531
  },
2532
+ "condition": {
2533
+ "allMatch": [
2534
+ {
2535
+ "property": "data.connectorMode.operation.type",
2536
+ "oneOf": ["tools/call", "tools/list"],
2537
+ "type": "simple"
2538
+ },
2539
+ {
2540
+ "property": "data.connectorMode.type",
2541
+ "equals": "standalone",
2542
+ "type": "simple"
2543
+ }
2544
+ ]
2545
+ },
2546
+ "type": "Text"
2547
+ },
2548
+ {
2549
+ "id": "data.connectorMode.standaloneModeFilters.resources.included",
2550
+ "label": "Included resources",
2551
+ "description": "List of resources that can be accessed by the MCP client. By default, all resources are allowed.",
2552
+ "optional": true,
2553
+ "feel": "required",
2554
+ "group": "filters",
2555
+ "binding": {
2556
+ "name": "data.connectorMode.standaloneModeFilters.resources.included",
2557
+ "type": "zeebe:input"
2558
+ },
2559
+ "condition": {
2560
+ "allMatch": [
2561
+ {
2562
+ "property": "data.connectorMode.operation.type",
2563
+ "oneOf": [
2564
+ "resources/read",
2565
+ "resources/list",
2566
+ "resources/templates/list"
2567
+ ],
2568
+ "type": "simple"
2569
+ },
2570
+ {
2571
+ "property": "data.connectorMode.type",
2572
+ "equals": "standalone",
2573
+ "type": "simple"
2574
+ }
2575
+ ]
2576
+ },
2577
+ "type": "Text"
2578
+ },
2579
+ {
2580
+ "id": "data.connectorMode.standaloneModeFilters.resources.excluded",
2581
+ "label": "Excluded resources",
2582
+ "description": "List of resources that are not allowed to be accessed by the MCP client. Will override any included resources.",
2583
+ "optional": true,
2584
+ "feel": "required",
2585
+ "group": "filters",
2586
+ "binding": {
2587
+ "name": "data.connectorMode.standaloneModeFilters.resources.excluded",
2588
+ "type": "zeebe:input"
2589
+ },
2590
+ "condition": {
2591
+ "allMatch": [
2592
+ {
2593
+ "property": "data.connectorMode.operation.type",
2594
+ "oneOf": [
2595
+ "resources/read",
2596
+ "resources/list",
2597
+ "resources/templates/list"
2598
+ ],
2599
+ "type": "simple"
2600
+ },
2601
+ {
2602
+ "property": "data.connectorMode.type",
2603
+ "equals": "standalone",
2604
+ "type": "simple"
2605
+ }
2606
+ ]
2607
+ },
2608
+ "type": "Text"
2609
+ },
2610
+ {
2611
+ "id": "data.connectorMode.standaloneModeFilters.prompts.included",
2612
+ "label": "Included prompts",
2613
+ "description": "List of prompts that can be accessed by the MCP client. By default, all prompts are allowed.",
2614
+ "optional": true,
2615
+ "feel": "required",
2616
+ "group": "filters",
2617
+ "binding": {
2618
+ "name": "data.connectorMode.standaloneModeFilters.prompts.included",
2619
+ "type": "zeebe:input"
2620
+ },
2621
+ "condition": {
2622
+ "allMatch": [
2623
+ {
2624
+ "property": "data.connectorMode.operation.type",
2625
+ "oneOf": ["prompts/get", "prompts/list"],
2626
+ "type": "simple"
2627
+ },
2628
+ {
2629
+ "property": "data.connectorMode.type",
2630
+ "equals": "standalone",
2631
+ "type": "simple"
2632
+ }
2633
+ ]
2634
+ },
2635
+ "type": "Text"
2636
+ },
2637
+ {
2638
+ "id": "data.connectorMode.standaloneModeFilters.prompts.excluded",
2639
+ "label": "Excluded prompts",
2640
+ "description": "List of prompts that are not allowed to be accessed by the MCP client. Will override any included prompts.",
2641
+ "optional": true,
2642
+ "feel": "required",
2643
+ "group": "filters",
2644
+ "binding": {
2645
+ "name": "data.connectorMode.standaloneModeFilters.prompts.excluded",
2646
+ "type": "zeebe:input"
2647
+ },
2648
+ "condition": {
2649
+ "allMatch": [
2650
+ {
2651
+ "property": "data.connectorMode.operation.type",
2652
+ "oneOf": ["prompts/get", "prompts/list"],
2653
+ "type": "simple"
2654
+ },
2655
+ {
2656
+ "property": "data.connectorMode.type",
2657
+ "equals": "standalone",
2658
+ "type": "simple"
2659
+ }
2660
+ ]
2661
+ },
2662
+ "type": "Text"
2663
+ },
2664
+ {
2665
+ "id": "data.connectorMode.toolModeFilters.tools.included",
2666
+ "label": "Included tools",
2667
+ "description": "List of tools that can be used by the MCP client. By default, all tools are allowed.",
2668
+ "optional": true,
2669
+ "feel": "required",
2670
+ "group": "filters",
2671
+ "binding": {
2672
+ "name": "data.connectorMode.toolModeFilters.tools.included",
2673
+ "type": "zeebe:input"
2674
+ },
2675
+ "condition": {
2676
+ "property": "data.connectorMode.type",
2677
+ "equals": "aiAgentTool",
2678
+ "type": "simple"
2679
+ },
2680
+ "type": "Text"
2681
+ },
2682
+ {
2683
+ "id": "data.connectorMode.toolModeFilters.tools.excluded",
2684
+ "label": "Excluded tools",
2685
+ "description": "List of tools that are not allowed to be used by the MCP client. Will override any included tools.",
2686
+ "optional": true,
2687
+ "feel": "required",
2688
+ "group": "filters",
2689
+ "binding": {
2690
+ "name": "data.connectorMode.toolModeFilters.tools.excluded",
2691
+ "type": "zeebe:input"
2692
+ },
2693
+ "condition": {
2694
+ "property": "data.connectorMode.type",
2695
+ "equals": "aiAgentTool",
2696
+ "type": "simple"
2697
+ },
1289
2698
  "type": "Text"
1290
2699
  },
1291
2700
  {
1292
2701
  "id": "version",
1293
2702
  "label": "Version",
1294
2703
  "description": "Version of the element template",
1295
- "value": "1",
2704
+ "value": "2",
1296
2705
  "group": "connector",
1297
2706
  "binding": {
1298
2707
  "key": "elementTemplateVersion",