@camunda/connectors-element-templates 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/package.json +1 -1
  2. package/src/build_element_template_array_json_files.sh +9 -0
  3. package/src/connectors.js +2 -2
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +1 -0
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +1618 -0
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +1593 -36
  7. package/src/element-templates/asana-connector.json +99 -99
  8. package/src/element-templates/automation-anywhere-outbound-connector.json +70 -70
  9. package/src/element-templates/aws-comprehend-outbound-connector.json +36 -36
  10. package/src/element-templates/aws-dynamodb-outbound-connector.json +1423 -1423
  11. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  12. package/src/element-templates/aws-eventbridge-connector-intermediate.json +38 -38
  13. package/src/element-templates/aws-eventbridge-connector-start-event.json +26 -26
  14. package/src/element-templates/aws-eventbridge-outbound-connector.json +475 -475
  15. package/src/element-templates/aws-lambda-outbound-connector.json +314 -314
  16. package/src/element-templates/aws-sns-inbound-boundary.json +193 -193
  17. package/src/element-templates/aws-sns-inbound-intermediate.json +229 -229
  18. package/src/element-templates/aws-sns-inbound-start-event.json +6 -6
  19. package/src/element-templates/aws-sns-outbound-connector.json +362 -362
  20. package/src/element-templates/aws-sqs-boundary-connector.json +238 -238
  21. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +528 -528
  22. package/src/element-templates/aws-sqs-outbound-connector.json +393 -393
  23. package/src/element-templates/aws-sqs-start-event-connector.json +748 -748
  24. package/src/element-templates/aws-sqs-start-message.json +422 -422
  25. package/src/element-templates/azure-open-ai-connector.json +32 -32
  26. package/src/element-templates/blue-prism-connector.json +13 -13
  27. package/src/element-templates/box-outbound-connector.json +30 -30
  28. package/src/element-templates/csv-outbound-connector.json +412 -0
  29. package/src/element-templates/easy-post-connector.json +121 -121
  30. package/src/element-templates/email-message-start-event-connector.json +19 -19
  31. package/src/element-templates/email-outbound-connector.json +233 -233
  32. package/src/element-templates/embeddings-vector-database-outbound-connector.json +20 -35
  33. package/src/element-templates/github-connector.json +4988 -4988
  34. package/src/element-templates/github-webhook-connector-boundary.json +21 -21
  35. package/src/element-templates/github-webhook-connector-intermediate.json +24 -24
  36. package/src/element-templates/github-webhook-connector-message-start.json +21 -21
  37. package/src/element-templates/github-webhook-connector-start-event.json +34 -34
  38. package/src/element-templates/gitlab-connector.json +1185 -1185
  39. package/src/element-templates/google-drive-outbound-connector.json +759 -759
  40. package/src/element-templates/google-maps-platform-connector.json +75 -75
  41. package/src/element-templates/google-sheets-outbound-connector.json +1259 -1259
  42. package/src/element-templates/graphql-outbound-connector.json +573 -573
  43. package/src/element-templates/http-json-connector.json +1863 -1863
  44. package/src/element-templates/http-polling-boundary-catch-event-connector.json +7 -7
  45. package/src/element-templates/http-polling-connector.json +7 -7
  46. package/src/element-templates/jdbc-outbound-connector.json +36 -36
  47. package/src/element-templates/kafka-inbound-connector-boundary.json +432 -432
  48. package/src/element-templates/kafka-inbound-connector-intermediate.json +915 -915
  49. package/src/element-templates/kafka-inbound-connector-start-message.json +608 -608
  50. package/src/element-templates/kafka-inbound-connector.json +240 -240
  51. package/src/element-templates/kafka-outbound-connector.json +166 -166
  52. package/src/element-templates/microsoft-office365-mail-connector.json +60 -60
  53. package/src/element-templates/microsoft-teams-outbound-connector.json +4368 -4368
  54. package/src/element-templates/openai-connector.json +173 -173
  55. package/src/element-templates/operate-connector.json +23 -19
  56. package/src/element-templates/power-automate-connector.json +4 -4
  57. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +431 -431
  58. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +440 -440
  59. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +461 -461
  60. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +487 -487
  61. package/src/element-templates/rabbitmq-outbound-connector.json +360 -360
  62. package/src/element-templates/salesforce-connector.json +10 -10
  63. package/src/element-templates/sendgrid-outbound-connector.json +484 -484
  64. package/src/element-templates/slack-inbound-boundary.json +362 -362
  65. package/src/element-templates/slack-inbound-intermediate.json +438 -438
  66. package/src/element-templates/slack-inbound-message-start.json +217 -217
  67. package/src/element-templates/slack-inbound-start-event.json +235 -235
  68. package/src/element-templates/slack-outbound-connector.json +895 -895
  69. package/src/element-templates/twilio-connector.json +67 -67
  70. package/src/element-templates/twilio-webhook-boundary-connector.json +28 -28
  71. package/src/element-templates/twilio-webhook-connector.json +10 -10
  72. package/src/element-templates/uipath-connector.json +41 -41
  73. package/src/element-templates/webhook-connector-boundary.json +1651 -1651
  74. package/src/element-templates/webhook-connector-intermediate.json +771 -771
  75. package/src/element-templates/webhook-connector-start-event.json +1630 -1630
  76. package/src/element-templates/webhook-connector-start-message.json +1251 -1251
  77. package/src/element-templates/whatsapp-connector.json +42 -42
  78. package/src/element-templates/idp-extraction-outbound-connector.json +0 -932
@@ -3,12 +3,12 @@
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
4
  "name": "AI Agent",
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-alpha7 or later.",
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-alpha8 or later.",
7
7
  "metadata": {
8
8
  "keywords": []
9
9
  },
10
10
  "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
11
- "version": 2,
11
+ "version": 3,
12
12
  "category": {
13
13
  "id": "connectors",
14
14
  "name": "Connectors"
@@ -123,6 +123,10 @@
123
123
  {
124
124
  "name": "OpenAI",
125
125
  "value": "openai"
126
+ },
127
+ {
128
+ "name": "OpenAI Compatible",
129
+ "value": "openaiCompatible"
126
130
  }
127
131
  ]
128
132
  },
@@ -640,38 +644,58 @@
640
644
  "type": "String"
641
645
  },
642
646
  {
643
- "id": "provider.openai.endpoint",
644
- "label": "Custom API endpoint",
645
- "description": "Optional custom API endpoint.",
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",
646
670
  "optional": true,
647
671
  "feel": "optional",
648
672
  "group": "provider",
649
673
  "binding": {
650
- "name": "provider.openai.endpoint",
674
+ "name": "provider.openaiCompatible.authentication.apiKey",
651
675
  "type": "zeebe:input"
652
676
  },
653
677
  "condition": {
654
678
  "property": "provider.type",
655
- "equals": "openai",
679
+ "equals": "openaiCompatible",
656
680
  "type": "simple"
657
681
  },
658
- "tooltip": "Configure a custom OpenAI compatible API endpoint to use the connector with an OpenAI compatible API. Typically ends in <code>/v1</code>.",
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.",
659
683
  "type": "String"
660
684
  },
661
685
  {
662
- "id": "provider.openai.headers",
663
- "label": "Custom headers",
664
- "description": "Map of custom HTTP headers to add to the request.",
686
+ "id": "provider.openaiCompatible.headers",
687
+ "label": "Headers",
688
+ "description": "Map of HTTP headers to add to the request.",
665
689
  "optional": true,
666
690
  "feel": "required",
667
691
  "group": "provider",
668
692
  "binding": {
669
- "name": "provider.openai.headers",
693
+ "name": "provider.openaiCompatible.headers",
670
694
  "type": "zeebe:input"
671
695
  },
672
696
  "condition": {
673
697
  "property": "provider.type",
674
- "equals": "openai",
698
+ "equals": "openaiCompatible",
675
699
  "type": "simple"
676
700
  },
677
701
  "type": "String"
@@ -1091,61 +1115,129 @@
1091
1115
  "type": "Number"
1092
1116
  },
