@camunda/connectors-element-templates 1.0.10 → 1.0.12

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,15 +1,14 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "AI Agent",
4
+ "name": "AI Agent Task",
5
5
  "id": "io.camunda.connectors.agenticai.aiagent.v1",
6
- "description": "Provides a generic AI agent implementation handling the feedback loop between user requests, tool calls and LLM responses. Compatible with 8.8.0-alpha6 or later.",
6
+ "description": "Execute a single AI-powered action with tool calling capabilities",
7
7
  "metadata": {
8
- "keywords": []
8
+ "keywords": ["AI", "AI Agent", "agentic orchestration"]
9
9
  },
10
10
  "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
11
- "version": 1,
12
- "deprecated": true,
11
+ "version": 5,
13
12
  "category": {
14
13
  "id": "connectors",
15
14
  "name": "Connectors"
@@ -64,7 +63,7 @@
64
63
  {
65
64
  "id": "response",
66
65
  "label": "Response",
67
- "tooltip": "Configuration of the model response format and how to map the model response to the connector result.<br><br>Depending on the selection, the model response will be available as <code>response.responseText</code> or <code>response.responseJson</code>.<br><br>See <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\">documentation</a> for details.",
66
+ "tooltip": "Configuration of the model response format and how to map the model response to the connector result.<br><br>Depending on the selection, the model response will be available as <code>response.responseText</code> or <code>response.responseJson</code>.<br><br>See <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/#response\">documentation</a> for details.",
68
67
  "openByDefault": false
69
68
  },
70
69
  {
@@ -113,17 +112,30 @@
113
112
  "name": "AWS Bedrock",
114
113
  "value": "bedrock"
115
114
  },
115
+ {
116
+ "name": "Azure OpenAI",
117
+ "value": "azureOpenAi"
118
+ },
119
+ {
120
+ "name": "Google Vertex AI",
121
+ "value": "google-vertex-ai"
122
+ },
116
123
  {
117
124
  "name": "OpenAI",
118
125
  "value": "openai"
126
+ },
127
+ {
128
+ "name": "OpenAI Compatible",
129
+ "value": "openaiCompatible"
119
130
  }
120
131
  ]
121
132
  },
122
133
  {
123
134
  "id": "provider.anthropic.endpoint",
124
135
  "label": "Endpoint",
125
- "description": "Specify endpoint if need to use a custom API endpoint",
136
+ "description": "Optional custom API endpoint",
126
137
  "optional": true,
138
+ "feel": "optional",
127
139
  "group": "provider",
128
140
  "binding": {
129
141
  "name": "provider.anthropic.endpoint",
@@ -134,7 +146,7 @@
134
146
  "equals": "anthropic",
135
147
  "type": "simple"
136
148
  },
137
- "type": "Hidden"
149
+ "type": "String"
138
150
  },
139
151
  {
140
152
  "id": "provider.anthropic.authentication.apiKey",
@@ -180,8 +192,9 @@
180
192
  {
181
193
  "id": "provider.bedrock.endpoint",
182
194
  "label": "Endpoint",
183
- "description": "Specify endpoint if need to use a custom API endpoint",
195
+ "description": "Optional custom API endpoint",
184
196
  "optional": true,
197
+ "feel": "optional",
185
198
  "group": "provider",
186
199
  "binding": {
187
200
  "name": "provider.bedrock.endpoint",
@@ -192,7 +205,7 @@
192
205
  "equals": "bedrock",
193
206
  "type": "simple"
194
207
  },
195
- "type": "Hidden"
208
+ "type": "String"
196
209
  },
197
210
  {
198
211
  "id": "provider.bedrock.authentication.type",
@@ -211,13 +224,13 @@
211
224
  },
212
225
  "type": "Dropdown",
213
226
  "choices": [
214
- {
215
- "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
216
- "value": "defaultCredentialsChain"
217
- },
218
227
  {
219
228
  "name": "Credentials",
220
229
  "value": "credentials"
230
+ },
231
+ {
232
+ "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
233
+ "value": "defaultCredentialsChain"
221
234
  }
222
235
  ]
223
236
  },
@@ -282,8 +295,9 @@
282
295
  "type": "String"
283
296
  },
