@camunda/connectors-element-templates 1.0.4 → 1.0.6

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 (80) hide show
  1. package/package.json +1 -1
  2. package/src/connectors.js +10 -2
  3. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +157 -0
  4. package/src/element-templates/agenticai-aiagent-outbound-connector.json +1521 -0
  5. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  6. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2 -1
  7. package/src/element-templates/asana-connector.json +8 -8
  8. package/src/element-templates/automation-anywhere-outbound-connector.json +837 -15
  9. package/src/element-templates/aws-bedrock-outbound-connector.json +74 -74
  10. package/src/element-templates/aws-dynamodb-outbound-connector.json +2624 -2624
  11. package/src/element-templates/aws-eventbridge-connector-start-event.json +18 -15
  12. package/src/element-templates/aws-eventbridge-outbound-connector.json +305 -305
  13. package/src/element-templates/aws-lambda-outbound-connector.json +182 -182
  14. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  15. package/src/element-templates/aws-sns-inbound-intermediate.json +460 -460
  16. package/src/element-templates/aws-sns-inbound-message-start.json +336 -336
  17. package/src/element-templates/aws-sns-outbound-connector.json +719 -719
  18. package/src/element-templates/aws-sqs-boundary-connector.json +444 -444
  19. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +919 -919
  20. package/src/element-templates/aws-sqs-outbound-connector.json +434 -434
  21. package/src/element-templates/aws-sqs-start-event-connector.json +387 -387
  22. package/src/element-templates/aws-sqs-start-message.json +463 -463
  23. package/src/element-templates/aws-textract-outbound-connector.json +123 -123
  24. package/src/element-templates/azure-blobstorage-outbound-connector.json +349 -0
  25. package/src/element-templates/azure-open-ai-connector.json +32 -32
  26. package/src/element-templates/blue-prism-connector.json +47 -47
  27. package/src/element-templates/csv-outbound-connector.json +392 -0
  28. package/src/element-templates/easy-post-connector.json +149 -149
  29. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  30. package/src/element-templates/email-outbound-connector.json +199 -199
  31. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3473 -150
  32. package/src/element-templates/github-connector.json +3711 -3711
  33. package/src/element-templates/github-webhook-connector-boundary.json +16 -16
  34. package/src/element-templates/github-webhook-connector-intermediate.json +25 -25
  35. package/src/element-templates/github-webhook-connector-message-start.json +21 -21
  36. package/src/element-templates/github-webhook-connector-start-event.json +13 -10
  37. package/src/element-templates/gitlab-connector.json +3165 -3165
  38. package/src/element-templates/google-cloud-storage-outbound-connector.json +357 -0
  39. package/src/element-templates/google-drive-outbound-connector.json +495 -182
  40. package/src/element-templates/google-maps-platform-connector.json +534 -45
  41. package/src/element-templates/google-sheets-outbound-connector.json +1359 -1359
  42. package/src/element-templates/graphql-outbound-connector.json +1716 -1716
  43. package/src/element-templates/http-json-connector.json +2067 -1155
  44. package/src/element-templates/http-polling-boundary-catch-event-connector.json +255 -552
  45. package/src/element-templates/http-polling-connector.json +260 -557
  46. package/src/element-templates/idp-extraction-outbound-connector.json +115 -0
  47. package/src/element-templates/jdbc-outbound-connector.json +402 -0
  48. package/src/element-templates/kafka-inbound-connector-boundary.json +481 -481
  49. package/src/element-templates/kafka-inbound-connector-intermediate.json +555 -555
  50. package/src/element-templates/kafka-inbound-connector-start-message.json +532 -532
  51. package/src/element-templates/kafka-inbound-connector.json +606 -0
  52. package/src/element-templates/kafka-outbound-connector.json +434 -434
  53. package/src/element-templates/microsoft-office365-mail-connector.json +60 -60
  54. package/src/element-templates/microsoft-teams-outbound-connector.json +2899 -2899
  55. package/src/element-templates/openai-connector.json +363 -5
  56. package/src/element-templates/operate-connector.json +525 -9
  57. package/src/element-templates/power-automate-connector.json +1724 -0
  58. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +323 -323
  59. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +458 -458
  60. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +557 -557
  61. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +351 -351
  62. package/src/element-templates/rabbitmq-outbound-connector.json +873 -873
  63. package/src/element-templates/salesforce-connector.json +10 -10
  64. package/src/element-templates/sendgrid-outbound-connector.json +536 -4
  65. package/src/element-templates/slack-inbound-boundary.json +265 -265
  66. package/src/element-templates/slack-inbound-intermediate.json +430 -430
  67. package/src/element-templates/slack-inbound-message-start.json +320 -320
  68. package/src/element-templates/slack-inbound-start-event.json +126 -123
  69. package/src/element-templates/slack-outbound-connector.json +485 -230
  70. package/src/element-templates/twilio-connector.json +59 -59
  71. package/src/element-templates/twilio-webhook-boundary-connector.json +28 -28
  72. package/src/element-templates/twilio-webhook-connector.json +13 -10
  73. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  74. package/src/element-templates/uipath-connector.json +44 -44
  75. package/src/element-templates/webhook-connector-boundary.json +582 -582
  76. package/src/element-templates/webhook-connector-intermediate.json +1143 -1143
  77. package/src/element-templates/webhook-connector-start-event.json +2104 -2101
  78. package/src/element-templates/webhook-connector-start-message.json +1148 -1148
  79. package/src/element-templates/whatsapp-connector.json +6 -6
  80. package/src/element-templates/agenticai-aiagent-outbound-connector-8.8.0-alpha4.json +0 -843