1093
1117
  {
1094
- "id": "data.systemPrompt.prompt",
1095
- "label": "System prompt",
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>.",
1096
1121
  "optional": false,
1097
- "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.\n",
1122
+ "value": "gpt-4o",
1098
1123
  "constraints": {
1099
1124
  "notEmpty": true
1100
1125
  },
1101
1126
  "feel": "optional",
1102
- "group": "systemPrompt",
1127
+ "group": "model",
1103
1128
  "binding": {
1104
- "name": "data.systemPrompt.prompt",
1129
+ "name": "provider.openaiCompatible.model.model",
1105
1130
  "type": "zeebe:input"
1106
1131
  },
1107
- "type": "Text"
1132
+ "condition": {
1133
+ "property": "provider.type",
1134
+ "equals": "openaiCompatible",
1135
+ "type": "simple"
1136
+ },
1137
+ "type": "String"
1108
1138
  },
1109
1139
  {
1110
- "id": "data.systemPrompt.parameters",
1111
- "label": "System prompt parameters",
1112
- "description": "Use <code>{{parameter}}</code> format in the prompt to insert values defined in this map.",
1140
+ "id": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
1141
+ "label": "Maximum completion tokens",
1113
1142
  "optional": true,
1114
1143
  "feel": "required",
1115
- "group": "systemPrompt",
1144
+ "group": "model",
1116
1145
  "binding": {
1117
- "name": "data.systemPrompt.parameters",
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",
1118
1202
  "type": "zeebe:input"
1119
1203
  },
1204
+ "condition": {
1205
+ "property": "provider.type",
1206
+ "equals": "openaiCompatible",
1207
+ "type": "simple"
1208
+ },
1120
1209
  "type": "String"
1121
1210
  },
1122
1211
  {
1123
- "id": "data.userPrompt.prompt",
1124
- "label": "User prompt",
1212
+ "id": "data.systemPrompt.prompt",
1213
+ "label": "System prompt",
1125
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.\"",
1126
1216
  "constraints": {
1127
1217
  "notEmpty": true
1128
1218
  },
1129
- "feel": "optional",
1130
- "group": "userPrompt",
1219
+ "feel": "required",
1220
+ "group": "systemPrompt",
1131
1221
  "binding": {
1132
- "name": "data.userPrompt.prompt",
1222
+ "name": "data.systemPrompt.prompt",
1133
1223
  "type": "zeebe:input"
1134
1224
  },
1135
1225
  "type": "Text"
1136
1226
  },
1137
1227
  {
1138
- "id": "data.userPrompt.parameters",
1139
- "label": "User prompt parameters",
1140
- "description": "Use <code>{{parameter}}</code> format in the prompt to insert values defined in this map.",
1141
- "optional": true,
1228
+ "id": "data.userPrompt.prompt",
1229
+ "label": "User prompt",
1230
+ "optional": false,
1231
+ "constraints": {
1232
+ "notEmpty": true
1233
+ },
1142
1234
  "feel": "required",
1143
1235
  "group": "userPrompt",
1144
1236
  "binding": {
1145
- "name": "data.userPrompt.parameters",
1237
+ "name": "data.userPrompt.prompt",
1146
1238
  "type": "zeebe:input"
1147
1239
  },
1148
- "type": "String"
1240
+ "type": "Text"
1149
1241
  },