284
297
  {
285
- "id": "provider.openai.authentication.apiKey",
286
- "label": "OpenAI API key",
298
+ "id": "provider.azureOpenAi.endpoint",
299
+ "label": "Endpoint",
300
+ "description": "Specify Azure OpenAI endpoint. Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference\" target=\"_blank\">documentation</a>.",
287
301
  "optional": false,
288
302
  "constraints": {
289
303
  "notEmpty": true
@@ -291,261 +305,3440 @@
291
305
  "feel": "optional",
292
306
  "group": "provider",
293
307
  "binding": {
294
- "name": "provider.openai.authentication.apiKey",
308
+ "name": "provider.azureOpenAi.endpoint",
295
309
  "type": "zeebe:input"
296
310
  },
297
311
  "condition": {
298
312
  "property": "provider.type",
299
- "equals": "openai",
313
+ "equals": "azureOpenAi",
300
314
  "type": "simple"
301
315
  },
302
316
  "type": "String"
303
317
  },
304
318
  {
305
- "id": "provider.openai.authentication.organizationId",
306
- "label": "Organization ID",
307
- "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
308
- "optional": true,
309
- "feel": "optional",
319
+ "id": "provider.azureOpenAi.authentication.type",
320
+ "label": "Authentication",
321
+ "description": "Specify the Azure OpenAI authentication strategy.",
322
+ "value": "apiKey",
310
323
  "group": "provider",
311
324
  "binding": {
312
- "name": "provider.openai.authentication.organizationId",
325
+ "name": "provider.azureOpenAi.authentication.type",
313
326
  "type": "zeebe:input"
314
327
  },
315
328
  "condition": {
316
329
  "property": "provider.type",
317
- "equals": "openai",
330
+ "equals": "azureOpenAi",
318
331
  "type": "simple"
319
332
  },
333
+ "type": "Dropdown",
334
+ "choices": [
335
+ {
336
+ "name": "API key",
337
+ "value": "apiKey"
338
+ },
339
+ {
340
+ "name": "Client credentials",
341
+ "value": "clientCredentials"
342
+ }
343
+ ]
344
+ },
345
+ {
346
+ "id": "provider.azureOpenAi.authentication.apiKey",
347
+ "label": "API key",
348
+ "optional": false,
349
+ "constraints": {
350
+ "notEmpty": true
351
+ },
352
+ "feel": "optional",
353
+ "group": "provider",
354
+ "binding": {
355
+ "name": "provider.azureOpenAi.authentication.apiKey",
356
+ "type": "zeebe:input"
357
+ },
358
+ "condition": {
359
+ "allMatch": [
360
+ {
361
+ "property": "provider.azureOpenAi.authentication.type",
362
+ "equals": "apiKey",
363
+ "type": "simple"
364
+ },
365
+ {
366
+ "property": "provider.type",
367
+ "equals": "azureOpenAi",
368
+ "type": "simple"
369
+ }
370
+ ]
371
+ },
320
372
  "type": "String"
321
373
  },
322
374
  {
323
- "id": "provider.openai.authentication.projectId",
324
- "label": "Project ID",
325
- "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
375
+ "id": "provider.azureOpenAi.authentication.clientId",
376
+ "label": "Client ID",
377
+ "description": "ID of a Microsoft Entra application",
378
+ "optional": false,
379
+ "constraints": {
380
+ "notEmpty": true
381
+ },
382
+ "feel": "optional",
383
+ "group": "provider",
384
+ "binding": {
385
+ "name": "provider.azureOpenAi.authentication.clientId",
386
+ "type": "zeebe:input"
387
+ },
388
+ "condition": {
389
+ "allMatch": [
390
+ {
391
+ "property": "provider.azureOpenAi.authentication.type",
392
+ "equals": "clientCredentials",
393
+ "type": "simple"
394
+ },
395
+ {
396
+ "property": "provider.type",
397
+ "equals": "azureOpenAi",
398
+ "type": "simple"
399
+ }
400
+ ]
401
+ },
402
+ "type": "String"
403
+ },
404
+ {
405
+ "id": "provider.azureOpenAi.authentication.clientSecret",
406
+ "label": "Client secret",
407
+ "description": "Secret of a Microsoft Entra application",
408
+ "optional": false,
409
+ "constraints": {
410
+ "notEmpty": true
411
+ },
412
+ "feel": "optional",
413
+ "group": "provider",
414
+ "binding": {
415
+ "name": "provider.azureOpenAi.authentication.clientSecret",
416
+ "type": "zeebe:input"
417
+ },
418
+ "condition": {
419
+ "allMatch": [
420
+ {
421
+ "property": "provider.azureOpenAi.authentication.type",
422
+ "equals": "clientCredentials",
423
+ "type": "simple"
424
+ },
425
+ {
426
+ "property": "provider.type",
427
+ "equals": "azureOpenAi",
428
+ "type": "simple"
429
+ }
430
+ ]
431
+ },
432
+ "type": "String"
433
+ },
434
+ {
435
+ "id": "provider.azureOpenAi.authentication.tenantId",
436
+ "label": "Tenant ID",
437
+ "description": "ID of a Microsoft Entra tenant. Details in the <a href=\"https://learn.microsoft.com/en-us/entra/fundamentals/how-to-find-tenant\" target=\"_blank\">documentation</a>.",
438
+ "optional": false,
439
+ "constraints": {
440
+ "notEmpty": true
441
+ },
442
+ "feel": "optional",
443
+ "group": "provider",
444
+ "binding": {
445
+ "name": "provider.azureOpenAi.authentication.tenantId",
446
+ "type": "zeebe:input"
447
+ },
448
+ "condition": {
449
+ "allMatch": [
450
+ {
451
+ "property": "provider.azureOpenAi.authentication.type",
452
+ "equals": "clientCredentials",
453
+ "type": "simple"
454
+ },
455
+ {
456
+ "property": "provider.type",
457
+ "equals": "azureOpenAi",
458
+ "type": "simple"
459
+ }
460
+ ]
461
+ },
462
+ "type": "String"
463
+ },
464
+ {
465
+ "id": "provider.azureOpenAi.authentication.authorityHost",
466
+ "label": "Authority host",
467
+ "description": "Authority host URL for the Microsoft Entra application. Defaults to <code>https://login.microsoftonline.com</code>. This can also contain an OAuth 2.0 token endpoint.",
326
468
  "optional": true,
327
469
  "feel": "optional",
328
470
  "group": "provider",
329
471
  "binding": {
330
- "name": "provider.openai.authentication.projectId",
472
+ "name": "provider.azureOpenAi.authentication.authorityHost",
473
+ "type": "zeebe:input"
474
+ },
475
+ "condition": {
476
+ "allMatch": [
477
+ {
478
+ "property": "provider.azureOpenAi.authentication.type",
479
+ "equals": "clientCredentials",
480
+ "type": "simple"
481
+ },
482
+ {
483
+ "property": "provider.type",
484
+ "equals": "azureOpenAi",
485
+ "type": "simple"
486
+ }
487
+ ]
488
+ },
489
+ "type": "String"
490
+ },
491
+ {
492
+ "id": "provider.googleVertexAi.projectId",
493
+ "label": "Project ID",
494
+ "description": "Specify Google Cloud project ID",
495
+ "optional": false,
496
+ "constraints": {
497
+ "notEmpty": true
498
+ },
499
+ "feel": "optional",
500
+ "group": "provider",
501
+ "binding": {
502
+ "name": "provider.googleVertexAi.projectId",
331
503
  "type": "zeebe:input"
332
504
  },
333
505
  "condition": {
334
506
  "property": "provider.type",
335
- "equals": "openai",
507
+ "equals": "google-vertex-ai",
336
508
  "type": "simple"
337
509
  },
338
510
  "type": "String"
339
511
  },
340
512
  {
341
- "id": "provider.openai.endpoint",
342
- "label": "Custom API endpoint",
343
- "description": "Optional custom API endpoint.",
344
- "optional": true,
513
+ "id": "provider.googleVertexAi.region",
514
+ "label": "Region",
515
+ "description": "Specify the region where AI inference should take place",
516
+ "optional": false,
517
+ "constraints": {
518
+ "notEmpty": true
519
+ },
345
520
  "feel": "optional",
346
521
  "group": "provider",
347
522
  "binding": {
348
- "name": "provider.openai.endpoint",
523
+ "name": "provider.googleVertexAi.region",
349
524
  "type": "zeebe:input"
350
525
  },
351
526
  "condition": {
352
527
  "property": "provider.type",
353
- "equals": "openai",
528
+ "equals": "google-vertex-ai",
354
529
  "type": "simple"
355
530
  },
356
- "tooltip": "Configure a custom OpenAI compatible API endpoint to use the connector with an OpenAI compatible API. Typically ends in <code>/v1</code>.",
357
531
  "type": "String"
358
532
  },
359
533
  {
360
- "id": "provider.openai.headers",
361
- "label": "Custom headers",
362
- "description": "Map of custom HTTP headers to add to the request.",
534
+ "id": "provider.googleVertexAi.authentication.type",
535
+ "label": "Authentication",
536
+ "description": "Specify the Google Vertex AI authentication strategy.",
537
+ "value": "serviceAccountCredentials",
538
+ "group": "provider",
539
+ "binding": {
540
+ "name": "provider.googleVertexAi.authentication.type",
541
+ "type": "zeebe:input"
542
+ },
543
+ "condition": {
544
+ "property": "provider.type",
545
+ "equals": "google-vertex-ai",
546
+ "type": "simple"
547
+ },
548
+ "type": "Dropdown",
549
+ "choices": [
550
+ {
551
+ "name": "Service account credentials",
552
+ "value": "serviceAccountCredentials"
553
+ },
554
+ {
555
+ "name": "Application default credentials (Hybrid/Self-Managed only)",
556
+ "value": "applicationDefaultCredentials"
557
+ }
558
+ ]
559
+ },
560
+ {
561
+ "id": "provider.googleVertexAi.authentication.jsonKey",
562
+ "label": "JSON key of the service account",
563
+ "description": "This is the key of the service account in JSON format.",
564
+ "optional": false,
565
+ "constraints": {
566
+ "notEmpty": true
567
+ },
568
+ "feel": "optional",
569
+ "group": "provider",
570
+ "binding": {
571
+ "name": "provider.googleVertexAi.authentication.jsonKey",
572
+ "type": "zeebe:input"
573
+ },
574
+ "condition": {
575
+ "allMatch": [
576
+ {
577
+ "property": "provider.googleVertexAi.authentication.type",
578
+ "equals": "serviceAccountCredentials",
579
+ "type": "simple"
580
+ },
581
+ {
582
+ "property": "provider.type",
583
+ "equals": "google-vertex-ai",
584
+ "type": "simple"
585
+ }
586
+ ]
587
+ },
588
+ "type": "String"
589
+ },
590
+ {
591
+ "id": "provider.openai.authentication.apiKey",
592
+ "label": "OpenAI API key",
593
+ "optional": false,
594
+ "constraints": {
595
+ "notEmpty": true
596
+ },
597
+ "feel": "optional",
598
+ "group": "provider",
599
+ "binding": {
600
+ "name": "provider.openai.authentication.apiKey",
601
+ "type": "zeebe:input"
602
+ },
603
+ "condition": {
604
+ "property": "provider.type",
605
+ "equals": "openai",
606
+ "type": "simple"
607
+ },
608
+ "type": "String"
609
+ },
610
+ {
611
+ "id": "provider.openai.authentication.organizationId",
612
+ "label": "Organization ID",
613
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
614
+ "optional": true,
615
+ "feel": "optional",
616
+ "group": "provider",
617
+ "binding": {
618
+ "name": "provider.openai.authentication.organizationId",
619
+ "type": "zeebe:input"
620
+ },
621
+ "condition": {
622
+ "property": "provider.type",
623
+ "equals": "openai",
624
+ "type": "simple"
625
+ },
626
+ "type": "String"
627
+ },
628
+ {
629
+ "id": "provider.openai.authentication.projectId",
630
+ "label": "Project ID",
631
+ "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
632
+ "optional": true,
633
+ "feel": "optional",
634
+ "group": "provider",
635
+ "binding": {
636
+ "name": "provider.openai.authentication.projectId",
637
+ "type": "zeebe:input"
638
+ },
639
+ "condition": {
640
+ "property": "provider.type",
641
+ "equals": "openai",
642
+ "type": "simple"
643
+ },
644
+ "type": "String"
645
+ },
646
+ {
647
+ "id": "provider.openaiCompatible.endpoint",
648
+ "label": "API endpoint",
649
+ "optional": false,
650
+ "constraints": {
651
+ "notEmpty": true
652
+ },
653
+ "feel": "optional",
654
+ "group": "provider",
655
+ "binding": {
656
+ "name": "provider.openaiCompatible.endpoint",
657
+ "type": "zeebe:input"
658
+ },
659
+ "condition": {
660
+ "property": "provider.type",
661
+ "equals": "openaiCompatible",
662
+ "type": "simple"
663
+ },
664
+ "tooltip": "Specify an endpoint to use the connector with an OpenAI compatible API. ",
665
+ "type": "String"
666
+ },
667
+ {
668
+ "id": "provider.openaiCompatible.authentication.apiKey",
669
+ "label": "API key",
670
+ "optional": true,
671
+ "feel": "optional",
672
+ "group": "provider",
673
+ "binding": {
674
+ "name": "provider.openaiCompatible.authentication.apiKey",
675
+ "type": "zeebe:input"
676
+ },
677
+ "condition": {
678
+ "property": "provider.type",
679
+ "equals": "openaiCompatible",
680
+ "type": "simple"
681
+ },
682
+ "tooltip": "Leave blank if using HTTP headers for authentication.<br>If an Authorization header is specified in the headers, then the API key is ignored.",
683
+ "type": "String"
684
+ },
685
+ {
686
+ "id": "provider.openaiCompatible.headers",
687
+ "label": "Headers",
688
+ "description": "Map of HTTP headers to add to the request.",
689
+ "optional": true,
690
+ "feel": "required",
691
+ "group": "provider",
692
+ "binding": {
693
+ "name": "provider.openaiCompatible.headers",
694
+ "type": "zeebe:input"
695
+ },
696
+ "condition": {
697
+ "property": "provider.type",
698
+ "equals": "openaiCompatible",
699
+ "type": "simple"
700
+ },
701
+ "type": "String"
702
+ },
703
+ {
704
+ "id": "provider.anthropic.model.model",
705
+ "label": "Model",
706
+ "description": "Specify the model ID. Details in the <a href=\"https://docs.anthropic.com/en/docs/about-claude/models/all-models\" target=\"_blank\">documentation</a>.",
707
+ "optional": false,
708
+ "value": "claude-3-5-sonnet-20240620",
709
+ "constraints": {
710
+ "notEmpty": true
711
+ },
712
+ "feel": "optional",
713
+ "group": "model",
714
+ "binding": {
715
+ "name": "provider.anthropic.model.model",
716
+ "type": "zeebe:input"
717
+ },
718
+ "condition": {
719
+ "property": "provider.type",
720
+ "equals": "anthropic",
721
+ "type": "simple"
722
+ },
723
+ "type": "String"
724
+ },
725
+ {
726
+ "id": "provider.anthropic.model.parameters.maxTokens",
727
+ "label": "Maximum tokens",
728
+ "optional": true,
729
+ "feel": "required",
730
+ "group": "model",
731
+ "binding": {
732
+ "name": "provider.anthropic.model.parameters.maxTokens",
733
+ "type": "zeebe:input"
734
+ },
735
+ "condition": {
736
+ "property": "provider.type",
737
+ "equals": "anthropic",
738
+ "type": "simple"
739
+ },
740
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-max-tokens\" target=\"_blank\">documentation</a>.",
741
+ "type": "Number"
742
+ },
743
+ {
744
+ "id": "provider.anthropic.model.parameters.temperature",
745
+ "label": "Temperature",
746
+ "optional": true,
747
+ "feel": "required",
748
+ "group": "model",
749
+ "binding": {
750
+ "name": "provider.anthropic.model.parameters.temperature",
751
+ "type": "zeebe:input"
752
+ },
753
+ "condition": {
754
+ "property": "provider.type",
755
+ "equals": "anthropic",
756
+ "type": "simple"
757
+ },
758
+ "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-temperature\" target=\"_blank\">documentation</a>.",
759
+ "type": "Number"
760
+ },
761
+ {
762
+ "id": "provider.anthropic.model.parameters.topP",
763
+ "label": "top P",
764
+ "optional": true,
765
+ "feel": "required",
766
+ "group": "model",
767
+ "binding": {
768
+ "name": "provider.anthropic.model.parameters.topP",
769
+ "type": "zeebe:input"
770
+ },
771
+ "condition": {
772
+ "property": "provider.type",
773
+ "equals": "anthropic",
774
+ "type": "simple"
775
+ },
776
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-p\" target=\"_blank\">documentation</a>.",
777
+ "type": "Number"
778
+ },
779
+ {
780
+ "id": "provider.anthropic.model.parameters.topK",
781
+ "label": "top K",
782
+ "optional": true,
783
+ "feel": "required",
784
+ "group": "model",
785
+ "binding": {
786
+ "name": "provider.anthropic.model.parameters.topK",
787
+ "type": "zeebe:input"
788
+ },
789
+ "condition": {
790
+ "property": "provider.type",
791
+ "equals": "anthropic",
792
+ "type": "simple"
793
+ },
794
+ "tooltip": "Integer greater than 0. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-k\" target=\"_blank\">documentation</a>.",
795
+ "type": "Number"
796
+ },
797
+ {
798
+ "id": "provider.bedrock.model.model",
799
+ "label": "Model",
800
+ "description": "Specify the model ID. Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html\" target=\"_blank\">documentation</a>.",
801
+ "optional": false,
802
+ "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
803
+ "constraints": {
804
+ "notEmpty": true
805
+ },
806
+ "feel": "optional",
807
+ "group": "model",
808
+ "binding": {
809
+ "name": "provider.bedrock.model.model",
810
+ "type": "zeebe:input"
811
+ },
812
+ "condition": {
813
+ "property": "provider.type",
814
+ "equals": "bedrock",
815
+ "type": "simple"
816
+ },
817
+ "type": "String"
818
+ },
819
+ {
820
+ "id": "provider.bedrock.model.parameters.maxTokens",
821
+ "label": "Maximum tokens",
822
+ "optional": true,
823
+ "feel": "required",
824
+ "group": "model",
825
+ "binding": {
826
+ "name": "provider.bedrock.model.parameters.maxTokens",
827
+ "type": "zeebe:input"
828
+ },
829
+ "condition": {
830
+ "property": "provider.type",
831
+ "equals": "bedrock",
832
+ "type": "simple"
833
+ },
834
+ "tooltip": "The maximum number of tokens per request to allow in the generated response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
835
+ "type": "Number"
836
+ },
837
+ {
838
+ "id": "provider.bedrock.model.parameters.temperature",
839
+ "label": "Temperature",
840
+ "optional": true,
841
+ "feel": "required",
842
+ "group": "model",
843
+ "binding": {
844
+ "name": "provider.bedrock.model.parameters.temperature",
845
+ "type": "zeebe:input"
846
+ },
847
+ "condition": {
848
+ "property": "provider.type",
849
+ "equals": "bedrock",
850
+ "type": "simple"
851
+ },
852
+ "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
853
+ "type": "Number"
854
+ },
855
+ {
856
+ "id": "provider.bedrock.model.parameters.topP",
857
+ "label": "top P",
858
+ "optional": true,
859
+ "feel": "required",
860
+ "group": "model",
861
+ "binding": {
862
+ "name": "provider.bedrock.model.parameters.topP",
863
+ "type": "zeebe:input"
864
+ },
865
+ "condition": {
866
+ "property": "provider.type",
867
+ "equals": "bedrock",
868
+ "type": "simple"
869
+ },
870
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
871
+ "type": "Number"
872
+ },
873
+ {
874
+ "id": "provider.azureOpenAi.model.deploymentName",
875
+ "label": "Model deployment name",
876
+ "description": "Specify the model deployment name. Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference\" target=\"_blank\">documentation</a>.",
877
+ "optional": false,
878
+ "constraints": {
879
+ "notEmpty": true
880
+ },
881
+ "feel": "optional",
882
+ "group": "model",
883
+ "binding": {
884
+ "name": "provider.azureOpenAi.model.deploymentName",
885
+ "type": "zeebe:input"
886
+ },
887
+ "condition": {
888
+ "property": "provider.type",
889
+ "equals": "azureOpenAi",
890
+ "type": "simple"
891
+ },
892
+ "type": "String"
893
+ },
894
+ {
895
+ "id": "provider.azureOpenAi.model.parameters.maxTokens",
896
+ "label": "Maximum tokens",
897
+ "optional": true,
898
+ "feel": "required",
899
+ "group": "model",
900
+ "binding": {
901
+ "name": "provider.azureOpenAi.model.parameters.maxTokens",
902
+ "type": "zeebe:input"
903
+ },
904
+ "condition": {
905
+ "property": "provider.type",
906
+ "equals": "azureOpenAi",
907
+ "type": "simple"
908
+ },
909
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference#request-body\" target=\"_blank\">documentation</a>.",
910
+ "type": "Number"
911
+ },
912
+ {
913
+ "id": "provider.azureOpenAi.model.parameters.temperature",
914
+ "label": "Temperature",
915
+ "optional": true,
916
+ "feel": "required",
917
+ "group": "model",
918
+ "binding": {
919
+ "name": "provider.azureOpenAi.model.parameters.temperature",
920
+ "type": "zeebe:input"
921
+ },
922
+ "condition": {
923
+ "property": "provider.type",
924
+ "equals": "azureOpenAi",
925
+ "type": "simple"
926
+ },
927
+ "tooltip": "Floating point number between 0 and 2. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference#request-body\" target=\"_blank\">documentation</a>.",
928
+ "type": "Number"
929
+ },
930
+ {
931
+ "id": "provider.azureOpenAi.model.parameters.topP",
932
+ "label": "top P",
933
+ "optional": true,
934
+ "feel": "required",
935
+ "group": "model",
936
+ "binding": {
937
+ "name": "provider.azureOpenAi.model.parameters.topP",
938
+ "type": "zeebe:input"
939
+ },
940
+ "condition": {
941
+ "property": "provider.type",
942
+ "equals": "azureOpenAi",
943
+ "type": "simple"
944
+ },
945
+ "tooltip": "Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference#request-body\" target=\"_blank\">documentation</a>.",
946
+ "type": "Number"
947
+ },
948
+ {
949
+ "id": "provider.googleVertexAi.model.model",
950
+ "label": "Model",
951
+ "description": "Specify the model ID. Details in the <a href=\"https://cloud.google.com/vertex-ai/docs/generative-ai/models\" target=\"_blank\">documentation</a>.",
952
+ "optional": false,
953
+ "constraints": {
954
+ "notEmpty": true
955
+ },
956
+ "feel": "optional",
957
+ "group": "model",
958
+ "binding": {
959
+ "name": "provider.googleVertexAi.model.model",
960
+ "type": "zeebe:input"
961
+ },
962
+ "condition": {
963
+ "property": "provider.type",
964
+ "equals": "google-vertex-ai",
965
+ "type": "simple"
966
+ },
967
+ "type": "String"
968
+ },
969
+ {
970
+ "id": "provider.googleVertexAi.model.parameters.maxOutputTokens",
971
+ "label": "Maximum output tokens",
972
+ "optional": true,
973
+ "feel": "required",
974
+ "group": "model",
975
+ "binding": {
976
+ "name": "provider.googleVertexAi.model.parameters.maxOutputTokens",
977
+ "type": "zeebe:input"
978
+ },
979
+ "condition": {
980
+ "property": "provider.type",
981
+ "equals": "google-vertex-ai",
982
+ "type": "simple"
983
+ },
984
+ "tooltip": "Maximum number of tokens that can be generated in the response. <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
985
+ "type": "Number"
986
+ },
987
+ {
988
+ "id": "provider.googleVertexAi.model.parameters.temperature",
989
+ "label": "Temperature",
990
+ "optional": true,
991
+ "feel": "required",
992
+ "group": "model",
993
+ "binding": {
994
+ "name": "provider.googleVertexAi.model.parameters.temperature",
995
+ "type": "zeebe:input"
996
+ },
997
+ "condition": {
998
+ "property": "provider.type",
999
+ "equals": "google-vertex-ai",
1000
+ "type": "simple"
1001
+ },
1002
+ "tooltip": "Controls the degree of randomness in token selection. <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
1003
+ "type": "Number"
1004
+ },
1005
+ {
1006
+ "id": "provider.googleVertexAi.model.parameters.topP",
1007
+ "label": "top P",
1008
+ "optional": true,
1009
+ "feel": "required",
1010
+ "group": "model",
1011
+ "binding": {
1012
+ "name": "provider.googleVertexAi.model.parameters.topP",
1013
+ "type": "zeebe:input"
1014
+ },
1015
+ "condition": {
1016
+ "property": "provider.type",
1017
+ "equals": "google-vertex-ai",
1018
+ "type": "simple"
1019
+ },
1020
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
1021
+ "type": "Number"
1022
+ },
1023
+ {
1024
+ "id": "provider.googleVertexAi.model.parameters.topK",
1025
+ "label": "top K",
1026
+ "optional": true,
1027
+ "feel": "required",
1028
+ "group": "model",
1029
+ "binding": {
1030
+ "name": "provider.googleVertexAi.model.parameters.topK",
1031
+ "type": "zeebe:input"
1032
+ },
1033
+ "condition": {
1034
+ "property": "provider.type",
1035
+ "equals": "google-vertex-ai",
1036
+ "type": "simple"
1037
+ },
1038
+ "tooltip": "Integer greater than 0. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
1039
+ "type": "Number"
1040
+ },
1041
+ {
1042
+ "id": "provider.openai.model.model",
1043
+ "label": "Model",
1044
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
1045
+ "optional": false,
1046
+ "value": "gpt-4o",
1047
+ "constraints": {
1048
+ "notEmpty": true
1049
+ },
1050
+ "feel": "optional",
1051
+ "group": "model",
1052
+ "binding": {
1053
+ "name": "provider.openai.model.model",
1054
+ "type": "zeebe:input"
1055
+ },
1056
+ "condition": {
1057
+ "property": "provider.type",
1058
+ "equals": "openai",
1059
+ "type": "simple"
1060
+ },
1061
+ "type": "String"
1062
+ },
1063
+ {
1064
+ "id": "provider.openai.model.parameters.maxCompletionTokens",
1065
+ "label": "Maximum completion tokens",
1066
+ "optional": true,
1067
+ "feel": "required",
1068
+ "group": "model",
1069
+ "binding": {
1070
+ "name": "provider.openai.model.parameters.maxCompletionTokens",
1071
+ "type": "zeebe:input"
1072
+ },
1073
+ "condition": {
1074
+ "property": "provider.type",
1075
+ "equals": "openai",
1076
+ "type": "simple"
1077
+ },
1078
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_completion_tokens\" target=\"_blank\">documentation</a>.",
1079
+ "type": "Number"
1080
+ },
1081
+ {
1082
+ "id": "provider.openai.model.parameters.temperature",
1083
+ "label": "Temperature",
1084
+ "optional": true,
1085
+ "feel": "required",
1086
+ "group": "model",
1087
+ "binding": {
1088
+ "name": "provider.openai.model.parameters.temperature",
1089
+ "type": "zeebe:input"
1090
+ },
1091
+ "condition": {
1092
+ "property": "provider.type",
1093
+ "equals": "openai",
1094
+ "type": "simple"
1095
+ },
1096
+ "tooltip": "Floating point number between 0 and 2. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-temperature\" target=\"_blank\">documentation</a>.",
1097
+ "type": "Number"
1098
+ },
1099
+ {
1100
+ "id": "provider.openai.model.parameters.topP",
1101
+ "label": "top P",
1102
+ "optional": true,
1103
+ "feel": "required",
1104
+ "group": "model",
1105
+ "binding": {
1106
+ "name": "provider.openai.model.parameters.topP",
1107
+ "type": "zeebe:input"
1108
+ },
1109
+ "condition": {
1110
+ "property": "provider.type",
1111
+ "equals": "openai",
1112
+ "type": "simple"
1113
+ },
1114
+ "tooltip": "Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-top_p\" target=\"_blank\">documentation</a>.",
1115
+ "type": "Number"
1116
+ },
1117
+ {
1118
+ "id": "provider.openaiCompatible.model.model",
1119
+ "label": "Model",
1120
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
1121
+ "optional": false,
1122
+ "value": "gpt-4o",
1123
+ "constraints": {
1124
+ "notEmpty": true
1125
+ },
1126
+ "feel": "optional",
1127
+ "group": "model",
1128
+ "binding": {
1129
+ "name": "provider.openaiCompatible.model.model",
1130
+ "type": "zeebe:input"
1131
+ },
1132
+ "condition": {
1133
+ "property": "provider.type",
1134
+ "equals": "openaiCompatible",
1135
+ "type": "simple"
1136
+ },
1137
+ "type": "String"
1138
+ },
1139
+ {
1140
+ "id": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
1141
+ "label": "Maximum completion tokens",
1142
+ "optional": true,
1143
+ "feel": "required",
1144
+ "group": "model",
1145
+ "binding": {
1146
+ "name": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
1147
+ "type": "zeebe:input"
1148
+ },
1149
+ "condition": {
1150
+ "property": "provider.type",
1151
+ "equals": "openaiCompatible",
1152
+ "type": "simple"
1153
+ },
1154
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_completion_tokens\" target=\"_blank\">documentation</a>.",
1155
+ "type": "Number"
1156
+ },
1157
+ {
1158
+ "id": "provider.openaiCompatible.model.parameters.temperature",
1159
+ "label": "Temperature",
1160
+ "optional": true,
1161
+ "feel": "required",
1162
+ "group": "model",
1163
+ "binding": {
1164
+ "name": "provider.openaiCompatible.model.parameters.temperature",
1165
+ "type": "zeebe:input"
1166
+ },
1167
+ "condition": {
1168
+ "property": "provider.type",
1169
+ "equals": "openaiCompatible",
1170
+ "type": "simple"
1171
+ },
1172
+ "tooltip": "Floating point number between 0 and 2. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-temperature\" target=\"_blank\">documentation</a>.",
1173
+ "type": "Number"
1174
+ },
1175
+ {
1176
+ "id": "provider.openaiCompatible.model.parameters.topP",
1177
+ "label": "top P",
1178
+ "optional": true,
1179
+ "feel": "required",
1180
+ "group": "model",
1181
+ "binding": {
1182
+ "name": "provider.openaiCompatible.model.parameters.topP",
1183
+ "type": "zeebe:input"
1184
+ },
1185
+ "condition": {
1186
+ "property": "provider.type",
1187
+ "equals": "openaiCompatible",
1188
+ "type": "simple"
1189
+ },
1190
+ "tooltip": "Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-top_p\" target=\"_blank\">documentation</a>.",
1191
+ "type": "Number"
1192
+ },
1193
+ {
1194
+ "id": "provider.openaiCompatible.model.parameters.customParameters",
1195
+ "label": "Custom parameters",
1196
+ "description": "Map of additional request parameters to include.",
1197
+ "optional": true,
1198
+ "feel": "required",
1199
+ "group": "model",
1200
+ "binding": {
1201
+ "name": "provider.openaiCompatible.model.parameters.customParameters",
1202
+ "type": "zeebe:input"
1203
+ },
1204
+ "condition": {
1205
+ "property": "provider.type",
1206
+ "equals": "openaiCompatible",
1207
+ "type": "simple"
1208
+ },
1209
+ "type": "String"
1210
+ },
1211
+ {
1212
+ "id": "data.systemPrompt.prompt",
1213
+ "label": "System prompt",
1214
+ "optional": false,
1215
+ "value": "=\"You are **TaskAgent**, a helpful, generic chat agent that can handle a wide variety of customer requests using your own domain knowledge **and** any tools explicitly provided to you at runtime.\n\nIf tools are provided, you should prefer them instead of guessing an answer. You can call the same tool multiple times by providing different input values. Don't guess any tools which were not explicitly configured. If no tool matches the request, try to generate an answer. If you're not able to find a good answer, return with a message stating why you're not able to.\n\nWrap minimal, inspectable reasoning in *exactly* this XML template:\n\n<thinking>\n<context>…briefly state the customer’s need and current state…</context>\n<reflection>…list candidate tools, justify which you will call next and why…</reflection>\n</thinking>\n\nReveal **no** additional private reasoning outside these tags.\"",
1216
+ "constraints": {
1217
+ "notEmpty": true
1218
+ },
1219
+ "feel": "required",
1220
+ "group": "systemPrompt",
1221
+ "binding": {
1222
+ "name": "data.systemPrompt.prompt",
1223
+ "type": "zeebe:input"
1224
+ },
1225
+ "type": "Text"
1226
+ },
1227
+ {
1228
+ "id": "data.userPrompt.prompt",
1229
+ "label": "User prompt",
1230
+ "optional": false,
1231
+ "constraints": {
1232
+ "notEmpty": true
1233
+ },
1234
+ "feel": "required",
1235
+ "group": "userPrompt",
1236
+ "binding": {
1237
+ "name": "data.userPrompt.prompt",
1238
+ "type": "zeebe:input"
1239
+ },
1240
+ "type": "Text"
1241
+ },
1242
+ {
1243
+ "id": "data.userPrompt.documents",
1244
+ "label": "Documents",
1245
+ "description": "Documents to be included in the user prompt.",
1246
+ "optional": true,
1247
+ "feel": "required",
1248
+ "group": "userPrompt",
1249
+ "binding": {
1250
+ "name": "data.userPrompt.documents",
1251
+ "type": "zeebe:input"
1252
+ },
1253
+ "tooltip": "Referenced documents will be automatically added to the user prompt. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details and supported file types.",
1254
+ "type": "String"
1255
+ },
1256
+ {
1257
+ "id": "data.tools.containerElementId",
1258
+ "label": "Ad-hoc sub-process ID",
1259
+ "description": "ID of the sub-process that contains the tools the AI agent can use.",
1260
+ "optional": true,
1261
+ "feel": "optional",
1262
+ "group": "tools",
1263
+ "binding": {
1264
+ "name": "data.tools.containerElementId",
1265
+ "type": "zeebe:input"
1266
+ },
1267
+ "tooltip": "Add an ad-hoc sub-process ID to attach the AI agent to the tools. Ensure your process includes a tools feedback loop routing into the ad-hoc sub-process and back to the AI agent connector. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
1268
+ "type": "String"
1269
+ },
1270
+ {
1271
+ "id": "data.tools.toolCallResults",
1272
+ "label": "Tool call results",
1273
+ "description": "Tool call results as returned by the sub-process.",
1274
+ "optional": true,
1275
+ "feel": "required",
1276
+ "group": "tools",
1277
+ "binding": {
1278
+ "name": "data.tools.toolCallResults",
1279
+ "type": "zeebe:input"
1280
+ },
1281
+ "tooltip": "This defines where to handle tool call results returned by the ad-hoc sub-process. Model this as part of your process and route it into the tools feedback loop. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
1282
+ "type": "Text"
1283
+ },
1284
+ {
1285
+ "id": "data.agentContext",
1286
+ "label": "Agent context",
1287
+ "description": "Avoid reusing context variables across agents to prevent issues with stale data or tool access.",
1288
+ "optional": false,
1289
+ "value": "=agent.context",
1290
+ "constraints": {
1291
+ "notEmpty": true
1292
+ },
1293
+ "feel": "required",
1294
+ "group": "memory",
1295
+ "binding": {
1296
+ "name": "data.context",
1297
+ "type": "zeebe:input"
1298
+ },
1299
+ "tooltip": "The agent context variable containing all relevant data for the agent to support the feedback loop between user requests, tool calls and LLM responses. Make sure this variable points to the <code>context</code> variable which is returned from the agent response. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
1300
+ "type": "Text"
1301
+ },
1302
+ {
1303
+ "id": "data.memory.storage.type",
1304
+ "label": "Memory storage type",
1305
+ "description": "Specify how to store the conversation memory.",
1306
+ "value": "in-process",
1307
+ "group": "memory",
1308
+ "binding": {
1309
+ "name": "data.memory.storage.type",
1310
+ "type": "zeebe:input"
1311
+ },
1312
+ "type": "Dropdown",
1313
+ "choices": [
1314
+ {
1315
+ "name": "In Process (part of agent context)",
1316
+ "value": "in-process"
1317
+ },
1318
+ {
1319
+ "name": "Camunda Document Storage",
1320
+ "value": "camunda-document"
1321
+ },
1322
+ {
1323
+ "name": "Custom Implementation (Hybrid/Self-Managed only)",
1324
+ "value": "custom"
1325
+ }
1326
+ ]
1327
+ },
1328
+ {
1329
+ "id": "data.memory.storage.timeToLive",
1330
+ "label": "Document TTL",
1331
+ "description": "How long to retain the conversation document as ISO-8601 duration (example: <code>P14D</code>).",
1332
+ "optional": true,
1333
+ "feel": "optional",
1334
+ "group": "memory",
1335
+ "binding": {
1336
+ "name": "data.memory.storage.timeToLive",
1337
+ "type": "zeebe:input"
1338
+ },
1339
+ "condition": {
1340
+ "property": "data.memory.storage.type",
1341
+ "equals": "camunda-document",
1342
+ "type": "simple"
1343
+ },
1344
+ "tooltip": "Will use the cluster default TTL (time-to-live) if not specified. Make sure to set this value to a reasonable duration matching your process lifecycle.",
1345
+ "type": "String"
1346
+ },
1347
+ {
1348
+ "id": "data.memory.storage.customProperties",
1349
+ "label": "Custom document properties",
1350
+ "description": "An optional map of custom properties to be stored with the conversation document.",
1351
+ "optional": true,
1352
+ "feel": "required",
1353
+ "group": "memory",
1354
+ "binding": {
1355
+ "name": "data.memory.storage.customProperties",
1356
+ "type": "zeebe:input"
1357
+ },
1358
+ "condition": {
1359
+ "property": "data.memory.storage.type",
1360
+ "equals": "camunda-document",
1361
+ "type": "simple"
1362
+ },
1363
+ "type": "String"
1364
+ },
1365
+ {
1366
+ "id": "data.memory.storage.storeType",
1367
+ "label": "Implementation type",
1368
+ "optional": false,
1369
+ "constraints": {
1370
+ "notEmpty": true
1371
+ },
1372
+ "feel": "optional",
1373
+ "group": "memory",
1374
+ "binding": {
1375
+ "name": "data.memory.storage.storeType",
1376
+ "type": "zeebe:input"
1377
+ },
1378
+ "condition": {
1379
+ "property": "data.memory.storage.type",
1380
+ "equals": "custom",
1381
+ "type": "simple"
1382
+ },
1383
+ "type": "String"
1384
+ },
1385
+ {
1386
+ "id": "data.memory.storage.parameters",
1387
+ "label": "Parameters",
1388
+ "description": "Parameters for the custom memory storage implementation.",
1389
+ "optional": true,
1390
+ "feel": "required",
1391
+ "group": "memory",
1392
+ "binding": {
1393
+ "name": "data.memory.storage.parameters",
1394
+ "type": "zeebe:input"
1395
+ },
1396
+ "condition": {
1397
+ "property": "data.memory.storage.type",
1398
+ "equals": "custom",
1399
+ "type": "simple"
1400
+ },
1401
+ "type": "String"
1402
+ },
1403
+ {
1404
+ "id": "data.memory.contextWindowSize",
1405
+ "label": "Context window size",
1406
+ "description": "Maximum number of recent conversation messages which are passed to the model.",
1407
+ "optional": false,
1408
+ "value": 20,
1409
+ "feel": "static",
1410
+ "group": "memory",
1411
+ "binding": {
1412
+ "name": "data.memory.contextWindowSize",
1413
+ "type": "zeebe:input"
1414
+ },
1415
+ "tooltip": "Use this to limit the number of messages which are sent to the model. The agent will only send the most recent messages up to the configured limit to the LLM. Older messages will be kept in the conversation store, but not sent to the model. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
1416
+ "type": "Number"
1417
+ },
1418
+ {
1419
+ "id": "data.limits.maxModelCalls",
1420
+ "label": "Maximum model calls",
1421
+ "description": "Maximum number of calls to the model as a safety limit to prevent infinite loops.",
1422
+ "optional": false,
1423
+ "value": 10,
1424
+ "feel": "static",
1425
+ "group": "limits",
1426
+ "binding": {
1427
+ "name": "data.limits.maxModelCalls",
1428
+ "type": "zeebe:input"
1429
+ },
1430
+ "type": "Number"
1431
+ },
1432
+ {
1433
+ "id": "data.response.format.type",
1434
+ "label": "Response format",
1435
+ "description": "Specify the response format. Support for JSON mode varies by provider.",
1436
+ "value": "text",
1437
+ "group": "response",
1438
+ "binding": {
1439
+ "name": "data.response.format.type",
1440
+ "type": "zeebe:input"
1441
+ },
1442
+ "type": "Dropdown",
1443
+ "choices": [
1444
+ {
1445
+ "name": "Text",
1446
+ "value": "text"
1447
+ },
1448
+ {
1449
+ "name": "JSON",
1450
+ "value": "json"
1451
+ }
1452
+ ]
1453
+ },
1454
+ {
1455
+ "id": "data.response.format.parseJson",
1456
+ "label": "Parse text as JSON",
1457
+ "description": "Tries to parse the LLM response text as JSON object.",
1458
+ "optional": true,
1459
+ "feel": "static",
1460
+ "group": "response",
1461
+ "binding": {
1462
+ "name": "data.response.format.parseJson",
1463
+ "type": "zeebe:input"
1464
+ },
1465
+ "condition": {
1466
+ "property": "data.response.format.type",
1467
+ "equals": "text",
1468
+ "type": "simple"
1469
+ },
1470
+ "tooltip": "Use this option in combination with models which don't support native JSON mode/structured tool calling (e.g. Anthropic). Make sure to instruct the model to return valid JSON in the system prompt. The parsed JSON will be available as <code>response.responseJson</code>.<br><br>If parsing fails, <code>null</code> will be returned as JSON response, but the text content will still be available as <code>response.responseText</code>.",
1471
+ "type": "Boolean"
1472
+ },
1473
+ {
1474
+ "id": "data.response.format.schema",
1475
+ "label": "Response JSON schema",
1476
+ "description": "An optional response <a href=\"https://json-schema.org/\" target=\"_blank\">JSON Schema</a> to instruct the model how to structure the JSON output.",
1477
+ "optional": true,
1478
+ "feel": "required",
1479
+ "group": "response",
1480
+ "binding": {
1481
+ "name": "data.response.format.schema",
1482
+ "type": "zeebe:input"
1483
+ },
1484
+ "condition": {
1485
+ "property": "data.response.format.type",
1486
+ "equals": "json",
1487
+ "type": "simple"
1488
+ },
1489
+ "tooltip": "If supported by the model, the response will be structured according to the provided schema. A parsed version of the response will be available as <code>response.responseJson</code>.",
1490
+ "type": "String"
1491
+ },
1492
+ {
1493
+ "id": "data.response.format.schemaName",
1494
+ "label": "Response JSON schema name",
1495
+ "description": "An optional name for the response JSON Schema to make the model aware of the expected output.",
1496
+ "optional": true,
1497
+ "value": "Response",
1498
+ "feel": "optional",
1499
+ "group": "response",
1500
+ "binding": {
1501
+ "name": "data.response.format.schemaName",
1502
+ "type": "zeebe:input"
1503
+ },
1504
+ "condition": {
1505
+ "property": "data.response.format.type",
1506
+ "equals": "json",
1507
+ "type": "simple"
1508
+ },
1509
+ "type": "String"
1510
+ },
1511
+ {
1512
+ "id": "data.response.includeAssistantMessage",
1513
+ "label": "Include assistant message",
1514
+ "description": "Include the full assistant message as part of the result object.",
1515
+ "optional": true,
1516
+ "feel": "static",
1517
+ "group": "response",
1518
+ "binding": {
1519
+ "name": "data.response.includeAssistantMessage",
1520
+ "type": "zeebe:input"
1521
+ },
1522
+ "tooltip": "In addition to the text content, the assistant message may include multiple additional content blocks and metadata (such as token usage). The message will be available as <code>response.responseMessage</code>.",
1523
+ "type": "Boolean"
1524
+ },
1525
+ {
1526
+ "id": "version",
1527
+ "label": "Version",
1528
+ "description": "Version of the element template",
1529
+ "value": "5",
1530
+ "group": "connector",
1531
+ "binding": {
1532
+ "key": "elementTemplateVersion",
1533
+ "type": "zeebe:taskHeader"
1534
+ },
1535
+ "type": "Hidden"
1536
+ },
1537
+ {
1538
+ "id": "id",
1539
+ "label": "ID",
1540
+ "description": "ID of the element template",
1541
+ "value": "io.camunda.connectors.agenticai.aiagent.v1",
1542
+ "group": "connector",
1543
+ "binding": {
1544
+ "key": "elementTemplateId",
1545
+ "type": "zeebe:taskHeader"
1546
+ },
1547
+ "type": "Hidden"
1548
+ },
1549
+ {
1550
+ "id": "resultVariable",
1551
+ "label": "Result variable",
1552
+ "description": "Name of variable to store the response in",
1553
+ "value": "agent",
1554
+ "group": "output",
1555
+ "binding": {
1556
+ "key": "resultVariable",
1557
+ "type": "zeebe:taskHeader"
1558
+ },
1559
+ "type": "String"
1560
+ },
1561
+ {
1562
+ "id": "resultExpression",
1563
+ "label": "Result expression",
1564
+ "description": "Expression to map the response into process variables",
1565
+ "feel": "required",
1566
+ "group": "output",
1567
+ "binding": {
1568
+ "key": "resultExpression",
1569
+ "type": "zeebe:taskHeader"
1570
+ },
1571
+ "type": "Text"
1572
+ },
1573
+ {
1574
+ "id": "errorExpression",
1575
+ "label": "Error expression",
1576
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1577
+ "feel": "required",
1578
+ "group": "error",
1579
+ "binding": {
1580
+ "key": "errorExpression",
1581
+ "type": "zeebe:taskHeader"
1582
+ },
1583
+ "type": "Text"
1584
+ },
1585
+ {
1586
+ "id": "retryCount",
1587
+ "label": "Retries",
1588
+ "description": "Number of retries",
1589
+ "value": "3",
1590
+ "feel": "optional",
1591
+ "group": "retries",
1592
+ "binding": {
1593
+ "property": "retries",
1594
+ "type": "zeebe:taskDefinition"
1595
+ },
1596
+ "type": "String"
1597
+ },
1598
+ {
1599
+ "id": "retryBackoff",
1600
+ "label": "Retry backoff",
1601
+ "description": "ISO-8601 duration to wait between retries",
1602
+ "value": "PT0S",
1603
+ "group": "retries",
1604
+ "binding": {
1605
+ "key": "retryBackoff",
1606
+ "type": "zeebe:taskHeader"
1607
+ },
1608
+ "type": "String"
1609
+ }
1610
+ ],
1611
+ "icon": {
1612
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K"
1613
+ }
1614
+ },
1615
+ {
1616
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1617
+ "name": "AI Agent",
1618
+ "id": "io.camunda.connectors.agenticai.aiagent.v1",
1619
+ "description": "Provides a generic AI agent implementation handling the feedback loop between user requests, tool calls and LLM responses. Compatible with 8.8.0-alpha6 or later.",
1620
+ "metadata": {
1621
+ "keywords": []
1622
+ },
1623
+ "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
1624
+ "version": 1,
1625
+ "deprecated": true,
1626
+ "category": {
1627
+ "id": "connectors",
1628
+ "name": "Connectors"
1629
+ },
1630
+ "appliesTo": ["bpmn:Task"],
1631
+ "elementType": {
1632
+ "value": "bpmn:ServiceTask"
1633
+ },
1634
+ "engines": {
1635
+ "camunda": "^8.8"
1636
+ },
1637
+ "groups": [
1638
+ {
1639
+ "id": "provider",
1640
+ "label": "Model provider",
1641
+ "openByDefault": false
1642
+ },
1643
+ {
1644
+ "id": "model",
1645
+ "label": "Model",
1646
+ "openByDefault": false
1647
+ },
1648
+ {
1649
+ "id": "systemPrompt",
1650
+ "label": "System prompt",
1651
+ "tooltip": "A system prompt is a set of foundational instructions given to a model before any user interaction begins. It defines the AI agent’s role, behavior, tone, and communication style, ensuring that responses remain consistent and aligned with the AI agent’s intended purpose. These instructions help shape how the model interprets and responds to user input throughout the conversation.",
1652
+ "openByDefault": false
1653
+ },
1654
+ {
1655
+ "id": "userPrompt",
1656
+ "label": "User prompt",
1657
+ "tooltip": "A user prompt is the message or question you give to the AI to start or continue a conversation. It tells the AI what you need, whether it's information, help with a task, or just a chat. The AI uses your prompt to understand how to respond.",
1658
+ "openByDefault": false
1659
+ },
1660
+ {
1661
+ "id": "tools",
1662
+ "label": "Tools",
1663
+ "tooltip": "Tools are optional features the AI Agent can use to perform specific tasks. Configure this if the agent should participate in a tools feedback loop.",
1664
+ "openByDefault": false
1665
+ },
1666
+ {
1667
+ "id": "memory",
1668
+ "label": "Memory",
1669
+ "tooltip": "Configuration of the Agent's short-term/conversational memory.",
1670
+ "openByDefault": false
1671
+ },
1672
+ {
1673
+ "id": "limits",
1674
+ "label": "Limits",
1675
+ "openByDefault": false
1676
+ },
1677
+ {
1678
+ "id": "response",
1679
+ "label": "Response",
1680
+ "tooltip": "Configuration of the model response format and how to map the model response to the connector result.<br><br>Depending on the selection, the model response will be available as <code>response.responseText</code> or <code>response.responseJson</code>.<br><br>See <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\">documentation</a> for details.",
1681
+ "openByDefault": false
1682
+ },
1683
+ {
1684
+ "id": "connector",
1685
+ "label": "Connector"
1686
+ },
1687
+ {
1688
+ "id": "output",
1689
+ "label": "Output mapping"
1690
+ },
1691
+ {
1692
+ "id": "error",
1693
+ "label": "Error handling"
1694
+ },
1695
+ {
1696
+ "id": "retries",
1697
+ "label": "Retries"
1698
+ }
1699
+ ],
1700
+ "properties": [
1701
+ {
1702
+ "value": "io.camunda.agenticai:aiagent:1",
1703
+ "binding": {
1704
+ "property": "type",
1705
+ "type": "zeebe:taskDefinition"
1706
+ },
1707
+ "type": "Hidden"
1708
+ },
1709
+ {
1710
+ "id": "provider.type",
1711
+ "label": "Provider",
1712
+ "description": "Specify the LLM provider to use.",
1713
+ "value": "anthropic",
1714
+ "group": "provider",
1715
+ "binding": {
1716
+ "name": "provider.type",
1717
+ "type": "zeebe:input"
1718
+ },
1719
+ "type": "Dropdown",
1720
+ "choices": [
1721
+ {
1722
+ "name": "Anthropic",
1723
+ "value": "anthropic"
1724
+ },
1725
+ {
1726
+ "name": "AWS Bedrock",
1727
+ "value": "bedrock"
1728
+ },
1729
+ {
1730
+ "name": "OpenAI",
1731
+ "value": "openai"
1732
+ }
1733
+ ]
1734
+ },
1735
+ {
1736
+ "id": "provider.anthropic.endpoint",
1737
+ "label": "Endpoint",
1738
+ "description": "Specify endpoint if need to use a custom API endpoint",
1739
+ "optional": true,
1740
+ "group": "provider",
1741
+ "binding": {
1742
+ "name": "provider.anthropic.endpoint",
1743
+ "type": "zeebe:input"
1744
+ },
1745
+ "condition": {
1746
+ "property": "provider.type",
1747
+ "equals": "anthropic",
1748
+ "type": "simple"
1749
+ },
1750
+ "type": "Hidden"
1751
+ },
1752
+ {
1753
+ "id": "provider.anthropic.authentication.apiKey",
1754
+ "label": "Anthropic API key",
1755
+ "optional": false,
1756
+ "constraints": {
1757
+ "notEmpty": true
1758
+ },
1759
+ "feel": "optional",
1760
+ "group": "provider",
1761
+ "binding": {
1762
+ "name": "provider.anthropic.authentication.apiKey",
1763
+ "type": "zeebe:input"
1764
+ },
1765
+ "condition": {
1766
+ "property": "provider.type",
1767
+ "equals": "anthropic",
1768
+ "type": "simple"
1769
+ },
1770
+ "type": "String"
1771
+ },
1772
+ {
1773
+ "id": "provider.bedrock.region",
1774
+ "label": "Region",
1775
+ "description": "Specify the AWS region (example: <code>eu-west-1</code>)",
1776
+ "optional": false,
1777
+ "constraints": {
1778
+ "notEmpty": true
1779
+ },
1780
+ "feel": "optional",
1781
+ "group": "provider",
1782
+ "binding": {
1783
+ "name": "provider.bedrock.region",
1784
+ "type": "zeebe:input"
1785
+ },
1786
+ "condition": {
1787
+ "property": "provider.type",
1788
+ "equals": "bedrock",
1789
+ "type": "simple"
1790
+ },
1791
+ "type": "String"
1792
+ },
1793
+ {
1794
+ "id": "provider.bedrock.endpoint",
1795
+ "label": "Endpoint",
1796
+ "description": "Specify endpoint if need to use a custom API endpoint",
1797
+ "optional": true,
1798
+ "group": "provider",
1799
+ "binding": {
1800
+ "name": "provider.bedrock.endpoint",
1801
+ "type": "zeebe:input"
1802
+ },
1803
+ "condition": {
1804
+ "property": "provider.type",
1805
+ "equals": "bedrock",
1806
+ "type": "simple"
1807
+ },
1808
+ "type": "Hidden"
1809
+ },
1810
+ {
1811
+ "id": "provider.bedrock.authentication.type",
1812
+ "label": "Authentication",
1813
+ "description": "Specify the AWS authentication strategy. Learn more at the <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-bedrock/#authentication\" target=\"_blank\">documentation page</a>",
1814
+ "value": "credentials",
1815
+ "group": "provider",
1816
+ "binding": {
1817
+ "name": "provider.bedrock.authentication.type",
1818
+ "type": "zeebe:input"
1819
+ },
1820
+ "condition": {
1821
+ "property": "provider.type",
1822
+ "equals": "bedrock",
1823
+ "type": "simple"
1824
+ },
1825
+ "type": "Dropdown",
1826
+ "choices": [
1827
+ {
1828
+ "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
1829
+ "value": "defaultCredentialsChain"
1830
+ },
1831
+ {
1832
+ "name": "Credentials",
1833
+ "value": "credentials"
1834
+ }
1835
+ ]
1836
+ },
1837
+ {
1838
+ "id": "provider.bedrock.authentication.accessKey",
1839
+ "label": "Access key",
1840
+ "description": "Provide an IAM access key tailored to a user, equipped with the necessary permissions",
1841
+ "optional": false,
1842
+ "constraints": {
1843
+ "notEmpty": true
1844
+ },
1845
+ "feel": "optional",
1846
+ "group": "provider",
1847
+ "binding": {
1848
+ "name": "provider.bedrock.authentication.accessKey",
1849
+ "type": "zeebe:input"
1850
+ },
1851
+ "condition": {
1852
+ "allMatch": [
1853
+ {
1854
+ "property": "provider.bedrock.authentication.type",
1855
+ "equals": "credentials",
1856
+ "type": "simple"
1857
+ },
1858
+ {
1859
+ "property": "provider.type",
1860
+ "equals": "bedrock",
1861
+ "type": "simple"
1862
+ }
1863
+ ]
1864
+ },
1865
+ "type": "String"
1866
+ },
1867
+ {
1868
+ "id": "provider.bedrock.authentication.secretKey",
1869
+ "label": "Secret key",
1870
+ "description": "Provide a secret key of a user with permissions to invoke specified AWS Lambda function",
1871
+ "optional": false,
1872
+ "constraints": {
1873
+ "notEmpty": true
1874
+ },
1875
+ "feel": "optional",
1876
+ "group": "provider",
1877
+ "binding": {
1878
+ "name": "provider.bedrock.authentication.secretKey",
1879
+ "type": "zeebe:input"
1880
+ },
1881
+ "condition": {
1882
+ "allMatch": [
1883
+ {
1884
+ "property": "provider.bedrock.authentication.type",
1885
+ "equals": "credentials",
1886
+ "type": "simple"
1887
+ },
1888
+ {
1889
+ "property": "provider.type",
1890
+ "equals": "bedrock",
1891
+ "type": "simple"
1892
+ }
1893
+ ]
1894
+ },
1895
+ "type": "String"
1896
+ },
1897
+ {
1898
+ "id": "provider.openai.authentication.apiKey",
1899
+ "label": "OpenAI API key",
1900
+ "optional": false,
1901
+ "constraints": {
1902
+ "notEmpty": true
1903
+ },
1904
+ "feel": "optional",
1905
+ "group": "provider",
1906
+ "binding": {
1907
+ "name": "provider.openai.authentication.apiKey",
1908
+ "type": "zeebe:input"
1909
+ },
1910
+ "condition": {
1911
+ "property": "provider.type",
1912
+ "equals": "openai",
1913
+ "type": "simple"
1914
+ },
1915
+ "type": "String"
1916
+ },
1917
+ {
1918
+ "id": "provider.openai.authentication.organizationId",
1919
+ "label": "Organization ID",
1920
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
1921
+ "optional": true,
1922
+ "feel": "optional",
1923
+ "group": "provider",
1924
+ "binding": {
1925
+ "name": "provider.openai.authentication.organizationId",
1926
+ "type": "zeebe:input"
1927
+ },
1928
+ "condition": {
1929
+ "property": "provider.type",
1930
+ "equals": "openai",
1931
+ "type": "simple"
1932
+ },
1933
+ "type": "String"
1934
+ },
1935
+ {
1936
+ "id": "provider.openai.authentication.projectId",
1937
+ "label": "Project ID",
1938
+ "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
1939
+ "optional": true,
1940
+ "feel": "optional",
1941
+ "group": "provider",
1942
+ "binding": {
1943
+ "name": "provider.openai.authentication.projectId",
1944
+ "type": "zeebe:input"
1945
+ },
1946
+ "condition": {
1947
+ "property": "provider.type",
1948
+ "equals": "openai",
1949
+ "type": "simple"
1950
+ },
1951
+ "type": "String"
1952
+ },
1953
+ {
1954
+ "id": "provider.openai.endpoint",
1955
+ "label": "Custom API endpoint",
1956
+ "description": "Optional custom API endpoint.",
1957
+ "optional": true,
1958
+ "feel": "optional",
1959
+ "group": "provider",
1960
+ "binding": {
1961
+ "name": "provider.openai.endpoint",
1962
+ "type": "zeebe:input"
1963
+ },
1964
+ "condition": {
1965
+ "property": "provider.type",
1966
+ "equals": "openai",
1967
+ "type": "simple"
1968
+ },
1969
+ "tooltip": "Configure a custom OpenAI compatible API endpoint to use the connector with an OpenAI compatible API. Typically ends in <code>/v1</code>.",
1970
+ "type": "String"
1971
+ },
1972
+ {
1973
+ "id": "provider.openai.headers",
1974
+ "label": "Custom headers",
1975
+ "description": "Map of custom HTTP headers to add to the request.",
1976
+ "optional": true,
1977
+ "feel": "required",
1978
+ "group": "provider",
1979
+ "binding": {
1980
+ "name": "provider.openai.headers",
1981
+ "type": "zeebe:input"
1982
+ },
1983
+ "condition": {
1984
+ "property": "provider.type",
1985
+ "equals": "openai",
1986
+ "type": "simple"
1987
+ },
1988
+ "type": "String"
1989
+ },
1990
+ {
1991
+ "id": "provider.anthropic.model.model",
1992
+ "label": "Model",
1993
+ "description": "Specify the model ID. Details in the <a href=\"https://docs.anthropic.com/en/docs/about-claude/models/all-models\" target=\"_blank\">documentation</a>.",
1994
+ "optional": false,
1995
+ "value": "claude-3-5-sonnet-20240620",
1996
+ "constraints": {
1997
+ "notEmpty": true
1998
+ },
1999
+ "feel": "optional",
2000
+ "group": "model",
2001
+ "binding": {
2002
+ "name": "provider.anthropic.model.model",
2003
+ "type": "zeebe:input"
2004
+ },
2005
+ "condition": {
2006
+ "property": "provider.type",
2007
+ "equals": "anthropic",
2008
+ "type": "simple"
2009
+ },
2010
+ "type": "String"
2011
+ },
2012
+ {
2013
+ "id": "provider.anthropic.model.parameters.maxTokens",
2014
+ "label": "Maximum tokens",
2015
+ "optional": true,
2016
+ "feel": "required",
2017
+ "group": "model",
2018
+ "binding": {
2019
+ "name": "provider.anthropic.model.parameters.maxTokens",
2020
+ "type": "zeebe:input"
2021
+ },
2022
+ "condition": {
2023
+ "property": "provider.type",
2024
+ "equals": "anthropic",
2025
+ "type": "simple"
2026
+ },
2027
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-max-tokens\" target=\"_blank\">documentation</a>.",
2028
+ "type": "Number"
2029
+ },
2030
+ {
2031
+ "id": "provider.anthropic.model.parameters.temperature",
2032
+ "label": "Temperature",
2033
+ "optional": true,
2034
+ "feel": "required",
2035
+ "group": "model",
2036
+ "binding": {
2037
+ "name": "provider.anthropic.model.parameters.temperature",
2038
+ "type": "zeebe:input"
2039
+ },
2040
+ "condition": {
2041
+ "property": "provider.type",
2042
+ "equals": "anthropic",
2043
+ "type": "simple"
2044
+ },
2045
+ "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-temperature\" target=\"_blank\">documentation</a>.",
2046
+ "type": "Number"
2047
+ },
2048
+ {
2049
+ "id": "provider.anthropic.model.parameters.topP",
2050
+ "label": "top P",
2051
+ "optional": true,
2052
+ "feel": "required",
2053
+ "group": "model",
2054
+ "binding": {
2055
+ "name": "provider.anthropic.model.parameters.topP",
2056
+ "type": "zeebe:input"
2057
+ },
2058
+ "condition": {
2059
+ "property": "provider.type",
2060
+ "equals": "anthropic",
2061
+ "type": "simple"
2062
+ },
2063
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-p\" target=\"_blank\">documentation</a>.",
2064
+ "type": "Number"
2065
+ },
2066
+ {
2067
+ "id": "provider.anthropic.model.parameters.topK",
2068
+ "label": "top K",
2069
+ "optional": true,
2070
+ "feel": "required",
2071
+ "group": "model",
2072
+ "binding": {
2073
+ "name": "provider.anthropic.model.parameters.topK",
2074
+ "type": "zeebe:input"
2075
+ },
2076
+ "condition": {
2077
+ "property": "provider.type",
2078
+ "equals": "anthropic",
2079
+ "type": "simple"
2080
+ },
2081
+ "tooltip": "Integer greater than 0. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-k\" target=\"_blank\">documentation</a>.",
2082
+ "type": "Number"
2083
+ },
2084
+ {
2085
+ "id": "provider.bedrock.model.model",
2086
+ "label": "Model",
2087
+ "description": "Specify the model ID. Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html\" target=\"_blank\">documentation</a>.",
2088
+ "optional": false,
2089
+ "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
2090
+ "constraints": {
2091
+ "notEmpty": true
2092
+ },
2093
+ "feel": "optional",
2094
+ "group": "model",
2095
+ "binding": {
2096
+ "name": "provider.bedrock.model.model",
2097
+ "type": "zeebe:input"
2098
+ },
2099
+ "condition": {
2100
+ "property": "provider.type",
2101
+ "equals": "bedrock",
2102
+ "type": "simple"
2103
+ },
2104
+ "type": "String"
2105
+ },
2106
+ {
2107
+ "id": "provider.bedrock.model.parameters.maxTokens",
2108
+ "label": "Maximum tokens",
2109
+ "optional": true,
2110
+ "feel": "required",
2111
+ "group": "model",
2112
+ "binding": {
2113
+ "name": "provider.bedrock.model.parameters.maxTokens",
2114
+ "type": "zeebe:input"
2115
+ },
2116
+ "condition": {
2117
+ "property": "provider.type",
2118
+ "equals": "bedrock",
2119
+ "type": "simple"
2120
+ },
2121
+ "tooltip": "The maximum number of tokens per request to allow in the generated response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
2122
+ "type": "Number"
2123
+ },
2124
+ {
2125
+ "id": "provider.bedrock.model.parameters.temperature",
2126
+ "label": "Temperature",
2127
+ "optional": true,
2128
+ "feel": "required",
2129
+ "group": "model",
2130
+ "binding": {
2131
+ "name": "provider.bedrock.model.parameters.temperature",
2132
+ "type": "zeebe:input"
2133
+ },
2134
+ "condition": {
2135
+ "property": "provider.type",
2136
+ "equals": "bedrock",
2137
+ "type": "simple"
2138
+ },
2139
+ "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
2140
+ "type": "Number"
2141
+ },
2142
+ {
2143
+ "id": "provider.bedrock.model.parameters.topP",
2144
+ "label": "top P",
2145
+ "optional": true,
2146
+ "feel": "required",
2147
+ "group": "model",
2148
+ "binding": {
2149
+ "name": "provider.bedrock.model.parameters.topP",
2150
+ "type": "zeebe:input"
2151
+ },
2152
+ "condition": {
2153
+ "property": "provider.type",
2154
+ "equals": "bedrock",
2155
+ "type": "simple"
2156
+ },
2157
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
2158
+ "type": "Number"
2159
+ },
2160
+ {
2161
+ "id": "provider.openai.model.model",
2162
+ "label": "Model",
2163
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
2164
+ "optional": false,
2165
+ "value": "gpt-4o",
2166
+ "constraints": {
2167
+ "notEmpty": true
2168
+ },
2169
+ "feel": "optional",
2170
+ "group": "model",
2171
+ "binding": {
2172
+ "name": "provider.openai.model.model",
2173
+ "type": "zeebe:input"
2174
+ },
2175
+ "condition": {
2176
+ "property": "provider.type",
2177
+ "equals": "openai",
2178
+ "type": "simple"
2179
+ },
2180
+ "type": "String"
2181
+ },
2182
+ {
2183
+ "id": "provider.openai.model.parameters.maxCompletionTokens",
2184
+ "label": "Maximum completion tokens",
2185
+ "optional": true,
2186
+ "feel": "required",
2187
+ "group": "model",
2188
+ "binding": {
2189
+ "name": "provider.openai.model.parameters.maxCompletionTokens",
2190
+ "type": "zeebe:input"
2191
+ },
2192
+ "condition": {
2193
+ "property": "provider.type",
2194
+ "equals": "openai",
2195
+ "type": "simple"
2196
+ },
2197
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_completion_tokens\" target=\"_blank\">documentation</a>.",
2198
+ "type": "Number"
2199
+ },
2200
+ {
2201
+ "id": "provider.openai.model.parameters.temperature",
2202
+ "label": "Temperature",
2203
+ "optional": true,
2204
+ "feel": "required",
2205
+ "group": "model",
2206
+ "binding": {
2207
+ "name": "provider.openai.model.parameters.temperature",
2208
+ "type": "zeebe:input"
2209
+ },
2210
+ "condition": {
2211
+ "property": "provider.type",
2212
+ "equals": "openai",
2213
+ "type": "simple"
2214
+ },
2215
+ "tooltip": "Floating point number between 0 and 2. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-temperature\" target=\"_blank\">documentation</a>.",
2216
+ "type": "Number"
2217
+ },
2218
+ {
2219
+ "id": "provider.openai.model.parameters.topP",
2220
+ "label": "top P",
2221
+ "optional": true,
2222
+ "feel": "required",
2223
+ "group": "model",
2224
+ "binding": {
2225
+ "name": "provider.openai.model.parameters.topP",
2226
+ "type": "zeebe:input"
2227
+ },
2228
+ "condition": {
2229
+ "property": "provider.type",
2230
+ "equals": "openai",
2231
+ "type": "simple"
2232
+ },
2233
+ "tooltip": "Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-top_p\" target=\"_blank\">documentation</a>.",
2234
+ "type": "Number"
2235
+ },
2236
+ {
2237
+ "id": "data.systemPrompt.prompt",
2238
+ "label": "System prompt",
2239
+ "optional": false,
2240
+ "value": "You are **TaskAgent**, a helpful, generic chat agent that can handle a wide variety of customer requests using your own domain knowledge **and** any tools explicitly provided to you at runtime.\n\nIf tools are provided, you should prefer them instead of guessing an answer. You can call the same tool multiple times by providing different input values. Don't guess any tools which were not explicitely configured. If no tool matches the request, try to generate an answer. If you're not able to find a good answer, return with a message stating why you're not able to.\n\nWrap minimal, inspectable reasoning in *exactly* this XML template:\n\n<thinking>\n <context>…briefly state the customer’s need and current state…</context>\n <reflection>…list candidate tools, justify which you will call next and why…</reflection>\n</thinking>\n\nReveal **no** additional private reasoning outside these tags.\n",
2241
+ "constraints": {
2242
+ "notEmpty": true
2243
+ },
2244
+ "feel": "optional",
2245
+ "group": "systemPrompt",
2246
+ "binding": {
2247
+ "name": "data.systemPrompt.prompt",
2248
+ "type": "zeebe:input"
2249
+ },
2250
+ "type": "Text"
2251
+ },
2252
+ {
2253
+ "id": "data.systemPrompt.parameters",
2254
+ "label": "System prompt parameters",
2255
+ "description": "Use <code>{{parameter}}</code> format to insert dynamic values into the prompt.",
2256
+ "optional": true,
2257
+ "feel": "required",
2258
+ "group": "systemPrompt",
2259
+ "binding": {
2260
+ "name": "data.systemPrompt.parameters",
2261
+ "type": "zeebe:input"
2262
+ },
2263
+ "tooltip": "Map parameters in the prompt using the <code>{{parameter}}</code> format. Default parameters: <code>current_date</code>, <code>current_time</code>, <code>current_date_time</code>",
2264
+ "type": "String"
2265
+ },
2266
+ {
2267
+ "id": "data.userPrompt.prompt",
2268
+ "label": "User prompt",
2269
+ "optional": false,
2270
+ "constraints": {
2271
+ "notEmpty": true
2272
+ },
2273
+ "feel": "optional",
2274
+ "group": "userPrompt",
2275
+ "binding": {
2276
+ "name": "data.userPrompt.prompt",
2277
+ "type": "zeebe:input"
2278
+ },
2279
+ "type": "Text"
2280
+ },
2281
+ {
2282
+ "id": "data.userPrompt.parameters",
2283
+ "label": "User prompt parameters",
2284
+ "description": "Use <code>{{parameter}}</code> format to insert dynamic values into the prompt.",
2285
+ "optional": true,
2286
+ "feel": "required",
2287
+ "group": "userPrompt",
2288
+ "binding": {
2289
+ "name": "data.userPrompt.parameters",
2290
+ "type": "zeebe:input"
2291
+ },
2292
+ "tooltip": "Map parameters in the prompt using the <code>{{parameter}}</code> format. Default parameters: <code>current_date</code>, <code>current_time</code>, <code>current_date_time</code>",
2293
+ "type": "String"
2294
+ },
2295
+ {
2296
+ "id": "data.userPrompt.documents",
2297
+ "label": "Documents",
2298
+ "description": "Documents to be included in the user prompt.",
2299
+ "optional": true,
2300
+ "feel": "required",
2301
+ "group": "userPrompt",
2302
+ "binding": {
2303
+ "name": "data.userPrompt.documents",
2304
+ "type": "zeebe:input"
2305
+ },
2306
+ "tooltip": "Referenced documents will be automatically added to the user prompt. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details and supported file types.",
2307
+ "type": "String"
2308
+ },
2309
+ {
2310
+ "id": "data.tools.containerElementId",
2311
+ "label": "Ad-hoc sub-process ID",
2312
+ "description": "ID of the sub-process that contains the tools the AI agent can use.",
2313
+ "optional": true,
2314
+ "feel": "optional",
2315
+ "group": "tools",
2316
+ "binding": {
2317
+ "name": "data.tools.containerElementId",
2318
+ "type": "zeebe:input"
2319
+ },
2320
+ "tooltip": "Add an ad-hoc sub-process ID to attach the AI agent to the tools. Ensure your process includes a tools feedback loop routing into the ad-hoc sub-process and back to the AI agent connector. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
2321
+ "type": "String"
2322
+ },
2323
+ {
2324
+ "id": "data.tools.toolCallResults",
2325
+ "label": "Tool call results",
2326
+ "description": "Tool call results as returned by the sub-process.",
2327
+ "optional": true,
2328
+ "feel": "required",
2329
+ "group": "tools",
2330
+ "binding": {
2331
+ "name": "data.tools.toolCallResults",
2332
+ "type": "zeebe:input"
2333
+ },
2334
+ "tooltip": "This defines where to handle tool call results returned by the ad-hoc sub-process. Model this as part of your process and route it into the tools feedback loop. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
2335
+ "type": "Text"
2336
+ },
2337
+ {
2338
+ "id": "data.agentContext",
2339
+ "label": "Agent context",
2340
+ "optional": false,
2341
+ "value": "=agent.context",
2342
+ "constraints": {
2343
+ "notEmpty": true
2344
+ },
2345
+ "feel": "required",
2346
+ "group": "memory",
2347
+ "binding": {
2348
+ "name": "data.context",
2349
+ "type": "zeebe:input"
2350
+ },
2351
+ "tooltip": "The agent context variable containing all relevant data for the agent to support the feedback loop between user requests, tool calls and LLM responses. Make sure this variable points to the <code>context</code> variable which is returned from the agent response. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
2352
+ "type": "Text"
2353
+ },
2354
+ {
2355
+ "id": "data.memory.storage.type",
2356
+ "label": "Memory storage type",
2357
+ "description": "Specify how to store the conversation memory.",
2358
+ "value": "in-process",
2359
+ "group": "memory",
2360
+ "binding": {
2361
+ "name": "data.memory.storage.type",
2362
+ "type": "zeebe:input"
2363
+ },
2364
+ "type": "Dropdown",
2365
+ "choices": [
2366
+ {
2367
+ "name": "In Process (part of agent context)",
2368
+ "value": "in-process"
2369
+ },
2370
+ {
2371
+ "name": "Camunda Document Storage",
2372
+ "value": "camunda-document"
2373
+ }
2374
+ ]
2375
+ },
2376
+ {
2377
+ "id": "data.memory.storage.timeToLive",
2378
+ "label": "Document TTL",
2379
+ "description": "How long to retain the conversation document as ISO-8601 duration (example: <code>P14D</code>).",
2380
+ "optional": true,
2381
+ "feel": "optional",
2382
+ "group": "memory",
2383
+ "binding": {
2384
+ "name": "data.memory.storage.timeToLive",
2385
+ "type": "zeebe:input"
2386
+ },
2387
+ "condition": {
2388
+ "property": "data.memory.storage.type",
2389
+ "equals": "camunda-document",
2390
+ "type": "simple"
2391
+ },
2392
+ "tooltip": "Will use the cluster default TTL (time-to-live) if not specified. Make sure to set this value to a reasonable duration matching your process lifecycle.",
2393
+ "type": "String"
2394
+ },
2395
+ {
2396
+ "id": "data.memory.storage.customProperties",
2397
+ "label": "Custom document properties",
2398
+ "description": "An optional map of custom properties to be stored with the conversation document.",
2399
+ "optional": true,
2400
+ "feel": "required",
2401
+ "group": "memory",
2402
+ "binding": {
2403
+ "name": "data.memory.storage.customProperties",
2404
+ "type": "zeebe:input"
2405
+ },
2406
+ "condition": {
2407
+ "property": "data.memory.storage.type",
2408
+ "equals": "camunda-document",
2409
+ "type": "simple"
2410
+ },
2411
+ "type": "String"
2412
+ },
2413
+ {
2414
+ "id": "data.memory.contextWindowSize",
2415
+ "label": "Context window size",
2416
+ "description": "Maximum number of recent conversation messages which are passed to the model.",
2417
+ "optional": false,
2418
+ "value": 20,
2419
+ "feel": "static",
2420
+ "group": "memory",
2421
+ "binding": {
2422
+ "name": "data.memory.contextWindowSize",
2423
+ "type": "zeebe:input"
2424
+ },
2425
+ "tooltip": "Use this to limit the number of messages which are sent to the model. The agent will only send the most recent messages up to the configured limit to the LLM. Older messages will be kept in the conversation store, but not sent to the model. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
2426
+ "type": "Number"
2427
+ },
2428
+ {
2429
+ "id": "data.limits.maxModelCalls",
2430
+ "label": "Maximum model calls",
2431
+ "description": "Maximum number of calls to the model as a safety limit to prevent infinite loops.",
2432
+ "optional": false,
2433
+ "value": 10,
2434
+ "feel": "static",
2435
+ "group": "limits",
2436
+ "binding": {
2437
+ "name": "data.limits.maxModelCalls",
2438
+ "type": "zeebe:input"
2439
+ },
2440
+ "type": "Number"
2441
+ },
2442
+ {
2443
+ "id": "data.response.format.type",
2444
+ "label": "Response format",
2445
+ "description": "Specify the response format. Support for JSON mode varies by provider.",
2446
+ "value": "text",
2447
+ "group": "response",
2448
+ "binding": {
2449
+ "name": "data.response.format.type",
2450
+ "type": "zeebe:input"
2451
+ },
2452
+ "type": "Dropdown",
2453
+ "choices": [
2454
+ {
2455
+ "name": "Text",
2456
+ "value": "text"
2457
+ },
2458
+ {
2459
+ "name": "JSON",
2460
+ "value": "json"
2461
+ }
2462
+ ]
2463
+ },
2464
+ {
2465
+ "id": "data.response.format.parseJson",
2466
+ "label": "Parse text as JSON",
2467
+ "description": "Tries to parse the LLM response text as JSON object.",
2468
+ "optional": true,
2469
+ "feel": "static",
2470
+ "group": "response",
2471
+ "binding": {
2472
+ "name": "data.response.format.parseJson",
2473
+ "type": "zeebe:input"
2474
+ },
2475
+ "condition": {
2476
+ "property": "data.response.format.type",
2477
+ "equals": "text",
2478
+ "type": "simple"
2479
+ },
2480
+ "tooltip": "Use this option in combination with models which don't support native JSON mode/structured tool calling (e.g. Anthropic). Make sure to instruct the model to return valid JSON in the system prompt. The parsed JSON will be available as <code>response.responseJson</code>.<br><br>If parsing fails, <code>null</code> will be returned as JSON response, but the text content will still be available as <code>response.responseText</code>.",
2481
+ "type": "Boolean"
2482
+ },
2483
+ {
2484
+ "id": "data.response.format.schema",
2485
+ "label": "Response JSON schema",
2486
+ "description": "An optional response <a href=\"https://json-schema.org/\" target=\"_blank\">JSON Schema</a> to instruct the model how to structure the JSON output.",
2487
+ "optional": true,
2488
+ "feel": "required",
2489
+ "group": "response",
2490
+ "binding": {
2491
+ "name": "data.response.format.schema",
2492
+ "type": "zeebe:input"
2493
+ },
2494
+ "condition": {
2495
+ "property": "data.response.format.type",
2496
+ "equals": "json",
2497
+ "type": "simple"
2498
+ },
2499
+ "tooltip": "If supported by the model, the response will be structured according to the provided schema. A parsed version of the response will be available as <code>response.responseJson</code>.",
2500
+ "type": "String"
2501
+ },
2502
+ {
2503
+ "id": "data.response.format.schemaName",
2504
+ "label": "Response JSON schema name",
2505
+ "description": "An optional name for the response JSON Schema to make the model aware of the expected output.",
2506
+ "optional": true,
2507
+ "value": "Response",
2508
+ "feel": "optional",
2509
+ "group": "response",
2510
+ "binding": {
2511
+ "name": "data.response.format.schemaName",
2512
+ "type": "zeebe:input"
2513
+ },
2514
+ "condition": {
2515
+ "property": "data.response.format.type",
2516
+ "equals": "json",
2517
+ "type": "simple"
2518
+ },
2519
+ "type": "String"
2520
+ },
2521
+ {
2522
+ "id": "data.response.includeAssistantMessage",
2523
+ "label": "Include assistant message",
2524
+ "description": "Include the full assistant message as part of the result object.",
2525
+ "optional": true,
2526
+ "feel": "static",
2527
+ "group": "response",
2528
+ "binding": {
2529
+ "name": "data.response.includeAssistantMessage",
2530
+ "type": "zeebe:input"
2531
+ },
2532
+ "tooltip": "In addition to the text content, the assistant message may include multiple additional content blocks and metadata (such as token usage). The message will be available as <code>response.responseMessage</code>.",
2533
+ "type": "Boolean"
2534
+ },
2535
+ {
2536
+ "id": "version",
2537
+ "label": "Version",
2538
+ "description": "Version of the element template",
2539
+ "value": "1",
2540
+ "group": "connector",
2541
+ "binding": {
2542
+ "key": "elementTemplateVersion",
2543
+ "type": "zeebe:taskHeader"
2544
+ },
2545
+ "type": "Hidden"
2546
+ },
2547
+ {
2548
+ "id": "id",
2549
+ "label": "ID",
2550
+ "description": "ID of the element template",
2551
+ "value": "io.camunda.connectors.agenticai.aiagent.v1",
2552
+ "group": "connector",
2553
+ "binding": {
2554
+ "key": "elementTemplateId",
2555
+ "type": "zeebe:taskHeader"
2556
+ },
2557
+ "type": "Hidden"
2558
+ },
2559
+ {
2560
+ "id": "resultVariable",
2561
+ "label": "Result variable",
2562
+ "description": "Name of variable to store the response in",
2563
+ "value": "agent",
2564
+ "group": "output",
2565
+ "binding": {
2566
+ "key": "resultVariable",
2567
+ "type": "zeebe:taskHeader"
2568
+ },
2569
+ "type": "String"
2570
+ },
2571
+ {
2572
+ "id": "resultExpression",
2573
+ "label": "Result expression",
2574
+ "description": "Expression to map the response into process variables",
2575
+ "feel": "required",
2576
+ "group": "output",
2577
+ "binding": {
2578
+ "key": "resultExpression",
2579
+ "type": "zeebe:taskHeader"
2580
+ },
2581
+ "type": "Text"
2582
+ },
2583
+ {
2584
+ "id": "errorExpression",
2585
+ "label": "Error expression",
2586
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2587
+ "feel": "required",
2588
+ "group": "error",
2589
+ "binding": {
2590
+ "key": "errorExpression",
2591
+ "type": "zeebe:taskHeader"
2592
+ },
2593
+ "type": "Text"
2594
+ },
2595
+ {
2596
+ "id": "retryCount",
2597
+ "label": "Retries",
2598
+ "description": "Number of retries",
2599
+ "value": "3",
2600
+ "feel": "optional",
2601
+ "group": "retries",
2602
+ "binding": {
2603
+ "property": "retries",
2604
+ "type": "zeebe:taskDefinition"
2605
+ },
2606
+ "type": "String"
2607
+ },
2608
+ {
2609
+ "id": "retryBackoff",
2610
+ "label": "Retry backoff",
2611
+ "description": "ISO-8601 duration to wait between retries",
2612
+ "value": "PT0S",
2613
+ "group": "retries",
2614
+ "binding": {
2615
+ "key": "retryBackoff",
2616
+ "type": "zeebe:taskHeader"
2617
+ },
2618
+ "type": "String"
2619
+ }
2620
+ ],
2621
+ "icon": {
2622
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K"
2623
+ }
2624
+ },
2625
+ {
2626
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2627
+ "name": "AI Agent Task",
2628
+ "id": "io.camunda.connectors.agenticai.aiagent.v1",
2629
+ "description": "Execute a single AI-powered action with tool calling capabilities",
2630
+ "metadata": {
2631
+ "keywords": ["AI", "AI Agent", "agentic orchestration"]
2632
+ },
2633
+ "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
2634
+ "version": 4,
2635
+ "category": {
2636
+ "id": "connectors",
2637
+ "name": "Connectors"
2638
+ },
2639
+ "appliesTo": ["bpmn:Task"],
2640
+ "elementType": {
2641
+ "value": "bpmn:ServiceTask"
2642
+ },
2643
+ "engines": {
2644
+ "camunda": "^8.8"
2645
+ },
2646
+ "groups": [
2647
+ {
2648
+ "id": "provider",
2649
+ "label": "Model provider",
2650
+ "openByDefault": false
2651
+ },
2652
+ {
2653
+ "id": "model",
2654
+ "label": "Model",
2655
+ "openByDefault": false
2656
+ },
2657
+ {
2658
+ "id": "systemPrompt",
2659
+ "label": "System prompt",
2660
+ "tooltip": "A system prompt is a set of foundational instructions given to a model before any user interaction begins. It defines the AI agent’s role, behavior, tone, and communication style, ensuring that responses remain consistent and aligned with the AI agent’s intended purpose. These instructions help shape how the model interprets and responds to user input throughout the conversation.",
2661
+ "openByDefault": false
2662
+ },
2663
+ {
2664
+ "id": "userPrompt",
2665
+ "label": "User prompt",
2666
+ "tooltip": "A user prompt is the message or question you give to the AI to start or continue a conversation. It tells the AI what you need, whether it's information, help with a task, or just a chat. The AI uses your prompt to understand how to respond.",
2667
+ "openByDefault": false
2668
+ },
2669
+ {
2670
+ "id": "tools",
2671
+ "label": "Tools",
2672
+ "tooltip": "Tools are optional features the AI Agent can use to perform specific tasks. Configure this if the agent should participate in a tools feedback loop.",
2673
+ "openByDefault": false
2674
+ },
2675
+ {
2676
+ "id": "memory",
2677
+ "label": "Memory",
2678
+ "tooltip": "Configuration of the Agent's short-term/conversational memory.",
2679
+ "openByDefault": false
2680
+ },
2681
+ {
2682
+ "id": "limits",
2683
+ "label": "Limits",
2684
+ "openByDefault": false
2685
+ },
2686
+ {
2687
+ "id": "response",
2688
+ "label": "Response",
2689
+ "tooltip": "Configuration of the model response format and how to map the model response to the connector result.<br><br>Depending on the selection, the model response will be available as <code>response.responseText</code> or <code>response.responseJson</code>.<br><br>See <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/#response\">documentation</a> for details.",
2690
+ "openByDefault": false
2691
+ },
2692
+ {
2693
+ "id": "connector",
2694
+ "label": "Connector"
2695
+ },
2696
+ {
2697
+ "id": "output",
2698
+ "label": "Output mapping"
2699
+ },
2700
+ {
2701
+ "id": "error",
2702
+ "label": "Error handling"
2703
+ },
2704
+ {
2705
+ "id": "retries",
2706
+ "label": "Retries"
2707
+ }
2708
+ ],
2709
+ "properties": [
2710
+ {
2711
+ "value": "io.camunda.agenticai:aiagent:1",
2712
+ "binding": {
2713
+ "property": "type",
2714
+ "type": "zeebe:taskDefinition"
2715
+ },
2716
+ "type": "Hidden"
2717
+ },
2718
+ {
2719
+ "id": "provider.type",
2720
+ "label": "Provider",
2721
+ "description": "Specify the LLM provider to use.",
2722
+ "value": "anthropic",
2723
+ "group": "provider",
2724
+ "binding": {
2725
+ "name": "provider.type",
2726
+ "type": "zeebe:input"
2727
+ },
2728
+ "type": "Dropdown",
2729
+ "choices": [
2730
+ {
2731
+ "name": "Anthropic",
2732
+ "value": "anthropic"
2733
+ },
2734
+ {
2735
+ "name": "AWS Bedrock",
2736
+ "value": "bedrock"
2737
+ },
2738
+ {
2739
+ "name": "Azure OpenAI",
2740
+ "value": "azureOpenAi"
2741
+ },
2742
+ {
2743
+ "name": "Google Vertex AI",
2744
+ "value": "google-vertex-ai"
2745
+ },
2746
+ {
2747
+ "name": "OpenAI",
2748
+ "value": "openai"
2749
+ },
2750
+ {
2751
+ "name": "OpenAI Compatible",
2752
+ "value": "openaiCompatible"
2753
+ }
2754
+ ]
2755
+ },
2756
+ {
2757
+ "id": "provider.anthropic.endpoint",
2758
+ "label": "Endpoint",
2759
+ "description": "Optional custom API endpoint",
2760
+ "optional": true,
2761
+ "feel": "optional",
2762
+ "group": "provider",
2763
+ "binding": {
2764
+ "name": "provider.anthropic.endpoint",
2765
+ "type": "zeebe:input"
2766
+ },
2767
+ "condition": {
2768
+ "property": "provider.type",
2769
+ "equals": "anthropic",
2770
+ "type": "simple"
2771
+ },
2772
+ "type": "String"
2773
+ },
2774
+ {
2775
+ "id": "provider.anthropic.authentication.apiKey",
2776
+ "label": "Anthropic API key",
2777
+ "optional": false,
2778
+ "constraints": {
2779
+ "notEmpty": true
2780
+ },
2781
+ "feel": "optional",
2782
+ "group": "provider",
2783
+ "binding": {
2784
+ "name": "provider.anthropic.authentication.apiKey",
2785
+ "type": "zeebe:input"
2786
+ },
2787
+ "condition": {
2788
+ "property": "provider.type",
2789
+ "equals": "anthropic",
2790
+ "type": "simple"
2791
+ },
2792
+ "type": "String"
2793
+ },
2794
+ {
2795
+ "id": "provider.bedrock.region",
2796
+ "label": "Region",
2797
+ "description": "Specify the AWS region (example: <code>eu-west-1</code>)",
2798
+ "optional": false,
2799
+ "constraints": {
2800
+ "notEmpty": true
2801
+ },
2802
+ "feel": "optional",
2803
+ "group": "provider",
2804
+ "binding": {
2805
+ "name": "provider.bedrock.region",
2806
+ "type": "zeebe:input"
2807
+ },
2808
+ "condition": {
2809
+ "property": "provider.type",
2810
+ "equals": "bedrock",
2811
+ "type": "simple"
2812
+ },
2813
+ "type": "String"
2814
+ },
2815
+ {
2816
+ "id": "provider.bedrock.endpoint",
2817
+ "label": "Endpoint",
2818
+ "description": "Optional custom API endpoint",
2819
+ "optional": true,
2820
+ "feel": "optional",
2821
+ "group": "provider",
2822
+ "binding": {
2823
+ "name": "provider.bedrock.endpoint",
2824
+ "type": "zeebe:input"
2825
+ },
2826
+ "condition": {
2827
+ "property": "provider.type",
2828
+ "equals": "bedrock",
2829
+ "type": "simple"
2830
+ },
2831
+ "type": "String"
2832
+ },
2833
+ {
2834
+ "id": "provider.bedrock.authentication.type",
2835
+ "label": "Authentication",
2836
+ "description": "Specify the AWS authentication strategy. Learn more at the <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-bedrock/#authentication\" target=\"_blank\">documentation page</a>",
2837
+ "value": "credentials",
2838
+ "group": "provider",
2839
+ "binding": {
2840
+ "name": "provider.bedrock.authentication.type",
2841
+ "type": "zeebe:input"
2842
+ },
2843
+ "condition": {
2844
+ "property": "provider.type",
2845
+ "equals": "bedrock",
2846
+ "type": "simple"
2847
+ },
2848
+ "type": "Dropdown",
2849
+ "choices": [
2850
+ {
2851
+ "name": "Credentials",
2852
+ "value": "credentials"
2853
+ },
2854
+ {
2855
+ "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
2856
+ "value": "defaultCredentialsChain"
2857
+ }
2858
+ ]
2859
+ },
2860
+ {
2861
+ "id": "provider.bedrock.authentication.accessKey",
2862
+ "label": "Access key",
2863
+ "description": "Provide an IAM access key tailored to a user, equipped with the necessary permissions",
2864
+ "optional": false,
2865
+ "constraints": {
2866
+ "notEmpty": true
2867
+ },
2868
+ "feel": "optional",
2869
+ "group": "provider",
2870
+ "binding": {
2871
+ "name": "provider.bedrock.authentication.accessKey",
2872
+ "type": "zeebe:input"
2873
+ },
2874
+ "condition": {
2875
+ "allMatch": [
2876
+ {
2877
+ "property": "provider.bedrock.authentication.type",
2878
+ "equals": "credentials",
2879
+ "type": "simple"
2880
+ },
2881
+ {
2882
+ "property": "provider.type",
2883
+ "equals": "bedrock",
2884
+ "type": "simple"
2885
+ }
2886
+ ]
2887
+ },
2888
+ "type": "String"
2889
+ },
2890
+ {
2891
+ "id": "provider.bedrock.authentication.secretKey",
2892
+ "label": "Secret key",
2893
+ "description": "Provide a secret key of a user with permissions to invoke specified AWS Lambda function",
2894
+ "optional": false,
2895
+ "constraints": {
2896
+ "notEmpty": true
2897
+ },
2898
+ "feel": "optional",
2899
+ "group": "provider",
2900
+ "binding": {
2901
+ "name": "provider.bedrock.authentication.secretKey",
2902
+ "type": "zeebe:input"
2903
+ },
2904
+ "condition": {
2905
+ "allMatch": [
2906
+ {
2907
+ "property": "provider.bedrock.authentication.type",
2908
+ "equals": "credentials",
2909
+ "type": "simple"
2910
+ },
2911
+ {
2912
+ "property": "provider.type",
2913
+ "equals": "bedrock",
2914
+ "type": "simple"
2915
+ }
2916
+ ]
2917
+ },
2918
+ "type": "String"
2919
+ },
2920
+ {
2921
+ "id": "provider.azureOpenAi.endpoint",
2922
+ "label": "Endpoint",
2923
+ "description": "Specify Azure OpenAI endpoint. Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference\" target=\"_blank\">documentation</a>.",
2924
+ "optional": false,
2925
+ "constraints": {
2926
+ "notEmpty": true
2927
+ },
2928
+ "feel": "optional",
2929
+ "group": "provider",
2930
+ "binding": {
2931
+ "name": "provider.azureOpenAi.endpoint",
2932
+ "type": "zeebe:input"
2933
+ },
2934
+ "condition": {
2935
+ "property": "provider.type",
2936
+ "equals": "azureOpenAi",
2937
+ "type": "simple"
2938
+ },
2939
+ "type": "String"
2940
+ },
2941
+ {
2942
+ "id": "provider.azureOpenAi.authentication.type",
2943
+ "label": "Authentication",
2944
+ "description": "Specify the Azure OpenAI authentication strategy.",
2945
+ "value": "apiKey",
2946
+ "group": "provider",
2947
+ "binding": {
2948
+ "name": "provider.azureOpenAi.authentication.type",
2949
+ "type": "zeebe:input"
2950
+ },
2951
+ "condition": {
2952
+ "property": "provider.type",
2953
+ "equals": "azureOpenAi",
2954
+ "type": "simple"
2955
+ },
2956
+ "type": "Dropdown",
2957
+ "choices": [
2958
+ {
2959
+ "name": "API key",
2960
+ "value": "apiKey"
2961
+ },
2962
+ {
2963
+ "name": "Client credentials",
2964
+ "value": "clientCredentials"
2965
+ }
2966
+ ]
2967
+ },
2968
+ {
2969
+ "id": "provider.azureOpenAi.authentication.apiKey",
2970
+ "label": "API key",
2971
+ "optional": false,
2972
+ "constraints": {
2973
+ "notEmpty": true
2974
+ },
2975
+ "feel": "optional",
2976
+ "group": "provider",
2977
+ "binding": {
2978
+ "name": "provider.azureOpenAi.authentication.apiKey",
2979
+ "type": "zeebe:input"
2980
+ },
2981
+ "condition": {
2982
+ "allMatch": [
2983
+ {
2984
+ "property": "provider.azureOpenAi.authentication.type",
2985
+ "equals": "apiKey",
2986
+ "type": "simple"
2987
+ },
2988
+ {
2989
+ "property": "provider.type",
2990
+ "equals": "azureOpenAi",
2991
+ "type": "simple"
2992
+ }
2993
+ ]
2994
+ },
2995
+ "type": "String"
2996
+ },
2997
+ {
2998
+ "id": "provider.azureOpenAi.authentication.clientId",
2999
+ "label": "Client ID",
3000
+ "description": "ID of a Microsoft Entra application",
3001
+ "optional": false,
3002
+ "constraints": {
3003
+ "notEmpty": true
3004
+ },
3005
+ "feel": "optional",
3006
+ "group": "provider",
3007
+ "binding": {
3008
+ "name": "provider.azureOpenAi.authentication.clientId",
3009
+ "type": "zeebe:input"
3010
+ },
3011
+ "condition": {
3012
+ "allMatch": [
3013
+ {
3014
+ "property": "provider.azureOpenAi.authentication.type",
3015
+ "equals": "clientCredentials",
3016
+ "type": "simple"
3017
+ },
3018
+ {
3019
+ "property": "provider.type",
3020
+ "equals": "azureOpenAi",
3021
+ "type": "simple"
3022
+ }
3023
+ ]
3024
+ },
3025
+ "type": "String"
3026
+ },
3027
+ {
3028
+ "id": "provider.azureOpenAi.authentication.clientSecret",
3029
+ "label": "Client secret",
3030
+ "description": "Secret of a Microsoft Entra application",
3031
+ "optional": false,
3032
+ "constraints": {
3033
+ "notEmpty": true
3034
+ },
3035
+ "feel": "optional",
3036
+ "group": "provider",
3037
+ "binding": {
3038
+ "name": "provider.azureOpenAi.authentication.clientSecret",
3039
+ "type": "zeebe:input"
3040
+ },
3041
+ "condition": {
3042
+ "allMatch": [
3043
+ {
3044
+ "property": "provider.azureOpenAi.authentication.type",
3045
+ "equals": "clientCredentials",
3046
+ "type": "simple"
3047
+ },
3048
+ {
3049
+ "property": "provider.type",
3050
+ "equals": "azureOpenAi",
3051
+ "type": "simple"
3052
+ }
3053
+ ]
3054
+ },
3055
+ "type": "String"
3056
+ },
3057
+ {
3058
+ "id": "provider.azureOpenAi.authentication.tenantId",
3059
+ "label": "Tenant ID",
3060
+ "description": "ID of a Microsoft Entra tenant. Details in the <a href=\"https://learn.microsoft.com/en-us/entra/fundamentals/how-to-find-tenant\" target=\"_blank\">documentation</a>.",
3061
+ "optional": false,
3062
+ "constraints": {
3063
+ "notEmpty": true
3064
+ },
3065
+ "feel": "optional",
3066
+ "group": "provider",
3067
+ "binding": {
3068
+ "name": "provider.azureOpenAi.authentication.tenantId",
3069
+ "type": "zeebe:input"
3070
+ },
3071
+ "condition": {
3072
+ "allMatch": [
3073
+ {
3074
+ "property": "provider.azureOpenAi.authentication.type",
3075
+ "equals": "clientCredentials",
3076
+ "type": "simple"
3077
+ },
3078
+ {
3079
+ "property": "provider.type",
3080
+ "equals": "azureOpenAi",
3081
+ "type": "simple"
3082
+ }
3083
+ ]
3084
+ },
3085
+ "type": "String"
3086
+ },
3087
+ {
3088
+ "id": "provider.azureOpenAi.authentication.authorityHost",
3089
+ "label": "Authority host",
3090
+ "description": "Authority host URL for the Microsoft Entra application. Defaults to <code>https://login.microsoftonline.com</code>. This can also contain an OAuth 2.0 token endpoint.",
3091
+ "optional": true,
3092
+ "feel": "optional",
3093
+ "group": "provider",
3094
+ "binding": {
3095
+ "name": "provider.azureOpenAi.authentication.authorityHost",
3096
+ "type": "zeebe:input"
3097
+ },
3098
+ "condition": {
3099
+ "allMatch": [
3100
+ {
3101
+ "property": "provider.azureOpenAi.authentication.type",
3102
+ "equals": "clientCredentials",
3103
+ "type": "simple"
3104
+ },
3105
+ {
3106
+ "property": "provider.type",
3107
+ "equals": "azureOpenAi",
3108
+ "type": "simple"
3109
+ }
3110
+ ]
3111
+ },
3112
+ "type": "String"
3113
+ },
3114
+ {
3115
+ "id": "provider.googleVertexAi.projectId",
3116
+ "label": "Project ID",
3117
+ "description": "Specify Google Cloud project ID",
3118
+ "optional": false,
3119
+ "constraints": {
3120
+ "notEmpty": true
3121
+ },
3122
+ "feel": "optional",
3123
+ "group": "provider",
3124
+ "binding": {
3125
+ "name": "provider.googleVertexAi.projectId",
3126
+ "type": "zeebe:input"
3127
+ },
3128
+ "condition": {
3129
+ "property": "provider.type",
3130
+ "equals": "google-vertex-ai",
3131
+ "type": "simple"
3132
+ },
3133
+ "type": "String"
3134
+ },
3135
+ {
3136
+ "id": "provider.googleVertexAi.region",
3137
+ "label": "Region",
3138
+ "description": "Specify the region where AI inference should take place",
3139
+ "optional": false,
3140
+ "constraints": {
3141
+ "notEmpty": true
3142
+ },
3143
+ "feel": "optional",
3144
+ "group": "provider",
3145
+ "binding": {
3146
+ "name": "provider.googleVertexAi.region",
3147
+ "type": "zeebe:input"
3148
+ },
3149
+ "condition": {
3150
+ "property": "provider.type",
3151
+ "equals": "google-vertex-ai",
3152
+ "type": "simple"
3153
+ },
3154
+ "type": "String"
3155
+ },
3156
+ {
3157
+ "id": "provider.googleVertexAi.authentication.type",
3158
+ "label": "Authentication",
3159
+ "description": "Specify the Google Vertex AI authentication strategy.",
3160
+ "value": "serviceAccountCredentials",
3161
+ "group": "provider",
3162
+ "binding": {
3163
+ "name": "provider.googleVertexAi.authentication.type",
3164
+ "type": "zeebe:input"
3165
+ },
3166
+ "condition": {
3167
+ "property": "provider.type",
3168
+ "equals": "google-vertex-ai",
3169
+ "type": "simple"
3170
+ },
3171
+ "type": "Dropdown",
3172
+ "choices": [
3173
+ {
3174
+ "name": "Service account credentials",
3175
+ "value": "serviceAccountCredentials"
3176
+ },
3177
+ {
3178
+ "name": "Application default credentials (Hybrid/Self-Managed only)",
3179
+ "value": "applicationDefaultCredentials"
3180
+ }
3181
+ ]
3182
+ },
3183
+ {
3184
+ "id": "provider.googleVertexAi.authentication.jsonKey",
3185
+ "label": "JSON key of the service account",
3186
+ "description": "This is the key of the service account in JSON format.",
3187
+ "optional": false,
3188
+ "constraints": {
3189
+ "notEmpty": true
3190
+ },
3191
+ "feel": "optional",
3192
+ "group": "provider",
3193
+ "binding": {
3194
+ "name": "provider.googleVertexAi.authentication.jsonKey",
3195
+ "type": "zeebe:input"
3196
+ },
3197
+ "condition": {
3198
+ "allMatch": [
3199
+ {
3200
+ "property": "provider.googleVertexAi.authentication.type",
3201
+ "equals": "serviceAccountCredentials",
3202
+ "type": "simple"
3203
+ },
3204
+ {
3205
+ "property": "provider.type",
3206
+ "equals": "google-vertex-ai",
3207
+ "type": "simple"
3208
+ }
3209
+ ]
3210
+ },
3211
+ "type": "String"
3212
+ },
3213
+ {
3214
+ "id": "provider.openai.authentication.apiKey",
3215
+ "label": "OpenAI API key",
3216
+ "optional": false,
3217
+ "constraints": {
3218
+ "notEmpty": true
3219
+ },
3220
+ "feel": "optional",
3221
+ "group": "provider",
3222
+ "binding": {
3223
+ "name": "provider.openai.authentication.apiKey",
3224
+ "type": "zeebe:input"
3225
+ },
3226
+ "condition": {
3227
+ "property": "provider.type",
3228
+ "equals": "openai",
3229
+ "type": "simple"
3230
+ },
3231
+ "type": "String"
3232
+ },
3233
+ {
3234
+ "id": "provider.openai.authentication.organizationId",
3235
+ "label": "Organization ID",
3236
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
3237
+ "optional": true,
3238
+ "feel": "optional",
3239
+ "group": "provider",
3240
+ "binding": {
3241
+ "name": "provider.openai.authentication.organizationId",
3242
+ "type": "zeebe:input"
3243
+ },
3244
+ "condition": {
3245
+ "property": "provider.type",
3246
+ "equals": "openai",
3247
+ "type": "simple"
3248
+ },
3249
+ "type": "String"
3250
+ },
3251
+ {
3252
+ "id": "provider.openai.authentication.projectId",
3253
+ "label": "Project ID",
3254
+ "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
3255
+ "optional": true,
3256
+ "feel": "optional",
3257
+ "group": "provider",
3258
+ "binding": {
3259
+ "name": "provider.openai.authentication.projectId",
3260
+ "type": "zeebe:input"
3261
+ },
3262
+ "condition": {
3263
+ "property": "provider.type",
3264
+ "equals": "openai",
3265
+ "type": "simple"
3266
+ },
3267
+ "type": "String"
3268
+ },
3269
+ {
3270
+ "id": "provider.openaiCompatible.endpoint",
3271
+ "label": "API endpoint",
3272
+ "optional": false,
3273
+ "constraints": {
3274
+ "notEmpty": true
3275
+ },
3276
+ "feel": "optional",
3277
+ "group": "provider",
3278
+ "binding": {
3279
+ "name": "provider.openaiCompatible.endpoint",
3280
+ "type": "zeebe:input"
3281
+ },
3282
+ "condition": {
3283
+ "property": "provider.type",
3284
+ "equals": "openaiCompatible",
3285
+ "type": "simple"
3286
+ },
3287
+ "tooltip": "Specify an endpoint to use the connector with an OpenAI compatible API. ",
3288
+ "type": "String"
3289
+ },
3290
+ {
3291
+ "id": "provider.openaiCompatible.authentication.apiKey",
3292
+ "label": "API key",
3293
+ "optional": true,
3294
+ "feel": "optional",
3295
+ "group": "provider",
3296
+ "binding": {
3297
+ "name": "provider.openaiCompatible.authentication.apiKey",
3298
+ "type": "zeebe:input"
3299
+ },
3300
+ "condition": {
3301
+ "property": "provider.type",
3302
+ "equals": "openaiCompatible",
3303
+ "type": "simple"
3304
+ },
3305
+ "tooltip": "Leave blank if using HTTP headers for authentication.<br>If an Authorization header is specified in the headers, then the API key is ignored.",
3306
+ "type": "String"
3307
+ },
3308
+ {
3309
+ "id": "provider.openaiCompatible.headers",
3310
+ "label": "Headers",
3311
+ "description": "Map of HTTP headers to add to the request.",
3312
+ "optional": true,
3313
+ "feel": "required",
3314
+ "group": "provider",
3315
+ "binding": {
3316
+ "name": "provider.openaiCompatible.headers",
3317
+ "type": "zeebe:input"
3318
+ },
3319
+ "condition": {
3320
+ "property": "provider.type",
3321
+ "equals": "openaiCompatible",
3322
+ "type": "simple"
3323
+ },
3324
+ "type": "String"
3325
+ },
3326
+ {
3327
+ "id": "provider.anthropic.model.model",
3328
+ "label": "Model",
3329
+ "description": "Specify the model ID. Details in the <a href=\"https://docs.anthropic.com/en/docs/about-claude/models/all-models\" target=\"_blank\">documentation</a>.",
3330
+ "optional": false,
3331
+ "value": "claude-3-5-sonnet-20240620",
3332
+ "constraints": {
3333
+ "notEmpty": true
3334
+ },
3335
+ "feel": "optional",
3336
+ "group": "model",
3337
+ "binding": {
3338
+ "name": "provider.anthropic.model.model",
3339
+ "type": "zeebe:input"
3340
+ },
3341
+ "condition": {
3342
+ "property": "provider.type",
3343
+ "equals": "anthropic",
3344
+ "type": "simple"
3345
+ },
3346
+ "type": "String"
3347
+ },
3348
+ {
3349
+ "id": "provider.anthropic.model.parameters.maxTokens",
3350
+ "label": "Maximum tokens",
3351
+ "optional": true,
3352
+ "feel": "required",
3353
+ "group": "model",
3354
+ "binding": {
3355
+ "name": "provider.anthropic.model.parameters.maxTokens",
3356
+ "type": "zeebe:input"
3357
+ },
3358
+ "condition": {
3359
+ "property": "provider.type",
3360
+ "equals": "anthropic",
3361
+ "type": "simple"
3362
+ },
3363
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-max-tokens\" target=\"_blank\">documentation</a>.",
3364
+ "type": "Number"
3365
+ },
3366
+ {
3367
+ "id": "provider.anthropic.model.parameters.temperature",
3368
+ "label": "Temperature",
3369
+ "optional": true,
3370
+ "feel": "required",
3371
+ "group": "model",
3372
+ "binding": {
3373
+ "name": "provider.anthropic.model.parameters.temperature",
3374
+ "type": "zeebe:input"
3375
+ },
3376
+ "condition": {
3377
+ "property": "provider.type",
3378
+ "equals": "anthropic",
3379
+ "type": "simple"
3380
+ },
3381
+ "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-temperature\" target=\"_blank\">documentation</a>.",
3382
+ "type": "Number"
3383
+ },
3384
+ {
3385
+ "id": "provider.anthropic.model.parameters.topP",
3386
+ "label": "top P",
3387
+ "optional": true,
3388
+ "feel": "required",
3389
+ "group": "model",
3390
+ "binding": {
3391
+ "name": "provider.anthropic.model.parameters.topP",
3392
+ "type": "zeebe:input"
3393
+ },
3394
+ "condition": {
3395
+ "property": "provider.type",
3396
+ "equals": "anthropic",
3397
+ "type": "simple"
3398
+ },
3399
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-p\" target=\"_blank\">documentation</a>.",
3400
+ "type": "Number"
3401
+ },
3402
+ {
3403
+ "id": "provider.anthropic.model.parameters.topK",
3404
+ "label": "top K",
3405
+ "optional": true,
3406
+ "feel": "required",
3407
+ "group": "model",
3408
+ "binding": {
3409
+ "name": "provider.anthropic.model.parameters.topK",
3410
+ "type": "zeebe:input"
3411
+ },
3412
+ "condition": {
3413
+ "property": "provider.type",
3414
+ "equals": "anthropic",
3415
+ "type": "simple"
3416
+ },
3417
+ "tooltip": "Integer greater than 0. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-k\" target=\"_blank\">documentation</a>.",
3418
+ "type": "Number"
3419
+ },
3420
+ {
3421
+ "id": "provider.bedrock.model.model",
3422
+ "label": "Model",
3423
+ "description": "Specify the model ID. Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html\" target=\"_blank\">documentation</a>.",
3424
+ "optional": false,
3425
+ "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
3426
+ "constraints": {
3427
+ "notEmpty": true
3428
+ },
3429
+ "feel": "optional",
3430
+ "group": "model",
3431
+ "binding": {
3432
+ "name": "provider.bedrock.model.model",
3433
+ "type": "zeebe:input"
3434
+ },
3435
+ "condition": {
3436
+ "property": "provider.type",
3437
+ "equals": "bedrock",
3438
+ "type": "simple"
3439
+ },
3440
+ "type": "String"
3441
+ },
3442
+ {
3443
+ "id": "provider.bedrock.model.parameters.maxTokens",
3444
+ "label": "Maximum tokens",
3445
+ "optional": true,
3446
+ "feel": "required",
3447
+ "group": "model",
3448
+ "binding": {
3449
+ "name": "provider.bedrock.model.parameters.maxTokens",
3450
+ "type": "zeebe:input"
3451
+ },
3452
+ "condition": {
3453
+ "property": "provider.type",
3454
+ "equals": "bedrock",
3455
+ "type": "simple"
3456
+ },
3457
+ "tooltip": "The maximum number of tokens per request to allow in the generated response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
3458
+ "type": "Number"
3459
+ },
3460
+ {
3461
+ "id": "provider.bedrock.model.parameters.temperature",
3462
+ "label": "Temperature",
3463
+ "optional": true,
3464
+ "feel": "required",
3465
+ "group": "model",
3466
+ "binding": {
3467
+ "name": "provider.bedrock.model.parameters.temperature",
3468
+ "type": "zeebe:input"
3469
+ },
3470
+ "condition": {
3471
+ "property": "provider.type",
3472
+ "equals": "bedrock",
3473
+ "type": "simple"
3474
+ },
3475
+ "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
3476
+ "type": "Number"
3477
+ },
3478
+ {
3479
+ "id": "provider.bedrock.model.parameters.topP",
3480
+ "label": "top P",
3481
+ "optional": true,
3482
+ "feel": "required",
3483
+ "group": "model",
3484
+ "binding": {
3485
+ "name": "provider.bedrock.model.parameters.topP",
3486
+ "type": "zeebe:input"
3487
+ },
3488
+ "condition": {
3489
+ "property": "provider.type",
3490
+ "equals": "bedrock",
3491
+ "type": "simple"
3492
+ },
3493
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
3494
+ "type": "Number"
3495
+ },
3496
+ {
3497
+ "id": "provider.azureOpenAi.model.deploymentName",
3498
+ "label": "Model deployment name",
3499
+ "description": "Specify the model deployment name. Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference\" target=\"_blank\">documentation</a>.",
3500
+ "optional": false,
3501
+ "constraints": {
3502
+ "notEmpty": true
3503
+ },
3504
+ "feel": "optional",
3505
+ "group": "model",
3506
+ "binding": {
3507
+ "name": "provider.azureOpenAi.model.deploymentName",
3508
+ "type": "zeebe:input"
3509
+ },
3510
+ "condition": {
3511
+ "property": "provider.type",
3512
+ "equals": "azureOpenAi",
3513
+ "type": "simple"
3514
+ },
3515
+ "type": "String"
3516
+ },
3517
+ {
3518
+ "id": "provider.azureOpenAi.model.parameters.maxTokens",
3519
+ "label": "Maximum tokens",
3520
+ "optional": true,
3521
+ "feel": "required",
3522
+ "group": "model",
3523
+ "binding": {
3524
+ "name": "provider.azureOpenAi.model.parameters.maxTokens",
3525
+ "type": "zeebe:input"
3526
+ },
3527
+ "condition": {
3528
+ "property": "provider.type",
3529
+ "equals": "azureOpenAi",
3530
+ "type": "simple"
3531
+ },
3532
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference#request-body\" target=\"_blank\">documentation</a>.",
3533
+ "type": "Number"
3534
+ },
3535
+ {
3536
+ "id": "provider.azureOpenAi.model.parameters.temperature",
3537
+ "label": "Temperature",
3538
+ "optional": true,
3539
+ "feel": "required",
3540
+ "group": "model",
3541
+ "binding": {
3542
+ "name": "provider.azureOpenAi.model.parameters.temperature",
3543
+ "type": "zeebe:input"
3544
+ },
3545
+ "condition": {
3546
+ "property": "provider.type",
3547
+ "equals": "azureOpenAi",
3548
+ "type": "simple"
3549
+ },
3550
+ "tooltip": "Floating point number between 0 and 2. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference#request-body\" target=\"_blank\">documentation</a>.",
3551
+ "type": "Number"
3552
+ },
3553
+ {
3554
+ "id": "provider.azureOpenAi.model.parameters.topP",
3555
+ "label": "top P",
363
3556
  "optional": true,
364
3557
  "feel": "required",
365
- "group": "provider",
3558
+ "group": "model",
366
3559
  "binding": {
367
- "name": "provider.openai.headers",
3560
+ "name": "provider.azureOpenAi.model.parameters.topP",
368
3561
  "type": "zeebe:input"
369
3562
  },
370
3563
  "condition": {
371
3564
  "property": "provider.type",
372
- "equals": "openai",
3565
+ "equals": "azureOpenAi",
373
3566
  "type": "simple"
374
3567
  },
375
- "type": "String"
3568
+ "tooltip": "Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://learn.microsoft.com/en-us/azure/ai-foundry/openai/reference#request-body\" target=\"_blank\">documentation</a>.",
3569
+ "type": "Number"
376
3570
  },
377
3571
  {
378
- "id": "provider.anthropic.model.model",
3572
+ "id": "provider.googleVertexAi.model.model",
379
3573
  "label": "Model",
380
- "description": "Specify the model ID. Details in the <a href=\"https://docs.anthropic.com/en/docs/about-claude/models/all-models\" target=\"_blank\">documentation</a>.",
3574
+ "description": "Specify the model ID. Details in the <a href=\"https://cloud.google.com/vertex-ai/docs/generative-ai/models\" target=\"_blank\">documentation</a>.",
381
3575
  "optional": false,
382
- "value": "claude-3-5-sonnet-20240620",
383
3576
  "constraints": {
384
3577
  "notEmpty": true
385
3578
  },
386
3579
  "feel": "optional",
387
3580
  "group": "model",
388
3581
  "binding": {
389
- "name": "provider.anthropic.model.model",
3582
+ "name": "provider.googleVertexAi.model.model",
390
3583
  "type": "zeebe:input"
391
3584
  },
392
3585
  "condition": {
393
3586
  "property": "provider.type",
394
- "equals": "anthropic",
3587
+ "equals": "google-vertex-ai",
395
3588
  "type": "simple"
396
3589
  },
397
3590
  "type": "String"
398
3591
  },
399
3592
  {
400
- "id": "provider.anthropic.model.parameters.maxTokens",
401
- "label": "Maximum tokens",
3593
+ "id": "provider.googleVertexAi.model.parameters.maxOutputTokens",
3594
+ "label": "Maximum output tokens",
402
3595
  "optional": true,
403
3596
  "feel": "required",
404
3597
  "group": "model",
405
3598
  "binding": {
406
- "name": "provider.anthropic.model.parameters.maxTokens",
3599
+ "name": "provider.googleVertexAi.model.parameters.maxOutputTokens",
407
3600
  "type": "zeebe:input"
408
3601
  },
409
3602
  "condition": {
410
3603
  "property": "provider.type",
411
- "equals": "anthropic",
3604
+ "equals": "google-vertex-ai",
412
3605
  "type": "simple"
413
3606
  },
414
- "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-max-tokens\" target=\"_blank\">documentation</a>.",
3607
+ "tooltip": "Maximum number of tokens that can be generated in the response. <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
415
3608
  "type": "Number"
416
3609
  },
417
3610
  {
418
- "id": "provider.anthropic.model.parameters.temperature",
3611
+ "id": "provider.googleVertexAi.model.parameters.temperature",
419
3612
  "label": "Temperature",
420
3613
  "optional": true,
421
3614
  "feel": "required",
422
3615
  "group": "model",
423
3616
  "binding": {
424
- "name": "provider.anthropic.model.parameters.temperature",
3617
+ "name": "provider.googleVertexAi.model.parameters.temperature",
425
3618
  "type": "zeebe:input"
426
3619
  },
427
3620
  "condition": {
428
3621
  "property": "provider.type",
429
- "equals": "anthropic",
3622
+ "equals": "google-vertex-ai",
430
3623
  "type": "simple"
431
3624
  },
432
- "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-temperature\" target=\"_blank\">documentation</a>.",
3625
+ "tooltip": "Controls the degree of randomness in token selection. <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
433
3626
  "type": "Number"
434
3627
  },
435
3628
  {
436
- "id": "provider.anthropic.model.parameters.topP",
3629
+ "id": "provider.googleVertexAi.model.parameters.topP",
437
3630
  "label": "top P",
438
3631
  "optional": true,
439
3632
  "feel": "required",
440
3633
  "group": "model",
441
3634
  "binding": {
442
- "name": "provider.anthropic.model.parameters.topP",
3635
+ "name": "provider.googleVertexAi.model.parameters.topP",
443
3636
  "type": "zeebe:input"
444
3637
  },
445
3638
  "condition": {
446
3639
  "property": "provider.type",
447
- "equals": "anthropic",
3640
+ "equals": "google-vertex-ai",
448
3641
  "type": "simple"
449
3642
  },
450
- "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-p\" target=\"_blank\">documentation</a>.",
3643
+ "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
451
3644
  "type": "Number"
452
3645
  },
453
3646
  {
454
- "id": "provider.anthropic.model.parameters.topK",
3647
+ "id": "provider.googleVertexAi.model.parameters.topK",
455
3648
  "label": "top K",
456
3649
  "optional": true,
457
3650
  "feel": "required",
458
3651
  "group": "model",
459
3652
  "binding": {
460
- "name": "provider.anthropic.model.parameters.topK",
3653
+ "name": "provider.googleVertexAi.model.parameters.topK",
461
3654
  "type": "zeebe:input"
462
3655
  },
463
3656
  "condition": {
464
3657
  "property": "provider.type",
465
- "equals": "anthropic",
3658
+ "equals": "google-vertex-ai",
466
3659
  "type": "simple"
467
3660
  },
468
- "tooltip": "Integer greater than 0. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.anthropic.com/en/api/messages#body-top-k\" target=\"_blank\">documentation</a>.",
3661
+ "tooltip": "Integer greater than 0. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference\" target=\"_blank\">documentation</a>.",
469
3662
  "type": "Number"
470
3663
  },
471
3664
  {
472
- "id": "provider.bedrock.model.model",
3665
+ "id": "provider.openai.model.model",
473
3666
  "label": "Model",
474
- "description": "Specify the model ID. Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html\" target=\"_blank\">documentation</a>.",
3667
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
475
3668
  "optional": false,
476
- "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
3669
+ "value": "gpt-4o",
477
3670
  "constraints": {
478
3671
  "notEmpty": true
479
3672
  },
480
3673
  "feel": "optional",
481
3674
  "group": "model",
482
3675
  "binding": {
483
- "name": "provider.bedrock.model.model",
3676
+ "name": "provider.openai.model.model",
484
3677
  "type": "zeebe:input"
485
3678
  },
486
3679
  "condition": {
487
3680
  "property": "provider.type",
488
- "equals": "bedrock",
3681
+ "equals": "openai",
489
3682
  "type": "simple"
490
3683
  },
491
3684
  "type": "String"
492
3685
  },
493
3686
  {
494
- "id": "provider.bedrock.model.parameters.maxTokens",
495
- "label": "Maximum tokens",
3687
+ "id": "provider.openai.model.parameters.maxCompletionTokens",
3688
+ "label": "Maximum completion tokens",
496
3689
  "optional": true,
497
3690
  "feel": "required",
498
3691
  "group": "model",
499
3692
  "binding": {
500
- "name": "provider.bedrock.model.parameters.maxTokens",
3693
+ "name": "provider.openai.model.parameters.maxCompletionTokens",
501
3694
  "type": "zeebe:input"
502
3695
  },
503
3696
  "condition": {
504
3697
  "property": "provider.type",
505
- "equals": "bedrock",
3698
+ "equals": "openai",
506
3699
  "type": "simple"
507
3700
  },
508
- "tooltip": "The maximum number of tokens per request to allow in the generated response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
3701
+ "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_completion_tokens\" target=\"_blank\">documentation</a>.",
509
3702
  "type": "Number"
510
3703
  },
511
3704
  {
512
- "id": "provider.bedrock.model.parameters.temperature",
3705
+ "id": "provider.openai.model.parameters.temperature",
513
3706
  "label": "Temperature",
514
3707
  "optional": true,
515
3708
  "feel": "required",
516
3709
  "group": "model",
517
3710
  "binding": {
518
- "name": "provider.bedrock.model.parameters.temperature",
3711
+ "name": "provider.openai.model.parameters.temperature",
519
3712
  "type": "zeebe:input"
520
3713
  },
521
3714
  "condition": {
522
3715
  "property": "provider.type",
523
- "equals": "bedrock",
3716
+ "equals": "openai",
524
3717
  "type": "simple"
525
3718
  },
526
- "tooltip": "Floating point number between 0 and 1. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
3719
+ "tooltip": "Floating point number between 0 and 2. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-temperature\" target=\"_blank\">documentation</a>.",
527
3720
  "type": "Number"
528
3721
  },
529
3722
  {
530
- "id": "provider.bedrock.model.parameters.topP",
3723
+ "id": "provider.openai.model.parameters.topP",
531
3724
  "label": "top P",
532
3725
  "optional": true,
533
3726
  "feel": "required",
534
3727
  "group": "model",
535
3728
  "binding": {
536
- "name": "provider.bedrock.model.parameters.topP",
3729
+ "name": "provider.openai.model.parameters.topP",
537
3730
  "type": "zeebe:input"
538
3731
  },
539
3732
  "condition": {
540
3733
  "property": "provider.type",
541
- "equals": "bedrock",
3734
+ "equals": "openai",
542
3735
  "type": "simple"
543
3736
  },
544
- "tooltip": "Floating point number between 0 and 1. Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html\" target=\"_blank\">documentation</a>.",
3737
+ "tooltip": "Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-top_p\" target=\"_blank\">documentation</a>.",
545
3738
  "type": "Number"
546
3739
  },
547
3740
  {
548
- "id": "provider.openai.model.model",
3741
+ "id": "provider.openaiCompatible.model.model",
549
3742
  "label": "Model",
550
3743
  "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
551
3744
  "optional": false,
@@ -556,79 +3749,97 @@
556
3749
  "feel": "optional",
557
3750
  "group": "model",
558
3751
  "binding": {
559
- "name": "provider.openai.model.model",
3752
+ "name": "provider.openaiCompatible.model.model",
560
3753
  "type": "zeebe:input"
561
3754
  },
562
3755
  "condition": {
563
3756
  "property": "provider.type",
564
- "equals": "openai",
3757
+ "equals": "openaiCompatible",
565
3758
  "type": "simple"
566
3759
  },
567
3760
  "type": "String"
568
3761
  },
569
3762
  {
570
- "id": "provider.openai.model.parameters.maxCompletionTokens",
3763
+ "id": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
571
3764
  "label": "Maximum completion tokens",
572
3765
  "optional": true,
573
3766
  "feel": "required",
574
3767
  "group": "model",
575
3768
  "binding": {
576
- "name": "provider.openai.model.parameters.maxCompletionTokens",
3769
+ "name": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
577
3770
  "type": "zeebe:input"
578
3771
  },
579
3772
  "condition": {
580
3773
  "property": "provider.type",
581
- "equals": "openai",
3774
+ "equals": "openaiCompatible",
582
3775
  "type": "simple"
583
3776
  },
584
3777
  "tooltip": "The maximum number of tokens per request to generate before stopping. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_completion_tokens\" target=\"_blank\">documentation</a>.",
585
3778
  "type": "Number"
586
3779
  },
587
3780
  {
588
- "id": "provider.openai.model.parameters.temperature",
3781
+ "id": "provider.openaiCompatible.model.parameters.temperature",
589
3782
  "label": "Temperature",
590
3783
  "optional": true,
591
3784
  "feel": "required",
592
3785
  "group": "model",
593
3786
  "binding": {
594
- "name": "provider.openai.model.parameters.temperature",
3787
+ "name": "provider.openaiCompatible.model.parameters.temperature",
595
3788
  "type": "zeebe:input"
596
3789
  },
597
3790
  "condition": {
598
3791
  "property": "provider.type",
599
- "equals": "openai",
3792
+ "equals": "openaiCompatible",
600
3793
  "type": "simple"
601
3794
  },
602
3795
  "tooltip": "Floating point number between 0 and 2. The higher the number, the more randomness will be injected into the response. <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-temperature\" target=\"_blank\">documentation</a>.",
603
3796
  "type": "Number"
604
3797
  },
605
3798
  {
606
- "id": "provider.openai.model.parameters.topP",
3799
+ "id": "provider.openaiCompatible.model.parameters.topP",
607
3800
  "label": "top P",
608
3801
  "optional": true,
609
3802
  "feel": "required",
610
3803
  "group": "model",
611
3804
  "binding": {
612
- "name": "provider.openai.model.parameters.topP",
3805
+ "name": "provider.openaiCompatible.model.parameters.topP",
613
3806
  "type": "zeebe:input"
614
3807
  },
615
3808
  "condition": {
616
3809
  "property": "provider.type",
617
- "equals": "openai",
3810
+ "equals": "openaiCompatible",
618
3811
  "type": "simple"
619
3812
  },
620
3813
  "tooltip": "Recommended for advanced use cases only (you usually only need to use temperature). <br><br>Details in the <a href=\"https://platform.openai.com/docs/api-reference/chat/create#chat-create-top_p\" target=\"_blank\">documentation</a>.",
621
3814
  "type": "Number"
622
3815
  },
3816
+ {
3817
+ "id": "provider.openaiCompatible.model.parameters.customParameters",
3818
+ "label": "Custom parameters",
3819
+ "description": "Map of additional request parameters to include.",
3820
+ "optional": true,
3821
+ "feel": "required",
3822
+ "group": "model",
3823
+ "binding": {
3824
+ "name": "provider.openaiCompatible.model.parameters.customParameters",
3825
+ "type": "zeebe:input"
3826
+ },
3827
+ "condition": {
3828
+ "property": "provider.type",
3829
+ "equals": "openaiCompatible",
3830
+ "type": "simple"
3831
+ },
3832
+ "type": "String"
3833
+ },
623
3834
  {
624
3835
  "id": "data.systemPrompt.prompt",
625
3836
  "label": "System prompt",
626
3837
  "optional": false,
627
- "value": "You are **TaskAgent**, a helpful, generic chat agent that can handle a wide variety of customer requests using your own domain knowledge **and** any tools explicitly provided to you at runtime.\n\nIf tools are provided, you should prefer them instead of guessing an answer. You can call the same tool multiple times by providing different input values. Don't guess any tools which were not explicitely configured. If no tool matches the request, try to generate an answer. If you're not able to find a good answer, return with a message stating why you're not able to.\n\nWrap minimal, inspectable reasoning in *exactly* this XML template:\n\n<thinking>\n <context>…briefly state the customer’s need and current state…</context>\n <reflection>…list candidate tools, justify which you will call next and why…</reflection>\n</thinking>\n\nReveal **no** additional private reasoning outside these tags.\n",
3838
+ "value": "\"You are **TaskAgent**, a helpful, generic chat agent that can handle a wide variety of customer requests using your own domain knowledge **and** any tools explicitly provided to you at runtime.\n\nIf tools are provided, you should prefer them instead of guessing an answer. You can call the same tool multiple times by providing different input values. Don't guess any tools which were not explicitly configured. If no tool matches the request, try to generate an answer. If you're not able to find a good answer, return with a message stating why you're not able to.\n\nWrap minimal, inspectable reasoning in *exactly* this XML template:\n\n<thinking>\n<context>…briefly state the customer’s need and current state…</context>\n<reflection>…list candidate tools, justify which you will call next and why…</reflection>\n</thinking>\n\nReveal **no** additional private reasoning outside these tags.\"",
628
3839
  "constraints": {
629
3840
  "notEmpty": true
630
3841
  },
631
- "feel": "optional",
3842
+ "feel": "required",
632
3843
  "group": "systemPrompt",
633
3844
  "binding": {
634
3845
  "name": "data.systemPrompt.prompt",
@@ -636,20 +3847,6 @@
636
3847
  },
637
3848
  "type": "Text"
638
3849
  },
639
- {
640
- "id": "data.systemPrompt.parameters",
641
- "label": "System prompt parameters",
642
- "description": "Use <code>{{parameter}}</code> format to insert dynamic values into the prompt.",
643
- "optional": true,
644
- "feel": "required",
645
- "group": "systemPrompt",
646
- "binding": {
647
- "name": "data.systemPrompt.parameters",
648
- "type": "zeebe:input"
649
- },
650
- "tooltip": "Map parameters in the prompt using the <code>{{parameter}}</code> format. Default parameters: <code>current_date</code>, <code>current_time</code>, <code>current_date_time</code>",
651
- "type": "String"
652
- },
653
3850
  {
654
3851
  "id": "data.userPrompt.prompt",
655
3852
  "label": "User prompt",
@@ -657,7 +3854,7 @@
657
3854
  "constraints": {
658
3855
  "notEmpty": true
659
3856
  },
660
- "feel": "optional",
3857
+ "feel": "required",
661
3858
  "group": "userPrompt",
662
3859
  "binding": {
663
3860
  "name": "data.userPrompt.prompt",
@@ -665,20 +3862,6 @@
665
3862
  },
666
3863
  "type": "Text"
667
3864
  },
668
- {
669
- "id": "data.userPrompt.parameters",
670
- "label": "User prompt parameters",
671
- "description": "Use <code>{{parameter}}</code> format to insert dynamic values into the prompt.",
672
- "optional": true,
673
- "feel": "required",
674
- "group": "userPrompt",
675
- "binding": {
676
- "name": "data.userPrompt.parameters",
677
- "type": "zeebe:input"
678
- },
679
- "tooltip": "Map parameters in the prompt using the <code>{{parameter}}</code> format. Default parameters: <code>current_date</code>, <code>current_time</code>, <code>current_date_time</code>",
680
- "type": "String"
681
- },
682
3865
  {
683
3866
  "id": "data.userPrompt.documents",
684
3867
  "label": "Documents",
@@ -690,7 +3873,7 @@
690
3873
  "name": "data.userPrompt.documents",
691
3874
  "type": "zeebe:input"
692
3875
  },
693
- "tooltip": "Referenced documents will be automatically added to the user prompt. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details and supported file types.",
3876
+ "tooltip": "Referenced documents will be automatically added to the user prompt. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details and supported file types.",
694
3877
  "type": "String"
695
3878
  },
696
3879
  {
@@ -704,7 +3887,7 @@
704
3887
  "name": "data.tools.containerElementId",
705
3888
  "type": "zeebe:input"
706
3889
  },
707
- "tooltip": "Add an ad-hoc sub-process ID to attach the AI agent to the tools. Ensure your process includes a tools feedback loop routing into the ad-hoc sub-process and back to the AI agent connector. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
3890
+ "tooltip": "Add an ad-hoc sub-process ID to attach the AI agent to the tools. Ensure your process includes a tools feedback loop routing into the ad-hoc sub-process and back to the AI agent connector. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
708
3891
  "type": "String"
709
3892
  },