@@ -1,4 +1,1525 @@
1
1
  [
2
+ {
3
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
+ "name": "AI Agent",
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.",
7
+ "metadata": {
8
+ "keywords": []
9
+ },
10
+ "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
11
+ "version": 2,
12
+ "category": {
13
+ "id": "connectors",
14
+ "name": "Connectors"
15
+ },
16
+ "appliesTo": ["bpmn:Task"],
17
+ "elementType": {
18
+ "value": "bpmn:ServiceTask"
19
+ },
20
+ "engines": {
21
+ "camunda": "^8.8"
22
+ },
23
+ "groups": [
24
+ {
25
+ "id": "provider",
26
+ "label": "Model provider",
27
+ "openByDefault": false
28
+ },
29
+ {
30
+ "id": "model",
31
+ "label": "Model",
32
+ "openByDefault": false
33
+ },
34
+ {
35
+ "id": "systemPrompt",
36
+ "label": "System prompt",
37
+ "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.",
38
+ "openByDefault": false
39
+ },
40
+ {
41
+ "id": "userPrompt",
42
+ "label": "User prompt",
43
+ "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.",
44
+ "openByDefault": false
45
+ },
46
+ {
47
+ "id": "tools",
48
+ "label": "Tools",
49
+ "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.",
50
+ "openByDefault": false
51
+ },
52
+ {
53
+ "id": "memory",
54
+ "label": "Memory",
55
+ "tooltip": "Configuration of the Agent's short-term/conversational memory.",
56
+ "openByDefault": false
57
+ },
58
+ {
59
+ "id": "limits",
60
+ "label": "Limits",
61
+ "openByDefault": false
62
+ },
63
+ {
64
+ "id": "response",
65
+ "label": "Response",
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/#response\">documentation</a> for details.",
67
+ "openByDefault": false
68
+ },
69
+ {
70
+ "id": "connector",
71
+ "label": "Connector"
72
+ },
73
+ {
74
+ "id": "output",
75
+ "label": "Output mapping"
76
+ },
77
+ {
78
+ "id": "error",
79
+ "label": "Error handling"
80
+ },
81
+ {
82
+ "id": "retries",
83
+ "label": "Retries"
84
+ }
85
+ ],
86
+ "properties": [
87
+ {
88
+ "value": "io.camunda.agenticai:aiagent:1",
89
+ "binding": {
90
+ "property": "type",
91
+ "type": "zeebe:taskDefinition"
92
+ },
93
+ "type": "Hidden"
94
+ },
95
+ {
96
+ "id": "provider.type",
97
+ "label": "Provider",
98
+ "description": "Specify the LLM provider to use.",
99
+ "value": "anthropic",
100
+ "group": "provider",
101
+ "binding": {
102
+ "name": "provider.type",
103
+ "type": "zeebe:input"
104
+ },
105
+ "type": "Dropdown",
106
+ "choices": [
107
+ {
108
+ "name": "Anthropic",
109
+ "value": "anthropic"
110
+ },
111
+ {
112
+ "name": "AWS Bedrock",
113
+ "value": "bedrock"
114
+ },
115
+ {
116
+ "name": "Azure OpenAI",
117
+ "value": "azureOpenAi"
118
+ },
119
+ {
120
+ "name": "Google Vertex AI",
121
+ "value": "google-vertex-ai"
122
+ },
123
+ {
124
+ "name": "OpenAI",
125
+ "value": "openai"
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "id": "provider.anthropic.endpoint",
131
+ "label": "Endpoint",
132
+ "description": "Optional custom API endpoint",
133
+ "optional": true,
134
+ "feel": "optional",
135
+ "group": "provider",
136
+ "binding": {
137
+ "name": "provider.anthropic.endpoint",
138
+ "type": "zeebe:input"
139
+ },
140
+ "condition": {
141
+ "property": "provider.type",
142
+ "equals": "anthropic",
143
+ "type": "simple"
144
+ },
145
+ "type": "String"
146
+ },
147
+ {
148
+ "id": "provider.anthropic.authentication.apiKey",
149
+ "label": "Anthropic API key",
150
+ "optional": false,
151
+ "constraints": {
152
+ "notEmpty": true
153
+ },
154
+ "feel": "optional",
155
+ "group": "provider",
156
+ "binding": {
157
+ "name": "provider.anthropic.authentication.apiKey",
158
+ "type": "zeebe:input"
159
+ },
160
+ "condition": {
161
+ "property": "provider.type",
162
+ "equals": "anthropic",
163
+ "type": "simple"
164
+ },
165
+ "type": "String"
166
+ },
167
+ {
168
+ "id": "provider.bedrock.region",
169
+ "label": "Region",
170
+ "description": "Specify the AWS region (example: <code>eu-west-1</code>)",
171
+ "optional": false,
172
+ "constraints": {
173
+ "notEmpty": true
174
+ },
175
+ "feel": "optional",
176
+ "group": "provider",
177
+ "binding": {
178
+ "name": "provider.bedrock.region",
179
+ "type": "zeebe:input"
180
+ },
181
+ "condition": {
182
+ "property": "provider.type",
183
+ "equals": "bedrock",
184
+ "type": "simple"
185
+ },
186
+ "type": "String"
187
+ },
188
+ {
189
+ "id": "provider.bedrock.endpoint",
190
+ "label": "Endpoint",
191
+ "description": "Optional custom API endpoint",
192
+ "optional": true,
193
+ "feel": "optional",
194
+ "group": "provider",
195
+ "binding": {
196
+ "name": "provider.bedrock.endpoint",
197
+ "type": "zeebe:input"
198
+ },
199
+ "condition": {
200
+ "property": "provider.type",
201
+ "equals": "bedrock",
202
+ "type": "simple"
203
+ },
204
+ "type": "String"
205
+ },
206
+ {
207
+ "id": "provider.bedrock.authentication.type",
208
+ "label": "Authentication",
209
+ "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>",
210
+ "value": "credentials",
211
+ "group": "provider",
212
+ "binding": {
213
+ "name": "provider.bedrock.authentication.type",
214
+ "type": "zeebe:input"
215
+ },
216
+ "condition": {
217
+ "property": "provider.type",
218
+ "equals": "bedrock",
219
+ "type": "simple"
220
+ },
221
+ "type": "Dropdown",
222
+ "choices": [
223
+ {
224
+ "name": "Credentials",
225
+ "value": "credentials"
226
+ },
227
+ {
228
+ "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
229
+ "value": "defaultCredentialsChain"
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ "id": "provider.bedrock.authentication.accessKey",
235
+ "label": "Access key",
236
+ "description": "Provide an IAM access key tailored to a user, equipped with the necessary permissions",
237
+ "optional": false,
238
+ "constraints": {
239
+ "notEmpty": true
240
+ },
241
+ "feel": "optional",
242
+ "group": "provider",
243
+ "binding": {
244
+ "name": "provider.bedrock.authentication.accessKey",
245
+ "type": "zeebe:input"
246
+ },
247
+ "condition": {
248
+ "allMatch": [
249
+ {
250
+ "property": "provider.bedrock.authentication.type",
251
+ "equals": "credentials",
252
+ "type": "simple"
253
+ },
254
+ {
255
+ "property": "provider.type",
256
+ "equals": "bedrock",
257
+ "type": "simple"
258
+ }
259
+ ]
260
+ },
261
+ "type": "String"
262
+ },
263
+ {
264
+ "id": "provider.bedrock.authentication.secretKey",
265
+ "label": "Secret key",
266
+ "description": "Provide a secret key of a user with permissions to invoke specified AWS Lambda function",
267
+ "optional": false,
268
+ "constraints": {
269
+ "notEmpty": true
270
+ },
271
+ "feel": "optional",
272
+ "group": "provider",
273
+ "binding": {
274
+ "name": "provider.bedrock.authentication.secretKey",
275
+ "type": "zeebe:input"
276
+ },
277
+ "condition": {
278
+ "allMatch": [
279
+ {
280
+ "property": "provider.bedrock.authentication.type",
281
+ "equals": "credentials",
282
+ "type": "simple"
283
+ },
284
+ {
285
+ "property": "provider.type",
286
+ "equals": "bedrock",
287
+ "type": "simple"
288
+ }
289
+ ]
290
+ },
291
+ "type": "String"
292
+ },
293
+ {
294
+ "id": "provider.azureOpenAi.endpoint",
295
+ "label": "Endpoint",
296
+ "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>.",
297
+ "optional": false,
298
+ "constraints": {
299
+ "notEmpty": true
300
+ },
301
+ "feel": "optional",
302
+ "group": "provider",
303
+ "binding": {
304
+ "name": "provider.azureOpenAi.endpoint",
305
+ "type": "zeebe:input"
306
+ },
307
+ "condition": {
308
+ "property": "provider.type",
309
+ "equals": "azureOpenAi",
310
+ "type": "simple"
311
+ },
312
+ "type": "String"
313
+ },
314
+ {
315
+ "id": "provider.azureOpenAi.authentication.type",
316
+ "label": "Authentication",
317
+ "description": "Specify the Azure OpenAI authentication strategy.",
318
+ "value": "apiKey",
319
+ "group": "provider",
320
+ "binding": {
321
+ "name": "provider.azureOpenAi.authentication.type",
322
+ "type": "zeebe:input"
323
+ },
324
+ "condition": {
325
+ "property": "provider.type",
326
+ "equals": "azureOpenAi",
327
+ "type": "simple"
328
+ },
329
+ "type": "Dropdown",
330
+ "choices": [
331
+ {
332
+ "name": "API key",
333
+ "value": "apiKey"
334
+ },
335
+ {
336
+ "name": "Client credentials",
337
+ "value": "clientCredentials"
338
+ }
339
+ ]
340
+ },
341
+ {
342
+ "id": "provider.azureOpenAi.authentication.apiKey",
343
+ "label": "API key",
344
+ "optional": false,
345
+ "constraints": {
346
+ "notEmpty": true
347
+ },
348
+ "feel": "optional",
349
+ "group": "provider",
350
+ "binding": {
351
+ "name": "provider.azureOpenAi.authentication.apiKey",
352
+ "type": "zeebe:input"
353
+ },
354
+ "condition": {
355
+ "allMatch": [
356
+ {
357
+ "property": "provider.azureOpenAi.authentication.type",
358
+ "equals": "apiKey",
359
+ "type": "simple"
360
+ },
361
+ {
362
+ "property": "provider.type",
363
+ "equals": "azureOpenAi",
364
+ "type": "simple"
365
+ }
366
+ ]
367
+ },
368
+ "type": "String"
369
+ },
370
+ {
371
+ "id": "provider.azureOpenAi.authentication.clientId",
372
+ "label": "Client ID",
373
+ "description": "ID of a Microsoft Entra application",
374
+ "optional": false,
375
+ "constraints": {
376
+ "notEmpty": true
377
+ },
378
+ "feel": "optional",
379
+ "group": "provider",
380
+ "binding": {
381
+ "name": "provider.azureOpenAi.authentication.clientId",
382
+ "type": "zeebe:input"
383
+ },
384
+ "condition": {
385
+ "allMatch": [
386
+ {
387
+ "property": "provider.azureOpenAi.authentication.type",
388
+ "equals": "clientCredentials",
389
+ "type": "simple"
390
+ },
391
+ {
392
+ "property": "provider.type",
393
+ "equals": "azureOpenAi",
394
+ "type": "simple"
395
+ }
396
+ ]
397
+ },
398
+ "type": "String"
399
+ },
400
+ {
401
+ "id": "provider.azureOpenAi.authentication.clientSecret",
402
+ "label": "Client secret",
403
+ "description": "Secret of a Microsoft Entra application",
404
+ "optional": false,
405
+ "constraints": {
406
+ "notEmpty": true
407
+ },
408
+ "feel": "optional",
409
+ "group": "provider",
410
+ "binding": {
411
+ "name": "provider.azureOpenAi.authentication.clientSecret",
412
+ "type": "zeebe:input"
413
+ },
414
+ "condition": {
415
+ "allMatch": [
416
+ {
417
+ "property": "provider.azureOpenAi.authentication.type",
418
+ "equals": "clientCredentials",
419
+ "type": "simple"
420
+ },
421
+ {
422
+ "property": "provider.type",
423
+ "equals": "azureOpenAi",
424
+ "type": "simple"
425
+ }
426
+ ]
427
+ },
428
+ "type": "String"
429
+ },
430
+ {
431
+ "id": "provider.azureOpenAi.authentication.tenantId",
432
+ "label": "Tenant ID",
433
+ "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>.",
434
+ "optional": false,
435
+ "constraints": {
436
+ "notEmpty": true
437
+ },
438
+ "feel": "optional",
439
+ "group": "provider",
440
+ "binding": {
441
+ "name": "provider.azureOpenAi.authentication.tenantId",
442
+ "type": "zeebe:input"
443
+ },
444
+ "condition": {
445
+ "allMatch": [
446
+ {
447
+ "property": "provider.azureOpenAi.authentication.type",
448
+ "equals": "clientCredentials",
449
+ "type": "simple"
450
+ },
451
+ {
452
+ "property": "provider.type",
453
+ "equals": "azureOpenAi",
454
+ "type": "simple"
455
+ }
456
+ ]
457
+ },
458
+ "type": "String"
459
+ },
460
+ {
461
+ "id": "provider.azureOpenAi.authentication.authorityHost",
462
+ "label": "Authority host",
463
+ "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.",
464
+ "optional": true,
465
+ "feel": "optional",
466
+ "group": "provider",
467
+ "binding": {
468
+ "name": "provider.azureOpenAi.authentication.authorityHost",
469
+ "type": "zeebe:input"
470
+ },
471
+ "condition": {
472
+ "allMatch": [
473
+ {
474
+ "property": "provider.azureOpenAi.authentication.type",
475
+ "equals": "clientCredentials",
476
+ "type": "simple"
477
+ },
478
+ {
479
+ "property": "provider.type",
480
+ "equals": "azureOpenAi",
481
+ "type": "simple"
482
+ }
483
+ ]
484
+ },
485
+ "type": "String"
486
+ },
487
+ {
488
+ "id": "provider.googleVertexAi.projectId",
489
+ "label": "Project ID",
490
+ "description": "Specify Google Cloud project ID",
491
+ "optional": false,
492
+ "constraints": {
493
+ "notEmpty": true
494
+ },
495
+ "feel": "optional",
496
+ "group": "provider",
497
+ "binding": {
498
+ "name": "provider.googleVertexAi.projectId",
499
+ "type": "zeebe:input"
500
+ },
501
+ "condition": {
502
+ "property": "provider.type",
503
+ "equals": "google-vertex-ai",
504
+ "type": "simple"
505
+ },
506
+ "type": "String"
507
+ },
508
+ {
509
+ "id": "provider.googleVertexAi.region",
510
+ "label": "Region",
511
+ "description": "Specify the region where AI inference should take place",
512
+ "optional": false,
513
+ "constraints": {
514
+ "notEmpty": true
515
+ },
516
+ "feel": "optional",
517
+ "group": "provider",
518
+ "binding": {
519
+ "name": "provider.googleVertexAi.region",
520
+ "type": "zeebe:input"
521
+ },
522
+ "condition": {
523
+ "property": "provider.type",
524
+ "equals": "google-vertex-ai",
525
+ "type": "simple"
526
+ },
527
+ "type": "String"
528
+ },
529
+ {
530
+ "id": "provider.googleVertexAi.authentication.type",
531
+ "label": "Authentication",
532
+ "description": "Specify the Google Vertex AI authentication strategy.",
533
+ "value": "serviceAccountCredentials",
534
+ "group": "provider",
535
+ "binding": {
536
+ "name": "provider.googleVertexAi.authentication.type",
537
+ "type": "zeebe:input"
538
+ },
539
+ "condition": {
540
+ "property": "provider.type",
541
+ "equals": "google-vertex-ai",
542
+ "type": "simple"
543
+ },
544
+ "type": "Dropdown",
545
+ "choices": [
546
+ {
547
+ "name": "Service account credentials",
548
+ "value": "serviceAccountCredentials"
549
+ },
550
+ {
551
+ "name": "Application default credentials (Hybrid/Self-Managed only)",
552
+ "value": "applicationDefaultCredentials"
553
+ }
554
+ ]
555
+ },
556
+ {
557
+ "id": "provider.googleVertexAi.authentication.jsonKey",
558
+ "label": "JSON key of the service account",
559
+ "description": "This is the key of the service account in JSON format.",
560
+ "optional": false,
561
+ "constraints": {
562
+ "notEmpty": true
563
+ },
564
+ "feel": "optional",
565
+ "group": "provider",
566
+ "binding": {
567
+ "name": "provider.googleVertexAi.authentication.jsonKey",
568
+ "type": "zeebe:input"
569
+ },
570
+ "condition": {
571
+ "allMatch": [
572
+ {
573
+ "property": "provider.googleVertexAi.authentication.type",
574
+ "equals": "serviceAccountCredentials",
575
+ "type": "simple"
576
+ },
577
+ {
578
+ "property": "provider.type",
579
+ "equals": "google-vertex-ai",
580
+ "type": "simple"
581
+ }
582
+ ]
583
+ },
584
+ "type": "String"
585
+ },
586
+ {
587
+ "id": "provider.openai.authentication.apiKey",
588
+ "label": "OpenAI API key",
589
+ "optional": false,
590
+ "constraints": {
591
+ "notEmpty": true
592
+ },
593
+ "feel": "optional",
594
+ "group": "provider",
595
+ "binding": {
596
+ "name": "provider.openai.authentication.apiKey",
597
+ "type": "zeebe:input"
598
+ },
599
+ "condition": {
600
+ "property": "provider.type",
601
+ "equals": "openai",
602
+ "type": "simple"
603
+ },
604
+ "type": "String"
605
+ },
606
+ {
607
+ "id": "provider.openai.authentication.organizationId",
608
+ "label": "Organization ID",
609
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
610
+ "optional": true,
611
+ "feel": "optional",
612
+ "group": "provider",
613
+ "binding": {
614
+ "name": "provider.openai.authentication.organizationId",
615
+ "type": "zeebe:input"
616
+ },
617
+ "condition": {
618
+ "property": "provider.type",
619
+ "equals": "openai",
620
+ "type": "simple"
621
+ },
622
+ "type": "String"
623
+ },
624
+ {
625
+ "id": "provider.openai.authentication.projectId",
626
+ "label": "Project ID",
627
+ "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
628
+ "optional": true,
629
+ "feel": "optional",
630
+ "group": "provider",
631
+ "binding": {
632
+ "name": "provider.openai.authentication.projectId",
633
+ "type": "zeebe:input"
634
+ },
635
+ "condition": {
636
+ "property": "provider.type",
637
+ "equals": "openai",
638
+ "type": "simple"
639
+ },
640
+ "type": "String"
641
+ },
642
+ {
643
+ "id": "provider.openai.endpoint",
644
+ "label": "Custom API endpoint",
645
+ "description": "Optional custom API endpoint.",
646
+ "optional": true,
647
+ "feel": "optional",
648
+ "group": "provider",
649
+ "binding": {
650
+ "name": "provider.openai.endpoint",
651
+ "type": "zeebe:input"
652
+ },
653
+ "condition": {
654
+ "property": "provider.type",
655
+ "equals": "openai",
656
+ "type": "simple"
657
+ },
658
+ "tooltip": "Configure a custom OpenAI compatible API endpoint to use the connector with an OpenAI compatible API. Typically ends in <code>/v1</code>.",
659
+ "type": "String"
660
+ },
661
+ {
662
+ "id": "provider.openai.headers",
663
+ "label": "Custom headers",
664
+ "description": "Map of custom HTTP headers to add to the request.",
665
+ "optional": true,
666
+ "feel": "required",
667
+ "group": "provider",
668
+ "binding": {
669
+ "name": "provider.openai.headers",
670
+ "type": "zeebe:input"
671
+ },
672
+ "condition": {
673
+ "property": "provider.type",
674
+ "equals": "openai",
675
+ "type": "simple"
676
+ },
677
+ "type": "String"
678
+ },
679
+ {
680
+ "id": "provider.anthropic.model.model",
681
+ "label": "Model",
682
+ "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>.",
683
+ "optional": false,
684
+ "value": "claude-3-5-sonnet-20240620",
685
+ "constraints": {
686
+ "notEmpty": true
687
+ },
688
+ "feel": "optional",
689
+ "group": "model",
690
+ "binding": {
691
+ "name": "provider.anthropic.model.model",
692
+ "type": "zeebe:input"
693
+ },
694
+ "condition": {
695
+ "property": "provider.type",
696
+ "equals": "anthropic",
697
+ "type": "simple"
698
+ },
699
+ "type": "String"
700
+ },
701
+ {
702
+ "id": "provider.anthropic.model.parameters.maxTokens",
703
+ "label": "Maximum tokens",
704
+ "optional": true,
705
+ "feel": "required",
706
+ "group": "model",
707
+ "binding": {
708
+ "name": "provider.anthropic.model.parameters.maxTokens",
709
+ "type": "zeebe:input"
710
+ },
711
+ "condition": {
712
+ "property": "provider.type",
713
+ "equals": "anthropic",
714
+ "type": "simple"
715
+ },
716
+ "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>.",
717
+ "type": "Number"
718
+ },
719
+ {
720
+ "id": "provider.anthropic.model.parameters.temperature",
721
+ "label": "Temperature",
722
+ "optional": true,
723
+ "feel": "required",
724
+ "group": "model",
725
+ "binding": {
726
+ "name": "provider.anthropic.model.parameters.temperature",
727
+ "type": "zeebe:input"
728
+ },
729
+ "condition": {
730
+ "property": "provider.type",
731
+ "equals": "anthropic",
732
+ "type": "simple"
733
+ },
734
+ "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>.",
735
+ "type": "Number"
736
+ },
737
+ {
738
+ "id": "provider.anthropic.model.parameters.topP",
739
+ "label": "top P",
740
+ "optional": true,
741
+ "feel": "required",
742
+ "group": "model",
743
+ "binding": {
744
+ "name": "provider.anthropic.model.parameters.topP",
745
+ "type": "zeebe:input"
746
+ },
747
+ "condition": {
748
+ "property": "provider.type",
749
+ "equals": "anthropic",
750
+ "type": "simple"
751
+ },
752
+ "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>.",
753
+ "type": "Number"
754
+ },
755
+ {
756
+ "id": "provider.anthropic.model.parameters.topK",
757
+ "label": "top K",
758
+ "optional": true,
759
+ "feel": "required",
760
+ "group": "model",
761
+ "binding": {
762
+ "name": "provider.anthropic.model.parameters.topK",
763
+ "type": "zeebe:input"
764
+ },
765
+ "condition": {
766
+ "property": "provider.type",
767
+ "equals": "anthropic",
768
+ "type": "simple"
769
+ },
770
+ "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>.",
771
+ "type": "Number"
772
+ },
773
+ {
774
+ "id": "provider.bedrock.model.model",
775
+ "label": "Model",
776
+ "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>.",
777
+ "optional": false,
778
+ "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
779
+ "constraints": {
780
+ "notEmpty": true
781
+ },
782
+ "feel": "optional",
783
+ "group": "model",
784
+ "binding": {
785
+ "name": "provider.bedrock.model.model",
786
+ "type": "zeebe:input"
787
+ },
788
+ "condition": {
789
+ "property": "provider.type",
790
+ "equals": "bedrock",
791
+ "type": "simple"
792
+ },
793
+ "type": "String"
794
+ },
795
+ {
796
+ "id": "provider.bedrock.model.parameters.maxTokens",
797
+ "label": "Maximum tokens",
798
+ "optional": true,
799
+ "feel": "required",
800
+ "group": "model",
801
+ "binding": {
802
+ "name": "provider.bedrock.model.parameters.maxTokens",
803
+ "type": "zeebe:input"
804
+ },
805
+ "condition": {
806
+ "property": "provider.type",
807
+ "equals": "bedrock",
808
+ "type": "simple"
809
+ },
810
+ "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>.",
811
+ "type": "Number"
812
+ },
813
+ {
814
+ "id": "provider.bedrock.model.parameters.temperature",
815
+ "label": "Temperature",
816
+ "optional": true,
817
+ "feel": "required",
818
+ "group": "model",
819
+ "binding": {
820
+ "name": "provider.bedrock.model.parameters.temperature",
821
+ "type": "zeebe:input"
822
+ },
823
+ "condition": {
824
+ "property": "provider.type",
825
+ "equals": "bedrock",
826
+ "type": "simple"
827
+ },
828
+ "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>.",
829
+ "type": "Number"
830
+ },
831
+ {
832
+ "id": "provider.bedrock.model.parameters.topP",
833
+ "label": "top P",
834
+ "optional": true,
835
+ "feel": "required",
836
+ "group": "model",
837
+ "binding": {
838
+ "name": "provider.bedrock.model.parameters.topP",
839
+ "type": "zeebe:input"
840
+ },
841
+ "condition": {
842
+ "property": "provider.type",
843
+ "equals": "bedrock",
844
+ "type": "simple"
845
+ },
846
+ "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>.",
847
+ "type": "Number"
848
+ },
849
+ {
850
+ "id": "provider.azureOpenAi.model.deploymentName",
851
+ "label": "Model deployment name",
852
+ "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>.",
853
+ "optional": false,
854
+ "constraints": {
855
+ "notEmpty": true
856
+ },
857
+ "feel": "optional",
858
+ "group": "model",
859
+ "binding": {
860
+ "name": "provider.azureOpenAi.model.deploymentName",
861
+ "type": "zeebe:input"
862
+ },
863
+ "condition": {
864
+ "property": "provider.type",
865
+ "equals": "azureOpenAi",
866
+ "type": "simple"
867
+ },
868
+ "type": "String"
869
+ },
870
+ {
871
+ "id": "provider.azureOpenAi.model.parameters.maxTokens",
872
+ "label": "Maximum tokens",
873
+ "optional": true,
874
+ "feel": "required",
875
+ "group": "model",
876
+ "binding": {
877
+ "name": "provider.azureOpenAi.model.parameters.maxTokens",
878
+ "type": "zeebe:input"
879
+ },
880
+ "condition": {
881
+ "property": "provider.type",
882
+ "equals": "azureOpenAi",
883
+ "type": "simple"
884
+ },
885
+ "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>.",
886
+ "type": "Number"
887
+ },
888
+ {
889
+ "id": "provider.azureOpenAi.model.parameters.temperature",
890
+ "label": "Temperature",
891
+ "optional": true,
892
+ "feel": "required",
893
+ "group": "model",
894
+ "binding": {
895
+ "name": "provider.azureOpenAi.model.parameters.temperature",
896
+ "type": "zeebe:input"
897
+ },
898
+ "condition": {
899
+ "property": "provider.type",
900
+ "equals": "azureOpenAi",
901
+ "type": "simple"
902
+ },
903
+ "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>.",
904
+ "type": "Number"
905
+ },
906
+ {
907
+ "id": "provider.azureOpenAi.model.parameters.topP",
908
+ "label": "top P",
909
+ "optional": true,
910
+ "feel": "required",
911
+ "group": "model",
912
+ "binding": {
913
+ "name": "provider.azureOpenAi.model.parameters.topP",
914
+ "type": "zeebe:input"
915
+ },
916
+ "condition": {
917
+ "property": "provider.type",
918
+ "equals": "azureOpenAi",
919
+ "type": "simple"
920
+ },
921
+ "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>.",
922
+ "type": "Number"
923
+ },
924
+ {
925
+ "id": "provider.googleVertexAi.model.model",
926
+ "label": "Model",
927
+ "description": "Specify the model ID. Details in the <a href=\"https://cloud.google.com/vertex-ai/docs/generative-ai/models\" target=\"_blank\">documentation</a>.",
928
+ "optional": false,
929
+ "constraints": {
930
+ "notEmpty": true
931
+ },
932
+ "feel": "optional",
933
+ "group": "model",
934
+ "binding": {
935
+ "name": "provider.googleVertexAi.model.model",
936
+ "type": "zeebe:input"
937
+ },
938
+ "condition": {
939
+ "property": "provider.type",
940
+ "equals": "google-vertex-ai",
941
+ "type": "simple"
942
+ },
943
+ "type": "String"
944
+ },
945
+ {
946
+ "id": "provider.googleVertexAi.model.parameters.maxOutputTokens",
947
+ "label": "Maximum output tokens",
948
+ "optional": true,
949
+ "feel": "required",
950
+ "group": "model",
951
+ "binding": {
952
+ "name": "provider.googleVertexAi.model.parameters.maxOutputTokens",
953
+ "type": "zeebe:input"
954
+ },
955
+ "condition": {
956
+ "property": "provider.type",
957
+ "equals": "google-vertex-ai",
958
+ "type": "simple"
959
+ },
960
+ "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>.",
961
+ "type": "Number"
962
+ },
963
+ {
964
+ "id": "provider.googleVertexAi.model.parameters.temperature",
965
+ "label": "Temperature",
966
+ "optional": true,
967
+ "feel": "required",
968
+ "group": "model",
969
+ "binding": {
970
+ "name": "provider.googleVertexAi.model.parameters.temperature",
971
+ "type": "zeebe:input"
972
+ },
973
+ "condition": {
974
+ "property": "provider.type",
975
+ "equals": "google-vertex-ai",
976
+ "type": "simple"
977
+ },
978
+ "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>.",
979
+ "type": "Number"
980
+ },
981
+ {
982
+ "id": "provider.googleVertexAi.model.parameters.topP",
983
+ "label": "top P",
984
+ "optional": true,
985
+ "feel": "required",
986
+ "group": "model",
987
+ "binding": {
988
+ "name": "provider.googleVertexAi.model.parameters.topP",
989
+ "type": "zeebe:input"
990
+ },
991
+ "condition": {
992
+ "property": "provider.type",
993
+ "equals": "google-vertex-ai",
994
+ "type": "simple"
995
+ },
996
+ "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>.",
997
+ "type": "Number"
998
+ },
999
+ {
1000
+ "id": "provider.googleVertexAi.model.parameters.topK",
1001
+ "label": "top K",
1002
+ "optional": true,
1003
+ "feel": "required",
1004
+ "group": "model",
1005
+ "binding": {
1006
+ "name": "provider.googleVertexAi.model.parameters.topK",
1007
+ "type": "zeebe:input"
1008
+ },
1009
+ "condition": {
1010
+ "property": "provider.type",
1011
+ "equals": "google-vertex-ai",
1012
+ "type": "simple"
1013
+ },
1014
+ "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>.",
1015
+ "type": "Number"
1016
+ },
1017
+ {
1018
+ "id": "provider.openai.model.model",
1019
+ "label": "Model",
1020
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
1021
+ "optional": false,
1022
+ "value": "gpt-4o",
1023
+ "constraints": {
1024
+ "notEmpty": true
1025
+ },
1026
+ "feel": "optional",
1027
+ "group": "model",
1028
+ "binding": {
1029
+ "name": "provider.openai.model.model",
1030
+ "type": "zeebe:input"
1031
+ },
1032
+ "condition": {
1033
+ "property": "provider.type",
1034
+ "equals": "openai",
1035
+ "type": "simple"
1036
+ },
1037
+ "type": "String"
1038
+ },
1039
+ {
1040
+ "id": "provider.openai.model.parameters.maxCompletionTokens",
1041
+ "label": "Maximum completion tokens",
1042
+ "optional": true,
1043
+ "feel": "required",
1044
+ "group": "model",
1045
+ "binding": {
1046
+ "name": "provider.openai.model.parameters.maxCompletionTokens",
1047
+ "type": "zeebe:input"
1048
+ },
1049
+ "condition": {
1050
+ "property": "provider.type",
1051
+ "equals": "openai",
1052
+ "type": "simple"
1053
+ },
1054
+ "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>.",
1055
+ "type": "Number"
1056
+ },
1057
+ {
1058
+ "id": "provider.openai.model.parameters.temperature",
1059
+ "label": "Temperature",
1060
+ "optional": true,
1061
+ "feel": "required",
1062
+ "group": "model",
1063
+ "binding": {
1064
+ "name": "provider.openai.model.parameters.temperature",
1065
+ "type": "zeebe:input"
1066
+ },
1067
+ "condition": {
1068
+ "property": "provider.type",
1069
+ "equals": "openai",
1070
+ "type": "simple"
1071
+ },
1072
+ "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>.",
1073
+ "type": "Number"
1074
+ },
1075
+ {
1076
+ "id": "provider.openai.model.parameters.topP",
1077
+ "label": "top P",
1078
+ "optional": true,
1079
+ "feel": "required",
1080
+ "group": "model",
1081
+ "binding": {
1082
+ "name": "provider.openai.model.parameters.topP",
1083
+ "type": "zeebe:input"
1084
+ },
1085
+ "condition": {
1086
+ "property": "provider.type",
1087
+ "equals": "openai",
1088
+ "type": "simple"
1089
+ },
1090
+ "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>.",
1091
+ "type": "Number"
1092
+ },
1093
+ {
1094
+ "id": "data.systemPrompt.prompt",
1095
+ "label": "System prompt",
1096
+ "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",
1098
+ "constraints": {
1099
+ "notEmpty": true
1100
+ },
1101
+ "feel": "optional",
1102
+ "group": "systemPrompt",
1103
+ "binding": {
1104
+ "name": "data.systemPrompt.prompt",
1105
+ "type": "zeebe:input"
1106
+ },
1107
+ "type": "Text"
1108
+ },
1109
+ {
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.",
1113
+ "optional": true,
1114
+ "feel": "required",
1115
+ "group": "systemPrompt",
1116
+ "binding": {
1117
+ "name": "data.systemPrompt.parameters",
1118
+ "type": "zeebe:input"
1119
+ },
1120
+ "type": "String"
1121
+ },
1122
+ {
1123
+ "id": "data.userPrompt.prompt",
1124
+ "label": "User prompt",
1125
+ "optional": false,
1126
+ "constraints": {
1127
+ "notEmpty": true
1128
+ },
1129
+ "feel": "optional",
1130
+ "group": "userPrompt",
1131
+ "binding": {
1132
+ "name": "data.userPrompt.prompt",
1133
+ "type": "zeebe:input"
1134
+ },
1135
+ "type": "Text"
1136
+ },
1137
+ {
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,
1142
+ "feel": "required",
1143
+ "group": "userPrompt",
1144
+ "binding": {
1145
+ "name": "data.userPrompt.parameters",
1146
+ "type": "zeebe:input"
1147
+ },
1148
+ "type": "String"
1149
+ },
1150
+ {
1151
+ "id": "data.userPrompt.documents",
1152
+ "label": "Documents",
1153
+ "description": "Documents to be included in the user prompt.",
1154
+ "optional": true,
1155
+ "feel": "required",
1156
+ "group": "userPrompt",
1157
+ "binding": {
1158
+ "name": "data.userPrompt.documents",
1159
+ "type": "zeebe:input"
1160
+ },
1161
+ "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.",
1162
+ "type": "String"
1163
+ },
1164
+ {
1165
+ "id": "data.tools.containerElementId",
1166
+ "label": "Ad-hoc sub-process ID",
1167
+ "description": "ID of the sub-process that contains the tools the AI agent can use.",
1168
+ "optional": true,
1169
+ "feel": "optional",
1170
+ "group": "tools",
1171
+ "binding": {
1172
+ "name": "data.tools.containerElementId",
1173
+ "type": "zeebe:input"
1174
+ },
1175
+ "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.",
1176
+ "type": "String"
1177
+ },
1178
+ {
1179
+ "id": "data.tools.toolCallResults",
1180
+ "label": "Tool call results",
1181
+ "description": "Tool call results as returned by the sub-process.",
1182
+ "optional": true,
1183
+ "feel": "required",
1184
+ "group": "tools",
1185
+ "binding": {
1186
+ "name": "data.tools.toolCallResults",
1187
+ "type": "zeebe:input"
1188
+ },
1189
+ "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.",
1190
+ "type": "Text"
1191
+ },
1192
+ {
1193
+ "id": "data.agentContext",
1194
+ "label": "Agent context",
1195
+ "description": "Avoid reusing context variables across agents to prevent issues with stale data or tool access.",
1196
+ "optional": false,
1197
+ "value": "=agent.context",
1198
+ "constraints": {
1199
+ "notEmpty": true
1200
+ },
1201
+ "feel": "required",
1202
+ "group": "memory",
1203
+ "binding": {
1204
+ "name": "data.context",
1205
+ "type": "zeebe:input"
1206
+ },
1207
+ "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.",
1208
+ "type": "Text"
1209
+ },
1210
+ {
1211
+ "id": "data.memory.storage.type",
1212
+ "label": "Memory storage type",
1213
+ "description": "Specify how to store the conversation memory.",
1214
+ "value": "in-process",
1215
+ "group": "memory",
1216
+ "binding": {
1217
+ "name": "data.memory.storage.type",
1218
+ "type": "zeebe:input"
1219
+ },
1220
+ "type": "Dropdown",
1221
+ "choices": [
1222
+ {
1223
+ "name": "In Process (part of agent context)",
1224
+ "value": "in-process"
1225
+ },
1226
+ {
1227
+ "name": "Camunda Document Storage",
1228
+ "value": "camunda-document"
1229
+ },
1230
+ {
1231
+ "name": "Custom Implementation (Hybrid/Self-Managed only)",
1232
+ "value": "custom"
1233
+ }
1234
+ ]
1235
+ },
1236
+ {
1237
+ "id": "data.memory.storage.timeToLive",
1238
+ "label": "Document TTL",
1239
+ "description": "How long to retain the conversation document as ISO-8601 duration (example: <code>P14D</code>).",
1240
+ "optional": true,
1241
+ "feel": "optional",
1242
+ "group": "memory",
1243
+ "binding": {
1244
+ "name": "data.memory.storage.timeToLive",
1245
+ "type": "zeebe:input"
1246
+ },
1247
+ "condition": {
1248
+ "property": "data.memory.storage.type",
1249
+ "equals": "camunda-document",
1250
+ "type": "simple"
1251
+ },
1252
+ "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.",
1253
+ "type": "String"
1254
+ },
1255
+ {
1256
+ "id": "data.memory.storage.customProperties",
1257
+ "label": "Custom document properties",
1258
+ "description": "An optional map of custom properties to be stored with the conversation document.",
1259
+ "optional": true,
1260
+ "feel": "required",
1261
+ "group": "memory",
1262
+ "binding": {
1263
+ "name": "data.memory.storage.customProperties",
1264
+ "type": "zeebe:input"
1265
+ },
1266
+ "condition": {
1267
+ "property": "data.memory.storage.type",
1268
+ "equals": "camunda-document",
1269
+ "type": "simple"
1270
+ },
1271
+ "type": "String"
1272
+ },
1273
+ {
1274
+ "id": "data.memory.storage.storeType",
1275
+ "label": "Implementation type",
1276
+ "optional": false,
1277
+ "constraints": {
1278
+ "notEmpty": true
1279
+ },
1280
+ "feel": "optional",
1281
+ "group": "memory",
1282
+ "binding": {
1283
+ "name": "data.memory.storage.storeType",
1284
+ "type": "zeebe:input"
1285
+ },
1286
+ "condition": {
1287
+ "property": "data.memory.storage.type",
1288
+ "equals": "custom",
1289
+ "type": "simple"
1290
+ },
1291
+ "type": "String"
1292
+ },
1293
+ {
1294
+ "id": "data.memory.storage.parameters",
1295
+ "label": "Parameters",
1296
+ "description": "Parameters for the custom memory storage implementation.",
1297
+ "optional": true,
1298
+ "feel": "required",
1299
+ "group": "memory",
1300
+ "binding": {
1301
+ "name": "data.memory.storage.parameters",
1302
+ "type": "zeebe:input"
1303
+ },
1304
+ "condition": {
1305
+ "property": "data.memory.storage.type",
1306
+ "equals": "custom",
1307
+ "type": "simple"
1308
+ },
1309
+ "type": "String"
1310
+ },
1311
+ {
1312
+ "id": "data.memory.contextWindowSize",
1313
+ "label": "Context window size",
1314
+ "description": "Maximum number of recent conversation messages which are passed to the model.",
1315
+ "optional": false,
1316
+ "value": 20,
1317
+ "feel": "static",
1318
+ "group": "memory",
1319
+ "binding": {
1320
+ "name": "data.memory.contextWindowSize",
1321
+ "type": "zeebe:input"
1322
+ },
1323
+ "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.",
1324
+ "type": "Number"
1325
+ },
1326
+ {
1327
+ "id": "data.limits.maxModelCalls",
1328
+ "label": "Maximum model calls",
1329
+ "description": "Maximum number of calls to the model as a safety limit to prevent infinite loops.",
1330
+ "optional": false,
1331
+ "value": 10,
1332
+ "feel": "static",
1333
+ "group": "limits",
1334
+ "binding": {
1335
+ "name": "data.limits.maxModelCalls",
1336
+ "type": "zeebe:input"
1337
+ },
1338
+ "type": "Number"
1339
+ },
1340
+ {
1341
+ "id": "data.response.format.type",
1342
+ "label": "Response format",
1343
+ "description": "Specify the response format. Support for JSON mode varies by provider.",
1344
+ "value": "text",
1345
+ "group": "response",
1346
+ "binding": {
1347
+ "name": "data.response.format.type",
1348
+ "type": "zeebe:input"
1349
+ },
1350
+ "type": "Dropdown",
1351
+ "choices": [
1352
+ {
1353
+ "name": "Text",
1354
+ "value": "text"
1355
+ },
1356
+ {
1357
+ "name": "JSON",
1358
+ "value": "json"
1359
+ }
1360
+ ]
1361
+ },
1362
+ {
1363
+ "id": "data.response.format.parseJson",
1364
+ "label": "Parse text as JSON",
1365
+ "description": "Tries to parse the LLM response text as JSON object.",
1366
+ "optional": true,
1367
+ "feel": "static",
1368
+ "group": "response",
1369
+ "binding": {
1370
+ "name": "data.response.format.parseJson",
1371
+ "type": "zeebe:input"
1372
+ },
1373
+ "condition": {
1374
+ "property": "data.response.format.type",
1375
+ "equals": "text",
1376
+ "type": "simple"
1377
+ },
1378
+ "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>.",
1379
+ "type": "Boolean"
1380
+ },
1381
+ {
1382
+ "id": "data.response.format.schema",
1383
+ "label": "Response JSON schema",
1384
+ "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.",
1385
+ "optional": true,
1386
+ "feel": "required",
1387
+ "group": "response",
1388
+ "binding": {
1389
+ "name": "data.response.format.schema",
1390
+ "type": "zeebe:input"
1391
+ },
1392
+ "condition": {
1393
+ "property": "data.response.format.type",
1394
+ "equals": "json",
1395
+ "type": "simple"
1396
+ },
1397
+ "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>.",
1398
+ "type": "String"
1399
+ },
1400
+ {
1401
+ "id": "data.response.format.schemaName",
1402
+ "label": "Response JSON schema name",
1403
+ "description": "An optional name for the response JSON Schema to make the model aware of the expected output.",
1404
+ "optional": true,
1405
+ "value": "Response",
1406
+ "feel": "optional",
1407
+ "group": "response",
1408
+ "binding": {
1409
+ "name": "data.response.format.schemaName",
1410
+ "type": "zeebe:input"
1411
+ },
1412
+ "condition": {
1413
+ "property": "data.response.format.type",
1414
+ "equals": "json",
1415
+ "type": "simple"
1416
+ },
1417
+ "type": "String"
1418
+ },
1419
+ {
1420
+ "id": "data.response.includeAssistantMessage",
1421
+ "label": "Include assistant message",
1422
+ "description": "Include the full assistant message as part of the result object.",
1423
+ "optional": true,
1424
+ "feel": "static",
1425
+ "group": "response",
1426
+ "binding": {
1427
+ "name": "data.response.includeAssistantMessage",
1428
+ "type": "zeebe:input"
1429
+ },
1430
+ "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>.",
1431
+ "type": "Boolean"
1432
+ },
1433
+ {
1434
+ "id": "version",
1435
+ "label": "Version",
1436
+ "description": "Version of the element template",
1437
+ "value": "2",
1438
+ "group": "connector",
1439
+ "binding": {
1440
+ "key": "elementTemplateVersion",
1441
+ "type": "zeebe:taskHeader"
1442
+ },
1443
+ "type": "Hidden"
1444
+ },
1445
+ {
1446
+ "id": "id",
1447
+ "label": "ID",
1448
+ "description": "ID of the element template",
1449
+ "value": "io.camunda.connectors.agenticai.aiagent.v1",
1450
+ "group": "connector",
1451
+ "binding": {
1452
+ "key": "elementTemplateId",
1453
+ "type": "zeebe:taskHeader"
1454
+ },
1455
+ "type": "Hidden"
1456
+ },
1457
+ {
1458
+ "id": "resultVariable",
1459
+ "label": "Result variable",
1460
+ "description": "Name of variable to store the response in",
1461
+ "value": "agent",
1462
+ "group": "output",
1463
+ "binding": {
1464
+ "key": "resultVariable",
1465
+ "type": "zeebe:taskHeader"
1466
+ },
1467
+ "type": "String"
1468
+ },
1469
+ {
1470
+ "id": "resultExpression",
1471
+ "label": "Result expression",
1472
+ "description": "Expression to map the response into process variables",
1473
+ "feel": "required",
1474
+ "group": "output",
1475
+ "binding": {
1476
+ "key": "resultExpression",
1477
+ "type": "zeebe:taskHeader"
1478
+ },
1479
+ "type": "Text"
1480
+ },
1481
+ {
1482
+ "id": "errorExpression",
1483
+ "label": "Error expression",
1484
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1485
+ "feel": "required",
1486
+ "group": "error",
1487
+ "binding": {
1488
+ "key": "errorExpression",
1489
+ "type": "zeebe:taskHeader"
1490
+ },
1491
+ "type": "Text"
1492
+ },
1493
+ {
1494
+ "id": "retryCount",
1495
+ "label": "Retries",
1496
+ "description": "Number of retries",
1497
+ "value": "3",
1498
+ "feel": "optional",
1499
+ "group": "retries",
1500
+ "binding": {
1501
+ "property": "retries",
1502
+ "type": "zeebe:taskDefinition"
1503
+ },
1504
+ "type": "String"
1505
+ },
1506
+ {
1507
+ "id": "retryBackoff",
1508
+ "label": "Retry backoff",
1509
+ "description": "ISO-8601 duration to wait between retries",
1510
+ "value": "PT0S",
1511
+ "group": "retries",
1512
+ "binding": {
1513
+ "key": "retryBackoff",
1514
+ "type": "zeebe:taskHeader"
1515
+ },
1516
+ "type": "String"
1517
+ }
1518
+ ],
1519
+ "icon": {
1520
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K"
1521
+ }
1522
+ },
2
1523
  {
3
1524
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
1525
  "name": "AI Agent (alpha)",