1150
1242
  {
1151
1243
  "id": "data.userPrompt.documents",
@@ -1434,7 +1526,7 @@
1434
1526
  "id": "version",
1435
1527
  "label": "Version",
1436
1528
  "description": "Version of the element template",
1437
- "value": "2",
1529
+ "value": "3",
1438
1530
  "group": "connector",
1439
1531
  "binding": {
1440
1532
  "key": "elementTemplateVersion",
@@ -1529,6 +1621,7 @@
1529
1621
  "keywords": []
1530
1622
  },
1531
1623
  "version": 0,
1624
+ "deprecated": true,
1532
1625
  "category": {
1533
1626
  "id": "connectors",
1534
1627
  "name": "Connectors"
@@ -3369,5 +3462,1469 @@
3369
3462
  "icon": {
3370
3463
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K"
3371
3464
  }
3465
+ },
3466
+ {
3467
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3468
+ "name": "AI Agent",
3469
+ "id": "io.camunda.connectors.agenticai.aiagent.v1",
3470
+ "description": "Provides a generic AI agent implementation handling the feedback loop between user requests, tool calls and LLM responses. Compatible with 8.8.0-alpha7 or later.",
3471
+ "metadata": {
3472
+ "keywords": []
3473
+ },
3474
+ "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
3475
+ "version": 2,
3476
+ "category": {
3477
+ "id": "connectors",
3478
+ "name": "Connectors"
3479
+ },
3480
+ "appliesTo": ["bpmn:Task"],
3481
+ "elementType": {
3482
+ "value": "bpmn:ServiceTask"
3483
+ },
3484
+ "engines": {
3485
+ "camunda": "^8.8"
3486
+ },
3487
+ "groups": [
3488
+ {
3489
+ "id": "provider",
3490
+ "label": "Model provider",
3491
+ "openByDefault": false
3492
+ },
3493
+ {
3494
+ "id": "model",
3495
+ "label": "Model",
3496
+ "openByDefault": false
3497
+ },
3498
+ {
3499
+ "id": "systemPrompt",
3500
+ "label": "System prompt",
3501
+ "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.",
3502
+ "openByDefault": false
3503
+ },
3504
+ {
3505
+ "id": "userPrompt",
3506
+ "label": "User prompt",
3507
+ "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.",
3508
+ "openByDefault": false
3509
+ },
3510
+ {
3511
+ "id": "tools",
3512
+ "label": "Tools",
3513
+ "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.",
3514
+ "openByDefault": false
3515
+ },
3516
+ {
3517
+ "id": "memory",
3518
+ "label": "Memory",
3519
+ "tooltip": "Configuration of the Agent's short-term/conversational memory.",
3520
+ "openByDefault": false
3521
+ },
3522
+ {
3523
+ "id": "limits",
3524
+ "label": "Limits",
3525
+ "openByDefault": false
3526
+ },
3527
+ {
3528
+ "id": "response",
3529
+ "label": "Response",
3530
+ "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/#response\">documentation</a> for details.",
3531
+ "openByDefault": false
3532
+ },
3533
+ {
3534
+ "id": "connector",
3535
+ "label": "Connector"
3536
+ },
3537
+ {
3538
+ "id": "output",
3539
+ "label": "Output mapping"
3540
+ },
3541
+ {
3542
+ "id": "error",
3543
+ "label": "Error handling"
3544
+ },
3545
+ {
3546
+ "id": "retries",
3547
+ "label": "Retries"
3548
+ }
3549
+ ],
3550
+ "properties": [
3551
+ {
3552
+ "value": "io.camunda.agenticai:aiagent:1",
3553
+ "binding": {
3554
+ "property": "type",
3555
+ "type": "zeebe:taskDefinition"
3556
+ },
3557
+ "type": "Hidden"
3558
+ },
3559
+ {
3560
+ "id": "provider.type",
3561
+ "label": "Provider",
3562
+ "description": "Specify the LLM provider to use.",
3563
+ "value": "anthropic",
3564
+ "group": "provider",
3565
+ "binding": {
3566
+ "name": "provider.type",
3567
+ "type": "zeebe:input"
3568
+ },
3569
+ "type": "Dropdown",
3570
+ "choices": [
3571
+ {
3572
+ "name": "Anthropic",
3573
+ "value": "anthropic"
3574
+ },
3575
+ {
3576
+ "name": "AWS Bedrock",
3577
+ "value": "bedrock"
3578
+ },
3579
+ {
3580
+ "name": "Azure OpenAI",
3581
+ "value": "azureOpenAi"
3582
+ },
3583
+ {
3584
+ "name": "Google Vertex AI (Hybrid/Self-Managed only)",
3585
+ "value": "google-vertex-ai"
3586
+ },
3587
+ {
3588
+ "name": "OpenAI",
3589
+ "value": "openai"
3590
+ }
3591
+ ]
3592
+ },
3593
+ {
3594
+ "id": "provider.anthropic.endpoint",
3595
+ "label": "Endpoint",
3596
+ "description": "Optional custom API endpoint",
3597
+ "optional": true,
3598
+ "feel": "optional",
3599
+ "group": "provider",
3600
+ "binding": {
3601
+ "name": "provider.anthropic.endpoint",
3602
+ "type": "zeebe:input"
3603
+ },
3604
+ "condition": {
3605
+ "property": "provider.type",
3606
+ "equals": "anthropic",
3607
+ "type": "simple"
3608
+ },
3609
+ "type": "String"
3610
+ },
3611
+ {
3612
+ "id": "provider.anthropic.authentication.apiKey",
3613
+ "label": "Anthropic API key",
3614
+ "optional": false,
3615
+ "constraints": {
3616
+ "notEmpty": true
3617
+ },
3618
+ "feel": "optional",
3619
+ "group": "provider",
3620
+ "binding": {
3621
+ "name": "provider.anthropic.authentication.apiKey",
3622
+ "type": "zeebe:input"
3623
+ },
3624
+ "condition": {
3625
+ "property": "provider.type",
3626
+ "equals": "anthropic",
3627
+ "type": "simple"
3628
+ },
3629
+ "type": "String"
3630
+ },
3631
+ {
3632
+ "id": "provider.bedrock.region",
3633
+ "label": "Region",
3634
+ "description": "Specify the AWS region (example: <code>eu-west-1</code>)",
3635
+ "optional": false,
3636
+ "constraints": {
3637
+ "notEmpty": true
3638
+ },
3639
+ "feel": "optional",
3640
+ "group": "provider",
3641
+ "binding": {
3642
+ "name": "provider.bedrock.region",
3643
+ "type": "zeebe:input"
3644
+ },
3645
+ "condition": {
3646
+ "property": "provider.type",
3647
+ "equals": "bedrock",
3648
+ "type": "simple"
3649
+ },
3650
+ "type": "String"
3651
+ },
3652
+ {
3653
+ "id": "provider.bedrock.endpoint",
3654
+ "label": "Endpoint",
3655
+ "description": "Optional custom API endpoint",
3656
+ "optional": true,
3657
+ "feel": "optional",
3658
+ "group": "provider",
3659
+ "binding": {
3660
+ "name": "provider.bedrock.endpoint",
3661
+ "type": "zeebe:input"
3662
+ },
3663
+ "condition": {
3664
+ "property": "provider.type",
3665
+ "equals": "bedrock",
3666
+ "type": "simple"
3667
+ },
3668
+ "type": "String"
3669
+ },
3670
+ {
3671
+ "id": "provider.bedrock.authentication.type",
3672
+ "label": "Authentication",
3673
+ "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>",
3674
+ "value": "credentials",
3675
+ "group": "provider",
3676
+ "binding": {
3677
+ "name": "provider.bedrock.authentication.type",
3678
+ "type": "zeebe:input"
3679
+ },
3680
+ "condition": {
3681
+ "property": "provider.type",
3682
+ "equals": "bedrock",
3683
+ "type": "simple"
3684
+ },
3685
+ "type": "Dropdown",
3686
+ "choices": [
3687
+ {
3688
+ "name": "Credentials",
3689
+ "value": "credentials"
3690
+ },
3691
+ {
3692
+ "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
3693
+ "value": "defaultCredentialsChain"
3694
+ }
3695
+ ]
3696
+ },
3697
+ {
3698
+ "id": "provider.bedrock.authentication.accessKey",
3699
+ "label": "Access key",
3700
+ "description": "Provide an IAM access key tailored to a user, equipped with the necessary permissions",
3701
+ "optional": false,
3702
+ "constraints": {
3703
+ "notEmpty": true
3704
+ },
3705
+ "feel": "optional",
3706
+ "group": "provider",
3707
+ "binding": {
3708
+ "name": "provider.bedrock.authentication.accessKey",
3709
+ "type": "zeebe:input"
3710
+ },
3711
+ "condition": {
3712
+ "allMatch": [
3713
+ {
3714
+ "property": "provider.bedrock.authentication.type",
3715
+ "equals": "credentials",
3716
+ "type": "simple"
3717
+ },
3718
+ {
3719
+ "property": "provider.type",
3720
+ "equals": "bedrock",
3721
+ "type": "simple"
3722
+ }
3723
+ ]
3724
+ },
3725
+ "type": "String"
3726
+ },
3727
+ {
3728
+ "id": "provider.bedrock.authentication.secretKey",
3729
+ "label": "Secret key",
3730
+ "description": "Provide a secret key of a user with permissions to invoke specified AWS Lambda function",
3731
+ "optional": false,
3732
+ "constraints": {
3733
+ "notEmpty": true
3734
+ },
3735
+ "feel": "optional",
3736
+ "group": "provider",
3737
+ "binding": {
3738
+ "name": "provider.bedrock.authentication.secretKey",
3739
+ "type": "zeebe:input"
3740
+ },
3741
+ "condition": {
3742
+ "allMatch": [
3743
+ {
3744
+ "property": "provider.bedrock.authentication.type",
3745
+ "equals": "credentials",
3746
+ "type": "simple"
3747
+ },
3748
+ {
3749
+ "property": "provider.type",
3750
+ "equals": "bedrock",
3751
+ "type": "simple"
3752
+ }
3753
+ ]
3754
+ },
3755
+ "type": "String"
3756
+ },
3757
+ {
3758
+ "id": "provider.azureOpenAi.endpoint",
3759
+ "label": "Endpoint",
3760
+ "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>.",
3761
+ "optional": false,
3762
+ "constraints": {
3763
+ "notEmpty": true
3764
+ },
3765
+ "feel": "optional",
3766
+ "group": "provider",
3767
+ "binding": {
3768
+ "name": "provider.azureOpenAi.endpoint",
3769
+ "type": "zeebe:input"
3770
+ },
3771
+ "condition": {
3772
+ "property": "provider.type",
3773
+ "equals": "azureOpenAi",
3774
+ "type": "simple"
3775
+ },
3776
+ "type": "String"
3777
+ },
3778
+ {
3779
+ "id": "provider.azureOpenAi.authentication.type",
3780
+ "label": "Authentication",
3781
+ "description": "Specify the Azure OpenAI authentication strategy.",
3782
+ "value": "apiKey",
3783
+ "group": "provider",
3784
+ "binding": {
3785
+ "name": "provider.azureOpenAi.authentication.type",
3786
+ "type": "zeebe:input"
3787
+ },
3788
+ "condition": {
3789
+ "property": "provider.type",
3790
+ "equals": "azureOpenAi",
3791
+ "type": "simple"
3792
+ },
3793
+ "type": "Dropdown",
3794
+ "choices": [
3795
+ {
3796
+ "name": "API key",
3797
+ "value": "apiKey"
3798
+ },
3799
+ {
3800
+ "name": "Client credentials",
3801
+ "value": "clientCredentials"
3802
+ }
3803
+ ]
3804
+ },
3805
+ {
3806
+ "id": "provider.azureOpenAi.authentication.apiKey",
3807
+ "label": "API key",
3808
+ "optional": false,
3809
+ "constraints": {
3810
+ "notEmpty": true
3811
+ },
3812
+ "feel": "optional",
3813
+ "group": "provider",
3814
+ "binding": {
3815
+ "name": "provider.azureOpenAi.authentication.apiKey",
3816
+ "type": "zeebe:input"
3817
+ },
3818
+ "condition": {
3819
+ "allMatch": [
3820
+ {
3821
+ "property": "provider.azureOpenAi.authentication.type",
3822
+ "equals": "apiKey",
3823
+ "type": "simple"
3824
+ },
3825
+ {
3826
+ "property": "provider.type",
3827
+ "equals": "azureOpenAi",
3828
+ "type": "simple"
3829
+ }
3830
+ ]
3831
+ },
3832
+ "type": "String"
3833
+ },
3834
+ {
3835
+ "id": "provider.azureOpenAi.authentication.clientId",
3836
+ "label": "Client ID",
3837
+ "description": "ID of a Microsoft Entra application",
3838
+ "optional": false,
3839
+ "constraints": {
3840
+ "notEmpty": true
3841
+ },
3842
+ "feel": "optional",
3843
+ "group": "provider",
3844
+ "binding": {
3845
+ "name": "provider.azureOpenAi.authentication.clientId",
3846
+ "type": "zeebe:input"
3847
+ },
3848
+ "condition": {
3849
+ "allMatch": [
3850
+ {
3851
+ "property": "provider.azureOpenAi.authentication.type",
3852
+ "equals": "clientCredentials",
3853
+ "type": "simple"
3854
+ },
3855
+ {
3856
+ "property": "provider.type",
3857
+ "equals": "azureOpenAi",
3858
+ "type": "simple"
3859
+ }
3860
+ ]
3861
+ },
3862
+ "type": "String"
3863
+ },
3864
+ {
3865
+ "id": "provider.azureOpenAi.authentication.clientSecret",
3866
+ "label": "Client secret",
3867
+ "description": "Secret of a Microsoft Entra application",
3868
+ "optional": false,
3869
+ "constraints": {
3870
+ "notEmpty": true
3871
+ },
3872
+ "feel": "optional",
3873
+ "group": "provider",
3874
+ "binding": {
3875
+ "name": "provider.azureOpenAi.authentication.clientSecret",
3876
+ "type": "zeebe:input"
3877
+ },
3878
+ "condition": {
3879
+ "allMatch": [
3880
+ {
3881
+ "property": "provider.azureOpenAi.authentication.type",
3882
+ "equals": "clientCredentials",
3883
+ "type": "simple"
3884
+ },
3885
+ {
3886
+ "property": "provider.type",
3887
+ "equals": "azureOpenAi",
3888
+ "type": "simple"
3889
+ }
3890
+ ]
3891
+ },
3892
+ "type": "String"
3893
+ },
3894
+ {
3895
+ "id": "provider.azureOpenAi.authentication.tenantId",
3896
+ "label": "Tenant ID",
3897
+ "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>.",
3898
+ "optional": false,
3899
+ "constraints": {
3900
+ "notEmpty": true
3901
+ },
3902
+ "feel": "optional",
3903
+ "group": "provider",
3904
+ "binding": {
3905
+ "name": "provider.azureOpenAi.authentication.tenantId",
3906
+ "type": "zeebe:input"
3907
+ },
3908
+ "condition": {
3909
+ "allMatch": [
3910
+ {
3911
+ "property": "provider.azureOpenAi.authentication.type",
3912
+ "equals": "clientCredentials",
3913
+ "type": "simple"
3914
+ },
3915
+ {
3916
+ "property": "provider.type",
3917
+ "equals": "azureOpenAi",
3918
+ "type": "simple"
3919
+ }
3920
+ ]
3921
+ },
3922
+ "type": "String"
3923
+ },
3924
+ {
3925
+ "id": "provider.azureOpenAi.authentication.authorityHost",
3926
+ "label": "Authority host",
3927
+ "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.",
3928
+ "optional": true,
3929
+ "feel": "optional",
3930
+ "group": "provider",
3931
+ "binding": {
3932
+ "name": "provider.azureOpenAi.authentication.authorityHost",
3933
+ "type": "zeebe:input"
3934
+ },
3935
+ "condition": {
3936
+ "allMatch": [
3937
+ {
3938
+ "property": "provider.azureOpenAi.authentication.type",
3939
+ "equals": "clientCredentials",
3940
+ "type": "simple"
3941
+ },
3942
+ {
3943
+ "property": "provider.type",
3944
+ "equals": "azureOpenAi",
3945
+ "type": "simple"
3946
+ }
3947
+ ]
3948
+ },
3949
+ "type": "String"
3950
+ },
3951
+ {
3952
+ "id": "provider.googleVertexAi.projectId",
3953
+ "label": "Project ID",
3954
+ "description": "Specify Google Cloud project ID",
3955
+ "optional": false,
3956
+ "constraints": {
3957
+ "notEmpty": true
3958
+ },
3959
+ "feel": "optional",
3960
+ "group": "provider",
3961
+ "binding": {
3962
+ "name": "provider.googleVertexAi.projectId",
3963
+ "type": "zeebe:input"
3964
+ },
3965
+ "condition": {
3966
+ "property": "provider.type",
3967
+ "equals": "google-vertex-ai",
3968
+ "type": "simple"
3969
+ },
3970
+ "type": "String"
3971
+ },
3972
+ {
3973
+ "id": "provider.googleVertexAi.location",
3974
+ "label": "Location",
3975
+ "description": "Specify the region where AI inference should take place",
3976
+ "optional": false,
3977
+ "constraints": {
3978
+ "notEmpty": true
3979
+ },
3980
+ "feel": "optional",
3981
+ "group": "provider",
3982
+ "binding": {
3983
+ "name": "provider.googleVertexAi.location",
3984
+ "type": "zeebe:input"
3985
+ },
3986
+ "condition": {
3987
+ "property": "provider.type",
3988
+ "equals": "google-vertex-ai",
3989
+ "type": "simple"
3990
+ },
3991
+ "type": "String"
3992
+ },
3993
+ {
3994
+ "id": "provider.openai.authentication.apiKey",
3995
+ "label": "OpenAI API key",
3996
+ "optional": false,
3997
+ "constraints": {
3998
+ "notEmpty": true
3999
+ },
4000
+ "feel": "optional",
4001
+ "group": "provider",
4002
+ "binding": {
4003
+ "name": "provider.openai.authentication.apiKey",
4004
+ "type": "zeebe:input"
4005
+ },
4006
+ "condition": {
4007
+ "property": "provider.type",
4008
+ "equals": "openai",
4009
+ "type": "simple"
4010
+ },
4011
+ "type": "String"
4012
+ },
4013
+ {
4014
+ "id": "provider.openai.authentication.organizationId",
4015
+ "label": "Organization ID",
4016
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
4017
+ "optional": true,
4018
+ "feel": "optional",
4019
+ "group": "provider",
4020
+ "binding": {
4021
+ "name": "provider.openai.authentication.organizationId",
4022
+ "type": "zeebe:input"
4023
+ },
4024
+ "condition": {
4025
+ "property": "provider.type",
4026
+ "equals": "openai",
4027
+ "type": "simple"
4028
+ },
4029
+ "type": "String"
4030
+ },
4031
+ {
4032
+ "id": "provider.openai.authentication.projectId",
4033
+ "label": "Project ID",
4034
+ "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
4035
+ "optional": true,
4036
+ "feel": "optional",
4037
+ "group": "provider",
4038
+ "binding": {
4039
+ "name": "provider.openai.authentication.projectId",
4040
+ "type": "zeebe:input"
4041
+ },
4042
+ "condition": {
4043
+ "property": "provider.type",
4044
+ "equals": "openai",
4045
+ "type": "simple"
4046
+ },
4047
+ "type": "String"
4048
+ },
4049
+ {
4050
+ "id": "provider.openai.endpoint",
4051
+ "label": "Custom API endpoint",
4052
+ "description": "Optional custom API endpoint.",
4053
+ "optional": true,
4054
+ "feel": "optional",
4055
+ "group": "provider",
4056
+ "binding": {
4057
+ "name": "provider.openai.endpoint",
4058
+ "type": "zeebe:input"
4059
+ },
4060
+ "condition": {
4061
+ "property": "provider.type",
4062
+ "equals": "openai",
4063
+ "type": "simple"
4064
+ },
4065
+ "tooltip": "Configure a custom OpenAI compatible API endpoint to use the connector with an OpenAI compatible API. Typically ends in <code>/v1</code>.",
4066
+ "type": "String"
4067
+ },
4068
+ {
4069
+ "id": "provider.openai.headers",
4070
+ "label": "Custom headers",
4071
+ "description": "Map of custom HTTP headers to add to the request.",
4072
+ "optional": true,
4073
+ "feel": "required",
4074
+ "group": "provider",
4075
+ "binding": {
4076
+ "name": "provider.openai.headers",
4077
+ "type": "zeebe:input"
4078
+ },
4079
+ "condition": {
4080
+ "property": "provider.type",
4081
+ "equals": "openai",
4082
+ "type": "simple"
4083
+ },
4084
+ "type": "String"
4085
+ },
4086
+ {
4087
+ "id": "provider.anthropic.model.model",
4088
+ "label": "Model",
4089
+ "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>.",
4090
+ "optional": false,
4091
+ "value": "claude-3-5-sonnet-20240620",
4092
+ "constraints": {
4093
+ "notEmpty": true
4094
+ },
4095
+ "feel": "optional",
4096
+ "group": "model",
4097
+ "binding": {
4098
+ "name": "provider.anthropic.model.model",
4099
+ "type": "zeebe:input"
4100
+ },
4101
+ "condition": {
4102
+ "property": "provider.type",
4103
+ "equals": "anthropic",
4104
+ "type": "simple"
4105
+ },
4106
+ "type": "String"
4107
+ },
4108
+ {
4109
+ "id": "provider.anthropic.model.parameters.maxTokens",
4110
+ "label": "Maximum tokens",
4111
+ "optional": true,
4112
+ "feel": "required",
4113
+ "group": "model",
4114
+ "binding": {
4115
+ "name": "provider.anthropic.model.parameters.maxTokens",
4116
+ "type": "zeebe:input"
4117
+ },
4118
+ "condition": {
4119
+ "property": "provider.type",
4120
+ "equals": "anthropic",
4121
+ "type": "simple"
4122
+ },
4123
+ "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>.",
4124
+ "type": "Number"
4125
+ },
4126
+ {
4127
+ "id": "provider.anthropic.model.parameters.temperature",
4128
+ "label": "Temperature",
4129
+ "optional": true,
4130
+ "feel": "required",
4131
+ "group": "model",
4132
+ "binding": {
4133
+ "name": "provider.anthropic.model.parameters.temperature",
4134
+ "type": "zeebe:input"
4135
+ },
4136
+ "condition": {
4137
+ "property": "provider.type",
4138
+ "equals": "anthropic",
4139
+ "type": "simple"
4140
+ },
4141
+ "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>.",
4142
+ "type": "Number"
4143
+ },
4144
+ {
4145
+ "id": "provider.anthropic.model.parameters.topP",
4146
+ "label": "top P",
4147
+ "optional": true,
4148
+ "feel": "required",
4149
+ "group": "model",
4150
+ "binding": {
4151
+ "name": "provider.anthropic.model.parameters.topP",
4152
+ "type": "zeebe:input"
4153
+ },
4154
+ "condition": {
4155
+ "property": "provider.type",
4156
+ "equals": "anthropic",
4157
+ "type": "simple"
4158
+ },
4159
+ "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>.",
4160
+ "type": "Number"
4161
+ },
4162
+ {
4163
+ "id": "provider.anthropic.model.parameters.topK",
4164
+ "label": "top K",
4165
+ "optional": true,
4166
+ "feel": "required",
4167
+ "group": "model",
4168
+ "binding": {
4169
+ "name": "provider.anthropic.model.parameters.topK",
4170
+ "type": "zeebe:input"
4171
+ },
4172
+ "condition": {
4173
+ "property": "provider.type",
4174
+ "equals": "anthropic",
4175
+ "type": "simple"
4176
+ },
4177
+ "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>.",
4178
+ "type": "Number"
4179
+ },
4180
+ {
4181
+ "id": "provider.bedrock.model.model",
4182
+ "label": "Model",
4183
+ "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>.",
4184
+ "optional": false,
4185
+ "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
4186
+ "constraints": {
4187
+ "notEmpty": true
4188
+ },
4189
+ "feel": "optional",
4190
+ "group": "model",
4191
+ "binding": {
4192
+ "name": "provider.bedrock.model.model",
4193
+ "type": "zeebe:input"
4194
+ },
4195
+ "condition": {
4196
+ "property": "provider.type",
4197
+ "equals": "bedrock",
4198
+ "type": "simple"
4199
+ },
4200
+ "type": "String"
4201
+ },
4202
+ {
4203
+ "id": "provider.bedrock.model.parameters.maxTokens",
4204
+ "label": "Maximum tokens",
4205
+ "optional": true,
4206
+ "feel": "required",
4207
+ "group": "model",
4208
+ "binding": {
4209
+ "name": "provider.bedrock.model.parameters.maxTokens",
4210
+ "type": "zeebe:input"
4211
+ },
4212
+ "condition": {
4213
+ "property": "provider.type",
4214
+ "equals": "bedrock",
4215
+ "type": "simple"
4216
+ },
4217
+ "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>.",
4218
+ "type": "Number"
4219
+ },
4220
+ {
4221
+ "id": "provider.bedrock.model.parameters.temperature",
4222
+ "label": "Temperature",
4223
+ "optional": true,
4224
+ "feel": "required",
4225
+ "group": "model",
4226
+ "binding": {
4227
+ "name": "provider.bedrock.model.parameters.temperature",
4228
+ "type": "zeebe:input"
4229
+ },
4230
+ "condition": {
4231
+ "property": "provider.type",
4232
+ "equals": "bedrock",
4233
+ "type": "simple"
4234
+ },
4235
+ "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>.",
4236
+ "type": "Number"
4237
+ },
4238
+ {
4239
+ "id": "provider.bedrock.model.parameters.topP",
4240
+ "label": "top P",
4241
+ "optional": true,
4242
+ "feel": "required",
4243
+ "group": "model",
4244
+ "binding": {
4245
+ "name": "provider.bedrock.model.parameters.topP",
4246
+ "type": "zeebe:input"
4247
+ },
4248
+ "condition": {
4249
+ "property": "provider.type",
4250
+ "equals": "bedrock",
4251
+ "type": "simple"
4252
+ },
4253
+ "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>.",
4254
+ "type": "Number"
4255
+ },
4256
+ {
4257
+ "id": "provider.azureOpenAi.model.deploymentName",
4258
+ "label": "Model deployment name",
4259
+ "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>.",
4260
+ "optional": false,
4261
+ "constraints": {
4262
+ "notEmpty": true
4263
+ },
4264
+ "feel": "optional",
4265
+ "group": "model",
4266
+ "binding": {
4267
+ "name": "provider.azureOpenAi.model.deploymentName",
4268
+ "type": "zeebe:input"
4269
+ },
4270
+ "condition": {
4271
+ "property": "provider.type",
4272
+ "equals": "azureOpenAi",
4273
+ "type": "simple"
4274
+ },
4275
+ "type": "String"
4276
+ },
4277
+ {
4278
+ "id": "provider.azureOpenAi.model.parameters.maxTokens",
4279
+ "label": "Maximum tokens",
4280
+ "optional": true,
4281
+ "feel": "required",
4282
+ "group": "model",
4283
+ "binding": {
4284
+ "name": "provider.azureOpenAi.model.parameters.maxTokens",
4285
+ "type": "zeebe:input"
4286
+ },
4287
+ "condition": {
4288
+ "property": "provider.type",
4289
+ "equals": "azureOpenAi",
4290
+ "type": "simple"
4291
+ },
4292
+ "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>.",
4293
+ "type": "Number"
4294
+ },
4295
+ {
4296
+ "id": "provider.azureOpenAi.model.parameters.temperature",
4297
+ "label": "Temperature",
4298
+ "optional": true,
4299
+ "feel": "required",
4300
+ "group": "model",
4301
+ "binding": {
4302
+ "name": "provider.azureOpenAi.model.parameters.temperature",
4303
+ "type": "zeebe:input"
4304
+ },
4305
+ "condition": {
4306
+ "property": "provider.type",
4307
+ "equals": "azureOpenAi",
4308
+ "type": "simple"
4309
+ },
4310
+ "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>.",
4311
+ "type": "Number"
4312
+ },
4313
+ {
4314
+ "id": "provider.azureOpenAi.model.parameters.topP",
4315
+ "label": "top P",
4316
+ "optional": true,
4317
+ "feel": "required",
4318
+ "group": "model",
4319
+ "binding": {
4320
+ "name": "provider.azureOpenAi.model.parameters.topP",
4321
+ "type": "zeebe:input"
4322
+ },
4323
+ "condition": {
4324
+ "property": "provider.type",
4325
+ "equals": "azureOpenAi",
4326
+ "type": "simple"
4327
+ },
4328
+ "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>.",
4329
+ "type": "Number"
4330
+ },
4331
+ {
4332
+ "id": "provider.googleVertexAi.model.model",
4333
+ "label": "Model",
4334
+ "description": "Specify the model ID. Details in the <a href=\"https://cloud.google.com/vertex-ai/docs/generative-ai/models\" target=\"_blank\">documentation</a>.",
4335
+ "optional": false,
4336
+ "constraints": {
4337
+ "notEmpty": true
4338
+ },
4339
+ "feel": "optional",
4340
+ "group": "model",
4341
+ "binding": {
4342
+ "name": "provider.googleVertexAi.model.model",
4343
+ "type": "zeebe:input"
4344
+ },
4345
+ "condition": {
4346
+ "property": "provider.type",
4347
+ "equals": "google-vertex-ai",
4348
+ "type": "simple"
4349
+ },
4350
+ "type": "String"
4351
+ },
4352
+ {
4353
+ "id": "provider.googleVertexAi.model.parameters.maxOutputTokens",
4354
+ "label": "Maximum output tokens",
4355
+ "optional": true,
4356
+ "feel": "required",
4357
+ "group": "model",
4358
+ "binding": {
4359
+ "name": "provider.googleVertexAi.model.parameters.maxOutputTokens",
4360
+ "type": "zeebe:input"
4361
+ },
4362
+ "condition": {
4363
+ "property": "provider.type",
4364
+ "equals": "google-vertex-ai",
4365
+ "type": "simple"
4366
+ },
4367
+ "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>.",
4368
+ "type": "Number"
4369
+ },
4370
+ {
4371
+ "id": "provider.googleVertexAi.model.parameters.temperature",
4372
+ "label": "Temperature",
4373
+ "optional": true,
4374
+ "feel": "required",
4375
+ "group": "model",
4376
+ "binding": {
4377
+ "name": "provider.googleVertexAi.model.parameters.temperature",
4378
+ "type": "zeebe:input"
4379
+ },
4380
+ "condition": {
4381
+ "property": "provider.type",
4382
+ "equals": "google-vertex-ai",
4383
+ "type": "simple"
4384
+ },
4385
+ "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>.",
4386
+ "type": "Number"
4387
+ },
4388
+ {
4389
+ "id": "provider.googleVertexAi.model.parameters.topP",
4390
+ "label": "top P",
4391
+ "optional": true,
4392
+ "feel": "required",
4393
+ "group": "model",
4394
+ "binding": {
4395
+ "name": "provider.googleVertexAi.model.parameters.topP",
4396
+ "type": "zeebe:input"
4397
+ },
4398
+ "condition": {
4399
+ "property": "provider.type",
4400
+ "equals": "google-vertex-ai",
4401
+ "type": "simple"
4402
+ },
4403
+ "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>.",
4404
+ "type": "Number"
4405
+ },
4406
+ {
4407
+ "id": "provider.googleVertexAi.model.parameters.topK",
4408
+ "label": "top K",
4409
+ "optional": true,
4410
+ "feel": "required",
4411
+ "group": "model",
4412
+ "binding": {
4413
+ "name": "provider.googleVertexAi.model.parameters.topK",
4414
+ "type": "zeebe:input"
4415
+ },
4416
+ "condition": {
4417
+ "property": "provider.type",
4418
+ "equals": "google-vertex-ai",
4419
+ "type": "simple"
4420
+ },
4421
+ "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>.",
4422
+ "type": "Number"
4423
+ },
4424
+ {
4425
+ "id": "provider.openai.model.model",
4426
+ "label": "Model",
4427
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
4428
+ "optional": false,
4429
+ "value": "gpt-4o",
4430
+ "constraints": {
4431
+ "notEmpty": true
4432
+ },
4433
+ "feel": "optional",
4434
+ "group": "model",
4435
+ "binding": {
4436
+ "name": "provider.openai.model.model",
4437
+ "type": "zeebe:input"
4438
+ },
4439
+ "condition": {
4440
+ "property": "provider.type",
4441
+ "equals": "openai",
4442
+ "type": "simple"
4443
+ },
4444
+ "type": "String"
4445
+ },
4446
+ {
4447
+ "id": "provider.openai.model.parameters.maxCompletionTokens",
4448
+ "label": "Maximum completion tokens",
4449
+ "optional": true,
4450
+ "feel": "required",
4451
+ "group": "model",
4452
+ "binding": {
4453
+ "name": "provider.openai.model.parameters.maxCompletionTokens",
4454
+ "type": "zeebe:input"
4455
+ },
4456
+ "condition": {
4457
+ "property": "provider.type",
4458
+ "equals": "openai",
4459
+ "type": "simple"
4460
+ },
4461
+ "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>.",
4462
+ "type": "Number"
4463
+ },
4464
+ {
4465
+ "id": "provider.openai.model.parameters.temperature",
4466
+ "label": "Temperature",
4467
+ "optional": true,
4468
+ "feel": "required",
4469
+ "group": "model",
4470
+ "binding": {
4471
+ "name": "provider.openai.model.parameters.temperature",
4472
+ "type": "zeebe:input"
4473
+ },
4474
+ "condition": {
4475
+ "property": "provider.type",
4476
+ "equals": "openai",
4477
+ "type": "simple"
4478
+ },
4479
+ "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>.",
4480
+ "type": "Number"
4481
+ },
4482
+ {
4483
+ "id": "provider.openai.model.parameters.topP",
4484
+ "label": "top P",
4485
+ "optional": true,
4486
+ "feel": "required",
4487
+ "group": "model",
4488
+ "binding": {
4489
+ "name": "provider.openai.model.parameters.topP",
4490
+ "type": "zeebe:input"
4491
+ },
4492
+ "condition": {
4493
+ "property": "provider.type",
4494
+ "equals": "openai",
4495
+ "type": "simple"
4496
+ },
4497
+ "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>.",
4498
+ "type": "Number"
4499
+ },
4500
+ {
4501
+ "id": "data.systemPrompt.prompt",
4502
+ "label": "System prompt",
4503
+ "optional": false,
4504
+ "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.\n",
4505
+ "constraints": {
4506
+ "notEmpty": true
4507
+ },
4508
+ "feel": "optional",
4509
+ "group": "systemPrompt",
4510
+ "binding": {
4511
+ "name": "data.systemPrompt.prompt",
4512
+ "type": "zeebe:input"
4513
+ },
4514
+ "type": "Text"
4515
+ },
4516
+ {
4517
+ "id": "data.systemPrompt.parameters",
4518
+ "label": "System prompt parameters",
4519
+ "description": "Use <code>{{parameter}}</code> format in the prompt to insert values defined in this map.",
4520
+ "optional": true,
4521
+ "feel": "required",
4522
+ "group": "systemPrompt",
4523
+ "binding": {
4524
+ "name": "data.systemPrompt.parameters",
4525
+ "type": "zeebe:input"
4526
+ },
4527
+ "type": "String"
4528
+ },
4529
+ {
4530
+ "id": "data.userPrompt.prompt",
4531
+ "label": "User prompt",
4532
+ "optional": false,
4533
+ "constraints": {
4534
+ "notEmpty": true
4535
+ },
4536
+ "feel": "optional",
4537
+ "group": "userPrompt",
4538
+ "binding": {
4539
+ "name": "data.userPrompt.prompt",
4540
+ "type": "zeebe:input"
4541
+ },
4542
+ "type": "Text"
4543
+ },
4544
+ {
4545
+ "id": "data.userPrompt.parameters",
4546
+ "label": "User prompt parameters",
4547
+ "description": "Use <code>{{parameter}}</code> format in the prompt to insert values defined in this map.",
4548
+ "optional": true,
4549
+ "feel": "required",
4550
+ "group": "userPrompt",
4551
+ "binding": {
4552
+ "name": "data.userPrompt.parameters",
4553
+ "type": "zeebe:input"
4554
+ },
4555
+ "type": "String"
4556
+ },
4557
+ {
4558
+ "id": "data.userPrompt.documents",
4559
+ "label": "Documents",
4560
+ "description": "Documents to be included in the user prompt.",
4561
+ "optional": true,
4562
+ "feel": "required",
4563
+ "group": "userPrompt",
4564
+ "binding": {
4565
+ "name": "data.userPrompt.documents",
4566
+ "type": "zeebe:input"
4567
+ },
4568
+ "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.",
4569
+ "type": "String"
4570
+ },
4571
+ {
4572
+ "id": "data.tools.containerElementId",
4573
+ "label": "Ad-hoc sub-process ID",
4574
+ "description": "ID of the sub-process that contains the tools the AI agent can use.",
4575
+ "optional": true,
4576
+ "feel": "optional",
4577
+ "group": "tools",
4578
+ "binding": {
4579
+ "name": "data.tools.containerElementId",
4580
+ "type": "zeebe:input"
4581
+ },
4582
+ "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.",
4583
+ "type": "String"
4584
+ },
4585
+ {
4586
+ "id": "data.tools.toolCallResults",
4587
+ "label": "Tool call results",
4588
+ "description": "Tool call results as returned by the sub-process.",
4589
+ "optional": true,
4590
+ "feel": "required",
4591
+ "group": "tools",
4592
+ "binding": {
4593
+ "name": "data.tools.toolCallResults",
4594
+ "type": "zeebe:input"
4595
+ },
4596
+ "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.",
4597
+ "type": "Text"
4598
+ },
4599
+ {
4600
+ "id": "data.agentContext",
4601
+ "label": "Agent context",
4602
+ "description": "Avoid reusing context variables across agents to prevent issues with stale data or tool access.",
4603
+ "optional": false,
4604
+ "value": "=agent.context",
4605
+ "constraints": {
4606
+ "notEmpty": true
4607
+ },
4608
+ "feel": "required",
4609
+ "group": "memory",
4610
+ "binding": {
4611
+ "name": "data.context",
4612
+ "type": "zeebe:input"
4613
+ },
4614
+ "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.",
4615
+ "type": "Text"
4616
+ },
4617
+ {
4618
+ "id": "data.memory.storage.type",
4619
+ "label": "Memory storage type",
4620
+ "description": "Specify how to store the conversation memory.",
4621
+ "value": "in-process",
4622
+ "group": "memory",
4623
+ "binding": {
4624
+ "name": "data.memory.storage.type",
4625
+ "type": "zeebe:input"
4626
+ },
4627
+ "type": "Dropdown",
4628
+ "choices": [
4629
+ {
4630
+ "name": "In Process (part of agent context)",
4631
+ "value": "in-process"
4632
+ },
4633
+ {
4634
+ "name": "Camunda Document Storage",
4635
+ "value": "camunda-document"
4636
+ },
4637
+ {
4638
+ "name": "Custom Implementation (Hybrid/Self-Managed only)",
4639
+ "value": "custom"
4640
+ }
4641
+ ]
4642
+ },
4643
+ {
4644
+ "id": "data.memory.storage.timeToLive",
4645
+ "label": "Document TTL",
4646
+ "description": "How long to retain the conversation document as ISO-8601 duration (example: <code>P14D</code>).",
4647
+ "optional": true,
4648
+ "feel": "optional",
4649
+ "group": "memory",
4650
+ "binding": {
4651
+ "name": "data.memory.storage.timeToLive",
4652
+ "type": "zeebe:input"
4653
+ },
4654
+ "condition": {
4655
+ "property": "data.memory.storage.type",
4656
+ "equals": "camunda-document",
4657
+ "type": "simple"
4658
+ },
4659
+ "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.",
4660
+ "type": "String"
4661
+ },
4662
+ {
4663
+ "id": "data.memory.storage.customProperties",
4664
+ "label": "Custom document properties",
4665
+ "description": "An optional map of custom properties to be stored with the conversation document.",
4666
+ "optional": true,
4667
+ "feel": "required",
4668
+ "group": "memory",
4669
+ "binding": {
4670
+ "name": "data.memory.storage.customProperties",
4671
+ "type": "zeebe:input"
4672
+ },
4673
+ "condition": {
4674
+ "property": "data.memory.storage.type",
4675
+ "equals": "camunda-document",
4676
+ "type": "simple"
4677
+ },
4678
+ "type": "String"
4679
+ },
4680
+ {
4681
+ "id": "data.memory.storage.storeType",
4682
+ "label": "Implementation type",
4683
+ "optional": false,
4684
+ "constraints": {
4685
+ "notEmpty": true
4686
+ },
4687
+ "feel": "optional",
4688
+ "group": "memory",
4689
+ "binding": {
4690
+ "name": "data.memory.storage.storeType",
4691
+ "type": "zeebe:input"
4692
+ },
4693
+ "condition": {
4694
+ "property": "data.memory.storage.type",
4695
+ "equals": "custom",
4696
+ "type": "simple"
4697
+ },
4698
+ "type": "String"
4699
+ },
4700
+ {
4701
+ "id": "data.memory.storage.parameters",
4702
+ "label": "Parameters",
4703
+ "description": "Parameters for the custom memory storage implementation.",
4704
+ "optional": true,
4705
+ "feel": "required",
4706
+ "group": "memory",
4707
+ "binding": {
4708
+ "name": "data.memory.storage.parameters",
4709
+ "type": "zeebe:input"
4710
+ },
4711
+ "condition": {
4712
+ "property": "data.memory.storage.type",
4713
+ "equals": "custom",
4714
+ "type": "simple"
4715
+ },
4716
+ "type": "String"
4717
+ },
4718
+ {
4719
+ "id": "data.memory.contextWindowSize",
4720
+ "label": "Context window size",
4721
+ "description": "Maximum number of recent conversation messages which are passed to the model.",
4722
+ "optional": false,
4723
+ "value": 20,
4724
+ "feel": "static",
4725
+ "group": "memory",
4726
+ "binding": {
4727
+ "name": "data.memory.contextWindowSize",
4728
+ "type": "zeebe:input"
4729
+ },
4730
+ "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.",
4731
+ "type": "Number"
4732
+ },
4733
+ {
4734
+ "id": "data.limits.maxModelCalls",
4735
+ "label": "Maximum model calls",
4736
+ "description": "Maximum number of calls to the model as a safety limit to prevent infinite loops.",
4737
+ "optional": false,
4738
+ "value": 10,
4739
+ "feel": "static",
4740
+ "group": "limits",
4741
+ "binding": {
4742
+ "name": "data.limits.maxModelCalls",
4743
+ "type": "zeebe:input"
4744
+ },
4745
+ "type": "Number"
4746
+ },
4747
+ {
4748
+ "id": "data.response.format.type",
4749
+ "label": "Response format",
4750
+ "description": "Specify the response format. Support for JSON mode varies by provider.",
4751
+ "value": "text",
4752
+ "group": "response",
4753
+ "binding": {
4754
+ "name": "data.response.format.type",
4755
+ "type": "zeebe:input"
4756
+ },
4757
+ "type": "Dropdown",
4758
+ "choices": [
4759
+ {
4760
+ "name": "Text",
4761
+ "value": "text"
4762
+ },
4763
+ {
4764
+ "name": "JSON",
4765
+ "value": "json"
4766
+ }
4767
+ ]
4768
+ },
4769
+ {
4770
+ "id": "data.response.format.parseJson",
4771
+ "label": "Parse text as JSON",
4772
+ "description": "Tries to parse the LLM response text as JSON object.",
4773
+ "optional": true,
4774
+ "feel": "static",
4775
+ "group": "response",
4776
+ "binding": {
4777
+ "name": "data.response.format.parseJson",
4778
+ "type": "zeebe:input"
4779
+ },
4780
+ "condition": {
4781
+ "property": "data.response.format.type",
4782
+ "equals": "text",
4783
+ "type": "simple"
4784
+ },
4785
+ "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>.",
4786
+ "type": "Boolean"
4787
+ },
4788
+ {
4789
+ "id": "data.response.format.schema",
4790
+ "label": "Response JSON schema",
4791
+ "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.",
4792
+ "optional": true,
4793
+ "feel": "required",
4794
+ "group": "response",
4795
+ "binding": {
4796
+ "name": "data.response.format.schema",
4797
+ "type": "zeebe:input"
4798
+ },
4799
+ "condition": {
4800
+ "property": "data.response.format.type",
4801
+ "equals": "json",
4802
+ "type": "simple"
4803
+ },
4804
+ "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>.",
4805
+ "type": "String"
4806
+ },
4807
+ {
4808
+ "id": "data.response.format.schemaName",
4809
+ "label": "Response JSON schema name",
4810
+ "description": "An optional name for the response JSON Schema to make the model aware of the expected output.",
4811
+ "optional": true,
4812
+ "value": "Response",
4813
+ "feel": "optional",
4814
+ "group": "response",
4815
+ "binding": {
4816
+ "name": "data.response.format.schemaName",
4817
+ "type": "zeebe:input"
4818
+ },
4819
+ "condition": {
4820
+ "property": "data.response.format.type",
4821
+ "equals": "json",
4822
+ "type": "simple"
4823
+ },
4824
+ "type": "String"
4825
+ },
4826
+ {
4827
+ "id": "data.response.includeAssistantMessage",
4828
+ "label": "Include assistant message",
4829
+ "description": "Include the full assistant message as part of the result object.",
4830
+ "optional": true,
4831
+ "feel": "static",
4832
+ "group": "response",
4833
+ "binding": {
4834
+ "name": "data.response.includeAssistantMessage",
4835
+ "type": "zeebe:input"
4836
+ },
4837
+ "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>.",
4838
+ "type": "Boolean"
4839
+ },
4840
+ {
4841
+ "id": "version",
4842
+ "label": "Version",
4843
+ "description": "Version of the element template",
4844
+ "value": "2",
4845
+ "group": "connector",
4846
+ "binding": {
4847
+ "key": "elementTemplateVersion",
4848
+ "type": "zeebe:taskHeader"
4849
+ },
4850
+ "type": "Hidden"
4851
+ },
4852
+ {
4853
+ "id": "id",
4854
+ "label": "ID",
4855
+ "description": "ID of the element template",
4856
+ "value": "io.camunda.connectors.agenticai.aiagent.v1",
4857
+ "group": "connector",
4858
+ "binding": {
4859
+ "key": "elementTemplateId",
4860
+ "type": "zeebe:taskHeader"
4861
+ },
4862
+ "type": "Hidden"
4863
+ },
4864
+ {
4865
+ "id": "resultVariable",
4866
+ "label": "Result variable",
4867
+ "description": "Name of variable to store the response in",
4868
+ "value": "agent",
4869
+ "group": "output",
4870
+ "binding": {
4871
+ "key": "resultVariable",
4872
+ "type": "zeebe:taskHeader"
4873
+ },
4874
+ "type": "String"
4875
+ },
4876
+ {
4877
+ "id": "resultExpression",
4878
+ "label": "Result expression",
4879
+ "description": "Expression to map the response into process variables",
4880
+ "feel": "required",
4881
+ "group": "output",
4882
+ "binding": {
4883
+ "key": "resultExpression",
4884
+ "type": "zeebe:taskHeader"
4885
+ },
4886
+ "type": "Text"
4887
+ },
4888
+ {
4889
+ "id": "errorExpression",
4890
+ "label": "Error expression",
4891
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
4892
+ "feel": "required",
4893
+ "group": "error",
4894
+ "binding": {
4895
+ "key": "errorExpression",
4896
+ "type": "zeebe:taskHeader"
4897
+ },
4898
+ "type": "Text"
4899
+ },
4900
+ {
4901
+ "id": "retryCount",
4902
+ "label": "Retries",
4903
+ "description": "Number of retries",
4904
+ "value": "3",
4905
+ "feel": "optional",
4906
+ "group": "retries",
4907
+ "binding": {
4908
+ "property": "retries",
4909
+ "type": "zeebe:taskDefinition"
4910
+ },
4911
+ "type": "String"
4912
+ },
4913
+ {
4914
+ "id": "retryBackoff",
4915
+ "label": "Retry backoff",
4916
+ "description": "ISO-8601 duration to wait between retries",
4917
+ "value": "PT0S",
4918
+ "group": "retries",
4919
+ "binding": {
4920
+ "key": "retryBackoff",
4921
+ "type": "zeebe:taskHeader"
4922
+ },
4923
+ "type": "String"
4924
+ }
4925
+ ],
4926
+ "icon": {
4927
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K"
4928
+ }
3372
4929
  }
3373
4930
  ]