710
3893
  {
@@ -718,12 +3901,13 @@
718
3901
  "name": "data.tools.toolCallResults",
719
3902
  "type": "zeebe:input"
720
3903
  },
721
- "tooltip": "This defines where to handle tool call results returned by the ad-hoc sub-process. Model this as part of your process and route it into the tools feedback loop. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
3904
+ "tooltip": "This defines where to handle tool call results returned by the ad-hoc sub-process. Model this as part of your process and route it into the tools feedback loop. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
722
3905
  "type": "Text"
723
3906
  },
724
3907
  {
725
3908
  "id": "data.agentContext",
726
3909
  "label": "Agent context",
3910
+ "description": "Avoid reusing context variables across agents to prevent issues with stale data or tool access.",
727
3911
  "optional": false,
728
3912
  "value": "=agent.context",
729
3913
  "constraints": {
@@ -735,7 +3919,7 @@
735
3919
  "name": "data.context",
736
3920
  "type": "zeebe:input"
737
3921
  },
738
- "tooltip": "The agent context variable containing all relevant data for the agent to support the feedback loop between user requests, tool calls and LLM responses. Make sure this variable points to the <code>context</code> variable which is returned from the agent response. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
3922
+ "tooltip": "The agent context variable containing all relevant data for the agent to support the feedback loop between user requests, tool calls and LLM responses. Make sure this variable points to the <code>context</code> variable which is returned from the agent response. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
739
3923
  "type": "Text"
740
3924
  },
741
3925
  {
@@ -757,6 +3941,10 @@
757
3941
  {
758
3942
  "name": "Camunda Document Storage",
759
3943
  "value": "camunda-document"
3944
+ },
3945
+ {
3946
+ "name": "Custom Implementation (Hybrid/Self-Managed only)",
3947
+ "value": "custom"
760
3948
  }
761
3949
  ]
762
3950
  },
@@ -797,6 +3985,44 @@
797
3985
  },
798
3986
  "type": "String"
799
3987
  },
3988
+ {
3989
+ "id": "data.memory.storage.storeType",
3990
+ "label": "Implementation type",
3991
+ "optional": false,
3992
+ "constraints": {
3993
+ "notEmpty": true
3994
+ },
3995
+ "feel": "optional",
3996
+ "group": "memory",
3997
+ "binding": {
3998
+ "name": "data.memory.storage.storeType",
3999
+ "type": "zeebe:input"
4000
+ },
4001
+ "condition": {
4002
+ "property": "data.memory.storage.type",
4003
+ "equals": "custom",
4004
+ "type": "simple"
4005
+ },
4006
+ "type": "String"
4007
+ },
4008
+ {
4009
+ "id": "data.memory.storage.parameters",
4010
+ "label": "Parameters",
4011
+ "description": "Parameters for the custom memory storage implementation.",
4012
+ "optional": true,
4013
+ "feel": "required",
4014
+ "group": "memory",
4015
+ "binding": {
4016
+ "name": "data.memory.storage.parameters",
4017
+ "type": "zeebe:input"
4018
+ },
4019
+ "condition": {
4020
+ "property": "data.memory.storage.type",
4021
+ "equals": "custom",
4022
+ "type": "simple"
4023
+ },
4024
+ "type": "String"
4025
+ },
800
4026
  {
801
4027
  "id": "data.memory.contextWindowSize",
802
4028
  "label": "Context window size",
@@ -809,7 +4035,7 @@
809
4035
  "name": "data.memory.contextWindowSize",
810
4036
  "type": "zeebe:input"
811
4037
  },
812
- "tooltip": "Use this to limit the number of messages which are sent to the model. The agent will only send the most recent messages up to the configured limit to the LLM. Older messages will be kept in the conversation store, but not sent to the model. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/\" target=\"_blank\">See documentation</a> for details.",
4038
+ "tooltip": "Use this to limit the number of messages which are sent to the model. The agent will only send the most recent messages up to the configured limit to the LLM. Older messages will be kept in the conversation store, but not sent to the model. <a href=\"https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent-task/\" target=\"_blank\">See documentation</a> for details.",
813
4039
  "type": "Number"
814
4040
  },
815
4041
  {
@@ -923,7 +4149,7 @@
923
4149
  "id": "version",
924
4150
  "label": "Version",
925
4151
  "description": "Version of the element template",
926
- "value": "1",
4152
+ "value": "4",
927
4153
  "group": "connector",
928
4154
  "binding": {
929
4155
  "key": "elementTemplateVersion",
@@ -4938,7 +8164,7 @@
4938
8164
  "keywords": ["AI", "AI Agent", "agentic orchestration"]
4939
8165
  },
4940
8166
  "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
4941
- "version": 4,
8167
+ "version": 6,
4942
8168
  "category": {
4943
8169
  "id": "connectors",
4944
8170
  "name": "Connectors"
@@ -4948,7 +8174,7 @@
4948
8174
  "value": "bpmn:ServiceTask"
4949
8175
  },
4950
8176
  "engines": {
4951
- "camunda": "^8.8"
8177
+ "camunda": "^8.9"
4952
8178
  },
4953
8179
  "groups": [
4954
8180
  {
@@ -5158,6 +8384,10 @@
5158
8384
  "name": "Credentials",
5159
8385
  "value": "credentials"
5160
8386
  },
8387
+ {
8388
+ "name": "API Key",
8389
+ "value": "apiKey"
8390
+ },
5161
8391
  {
5162
8392
  "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
5163
8393
  "value": "defaultCredentialsChain"
@@ -5224,6 +8454,36 @@
5224
8454
  },
5225
8455
  "type": "String"
5226
8456
  },
8457
+ {
8458
+ "id": "provider.bedrock.authentication.apiKey",
8459
+ "label": "API Key",
8460
+ "description": "Provide an API Key with permissions to interact with your AWS Bedrock Instance",
8461
+ "optional": false,
8462
+ "constraints": {
8463
+ "notEmpty": true
8464
+ },
8465
+ "feel": "optional",
8466
+ "group": "provider",
8467
+ "binding": {
8468
+ "name": "provider.bedrock.authentication.apiKey",
8469
+ "type": "zeebe:input"
8470
+ },
8471
+ "condition": {
8472
+ "allMatch": [
8473
+ {
8474
+ "property": "provider.bedrock.authentication.type",
8475
+ "equals": "apiKey",
8476
+ "type": "simple"
8477
+ },
8478
+ {
8479
+ "property": "provider.type",
8480
+ "equals": "bedrock",
8481
+ "type": "simple"
8482
+ }
8483
+ ]
8484
+ },
8485
+ "type": "String"
8486
+ },
5227
8487
  {
5228
8488
  "id": "provider.azureOpenAi.endpoint",
5229
8489
  "label": "Endpoint",
@@ -6142,7 +9402,7 @@
6142
9402
  "id": "data.systemPrompt.prompt",
6143
9403
  "label": "System prompt",
6144
9404
  "optional": false,
6145
- "value": "\"You are **TaskAgent**, a helpful, generic chat agent that can handle a wide variety of customer requests using your own domain knowledge **and** any tools explicitly provided to you at runtime.\n\nIf tools are provided, you should prefer them instead of guessing an answer. You can call the same tool multiple times by providing different input values. Don't guess any tools which were not explicitly configured. If no tool matches the request, try to generate an answer. If you're not able to find a good answer, return with a message stating why you're not able to.\n\nWrap minimal, inspectable reasoning in *exactly* this XML template:\n\n<thinking>\n<context>…briefly state the customer’s need and current state…</context>\n<reflection>…list candidate tools, justify which you will call next and why…</reflection>\n</thinking>\n\nReveal **no** additional private reasoning outside these tags.\"",
9405
+ "value": "=\"You are **TaskAgent**, a helpful, generic chat agent that can handle a wide variety of customer requests using your own domain knowledge **and** any tools explicitly provided to you at runtime.\n\nIf tools are provided, you should prefer them instead of guessing an answer. You can call the same tool multiple times by providing different input values. Don't guess any tools which were not explicitly configured. If no tool matches the request, try to generate an answer. If you're not able to find a good answer, return with a message stating why you're not able to.\n\nWrap minimal, inspectable reasoning in *exactly* this XML template:\n\n<thinking>\n<context>…briefly state the customer’s need and current state…</context>\n<reflection>…list candidate tools, justify which you will call next and why…</reflection>\n</thinking>\n\nReveal **no** additional private reasoning outside these tags.\"",
6146
9406
  "constraints": {
6147
9407
  "notEmpty": true
6148
9408
  },
@@ -6456,7 +9716,7 @@
6456
9716
  "id": "version",
6457
9717
  "label": "Version",
6458
9718
  "description": "Version of the element template",
6459
- "value": "4",
9719
+ "value": "6",
6460
9720
  "group": "connector",
6461
9721
  "binding": {
6462
9722
  "key": "elementTemplateVersion",