@camunda/connectors-element-templates 1.0.6 → 1.0.8

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 (99) 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 +26 -2
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +32 -30
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +3266 -0
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3932 -760
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +1 -1
  9. package/src/element-templates/asana-connector.json +104 -104
  10. package/src/element-templates/automation-anywhere-outbound-connector.json +657 -657
  11. package/src/element-templates/aws-bedrock-outbound-connector.json +30 -30
  12. package/src/element-templates/aws-comprehend-outbound-connector.json +36 -36
  13. package/src/element-templates/aws-dynamodb-outbound-connector.json +107 -107
  14. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  15. package/src/element-templates/aws-eventbridge-connector-intermediate.json +31 -31
  16. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  17. package/src/element-templates/aws-eventbridge-connector-receive.json +356 -0
  18. package/src/element-templates/aws-eventbridge-connector-start-event.json +26 -26
  19. package/src/element-templates/aws-eventbridge-outbound-connector.json +479 -479
  20. package/src/element-templates/aws-lambda-outbound-connector.json +92 -92
  21. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  22. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  23. package/src/element-templates/aws-sns-inbound-boundary.json +303 -303
  24. package/src/element-templates/aws-sns-inbound-intermediate.json +215 -215
  25. package/src/element-templates/aws-sns-inbound-message-start.json +343 -343
  26. package/src/element-templates/aws-sns-inbound-receive.json +304 -0
  27. package/src/element-templates/aws-sns-inbound-start-event.json +130 -130
  28. package/src/element-templates/aws-sns-outbound-connector.json +726 -726
  29. package/src/element-templates/aws-sqs-boundary-connector.json +629 -629
  30. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +537 -537
  31. package/src/element-templates/aws-sqs-outbound-connector.json +440 -440
  32. package/src/element-templates/aws-sqs-receive-connector.json +418 -0
  33. package/src/element-templates/aws-sqs-start-event-connector.json +771 -771
  34. package/src/element-templates/aws-sqs-start-message.json +461 -461
  35. package/src/element-templates/azure-open-ai-connector.json +32 -32
  36. package/src/element-templates/blue-prism-connector.json +50 -50
  37. package/src/element-templates/box-outbound-connector.json +30 -30
  38. package/src/element-templates/csv-outbound-connector.json +412 -0
  39. package/src/element-templates/easy-post-connector.json +149 -149
  40. package/src/element-templates/email-inbound-connector-boundary.json +19 -19
  41. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  42. package/src/element-templates/email-outbound-connector.json +233 -233
  43. package/src/element-templates/embeddings-vector-database-outbound-connector.json +473 -488
  44. package/src/element-templates/github-connector.json +2417 -2417
  45. package/src/element-templates/github-webhook-connector-boundary.json +21 -21
  46. package/src/element-templates/github-webhook-connector-intermediate.json +57 -57
  47. package/src/element-templates/github-webhook-connector-message-start.json +21 -21
  48. package/src/element-templates/github-webhook-connector-receive.json +202 -0
  49. package/src/element-templates/github-webhook-connector-start-event.json +57 -57
  50. package/src/element-templates/gitlab-connector.json +1103 -1103
  51. package/src/element-templates/google-drive-outbound-connector.json +846 -846
  52. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  53. package/src/element-templates/google-maps-platform-connector.json +78 -78
  54. package/src/element-templates/google-sheets-outbound-connector.json +1067 -1067
  55. package/src/element-templates/graphql-outbound-connector.json +1181 -1181
  56. package/src/element-templates/http-json-connector.json +2471 -1866
  57. package/src/element-templates/http-polling-boundary-catch-event-connector.json +635 -6
  58. package/src/element-templates/http-polling-connector.json +635 -6
  59. package/src/element-templates/hugging-face-connector.json +34 -34
  60. package/src/element-templates/jdbc-outbound-connector.json +43 -43
  61. package/src/element-templates/kafka-inbound-connector-boundary.json +1012 -1012
  62. package/src/element-templates/kafka-inbound-connector-intermediate.json +582 -582
  63. package/src/element-templates/kafka-inbound-connector-receive.json +498 -0
  64. package/src/element-templates/kafka-inbound-connector-start-message.json +608 -608
  65. package/src/element-templates/kafka-outbound-connector.json +385 -385
  66. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  67. package/src/element-templates/microsoft-teams-outbound-connector.json +1643 -1643
  68. package/src/element-templates/openai-connector.json +122 -122
  69. package/src/element-templates/operate-connector.json +76 -72
  70. package/src/element-templates/power-automate-connector.json +10 -10
  71. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +334 -334
  72. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +861 -861
  73. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +456 -456
  74. package/src/element-templates/rabbitmq-inbound-connector-receive.json +461 -0
  75. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +258 -258
  76. package/src/element-templates/rabbitmq-outbound-connector.json +322 -322
  77. package/src/element-templates/salesforce-connector.json +44 -44
  78. package/src/element-templates/sendgrid-outbound-connector.json +470 -470
  79. package/src/element-templates/servicenow-connector.json +942 -0
  80. package/src/element-templates/servicenow-flow-starter-connector.json +643 -0
  81. package/src/element-templates/servicenow-incident-connector.json +969 -0
  82. package/src/element-templates/slack-inbound-boundary.json +303 -303
  83. package/src/element-templates/slack-inbound-intermediate.json +277 -277
  84. package/src/element-templates/slack-inbound-message-start.json +11 -11
  85. package/src/element-templates/slack-inbound-receive.json +290 -0
  86. package/src/element-templates/slack-inbound-start-event.json +247 -247
  87. package/src/element-templates/slack-outbound-connector.json +966 -966
  88. package/src/element-templates/twilio-connector.json +52 -52
  89. package/src/element-templates/twilio-webhook-boundary-connector.json +20 -20
  90. package/src/element-templates/twilio-webhook-connector.json +11 -11
  91. package/src/element-templates/twilio-webhook-intermediate-connector.json +50 -50
  92. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  93. package/src/element-templates/twilio-webhook-receive-connector.json +262 -0
  94. package/src/element-templates/webhook-connector-boundary.json +1150 -1150
  95. package/src/element-templates/webhook-connector-intermediate.json +1834 -1834
  96. package/src/element-templates/webhook-connector-receive.json +609 -0
  97. package/src/element-templates/webhook-connector-start-event.json +1495 -1495
  98. package/src/element-templates/webhook-connector-start-message.json +586 -586
  99. package/src/element-templates/idp-extraction-outbound-connector.json +0 -932
@@ -0,0 +1,3266 @@
1
+ [
2
+ {
3
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
+ "name": "AI Agent Subprocess",
5
+ "id": "io.camunda.connectors.agenticai.aiagent.jobworker.v1",
6
+ "description": "Processes user requests with an integrated, customizable toolbox and services for dynamic workflows.",
7
+ "metadata": {
8
+ "keywords": ["AI", "AI Agent", "agentic orchestration"]
9
+ },
10
+ "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
11
+ "version": 3,
12
+ "category": {
13
+ "id": "connectors",
14
+ "name": "Connectors"
15
+ },
16
+ "appliesTo": ["bpmn:SubProcess"],
17
+ "elementType": {
18
+ "value": "bpmn:AdHocSubProcess"
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": "events",
65
+ "label": "Event handling",
66
+ "openByDefault": false
67
+ },
68
+ {
69
+ "id": "response",
70
+ "label": "Response",
71
+ "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-process/#response\">documentation</a> for details.",
72
+ "openByDefault": false
73
+ },
74
+ {
75
+ "id": "connector",
76
+ "label": "Connector"
77
+ },
78
+ {
79
+ "id": "output",
80
+ "label": "Output mapping"
81
+ },
82
+ {
83
+ "id": "error",
84
+ "label": "Error handling"
85
+ },
86
+ {
87
+ "id": "retries",
88
+ "label": "Retries"
89
+ }
90
+ ],
91
+ "properties": [
92
+ {
93
+ "value": "io.camunda.agenticai:aiagent-job-worker:1",
94
+ "binding": {
95
+ "property": "type",
96
+ "type": "zeebe:taskDefinition"
97
+ },
98
+ "type": "Hidden"
99
+ },
100
+ {
101
+ "id": "outputCollection",
102
+ "binding": {
103
+ "property": "outputCollection",
104
+ "type": "zeebe:adHoc"
105
+ },
106
+ "value": "toolCallResults",
107
+ "type": "Hidden"
108
+ },
109
+ {
110
+ "id": "outputElement",
111
+ "binding": {
112
+ "property": "outputElement",
113
+ "type": "zeebe:adHoc"
114
+ },
115
+ "value": "={\n id: toolCall._meta.id,\n name: toolCall._meta.name,\n content: toolCallResult\n}",
116
+ "type": "Hidden"
117
+ },
118
+ {
119
+ "id": "provider.type",
120
+ "label": "Provider",
121
+ "description": "Specify the LLM provider to use.",
122
+ "value": "anthropic",
123
+ "group": "provider",
124
+ "binding": {
125
+ "name": "provider.type",
126
+ "type": "zeebe:input"
127
+ },
128
+ "type": "Dropdown",
129
+ "choices": [
130
+ {
131
+ "name": "Anthropic",
132
+ "value": "anthropic"
133
+ },
134
+ {
135
+ "name": "AWS Bedrock",
136
+ "value": "bedrock"
137
+ },
138
+ {
139
+ "name": "Azure OpenAI",
140
+ "value": "azureOpenAi"
141
+ },
142
+ {
143
+ "name": "Google Vertex AI",
144
+ "value": "google-vertex-ai"
145
+ },
146
+ {
147
+ "name": "OpenAI",
148
+ "value": "openai"
149
+ },
150
+ {
151
+ "name": "OpenAI Compatible",
152
+ "value": "openaiCompatible"
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "id": "provider.anthropic.endpoint",
158
+ "label": "Endpoint",
159
+ "description": "Optional custom API endpoint",
160
+ "optional": true,
161
+ "feel": "optional",
162
+ "group": "provider",
163
+ "binding": {
164
+ "name": "provider.anthropic.endpoint",
165
+ "type": "zeebe:input"
166
+ },
167
+ "condition": {
168
+ "property": "provider.type",
169
+ "equals": "anthropic",
170
+ "type": "simple"
171
+ },
172
+ "type": "String"
173
+ },
174
+ {
175
+ "id": "provider.anthropic.authentication.apiKey",
176
+ "label": "Anthropic API key",
177
+ "optional": false,
178
+ "constraints": {
179
+ "notEmpty": true
180
+ },
181
+ "feel": "optional",
182
+ "group": "provider",
183
+ "binding": {
184
+ "name": "provider.anthropic.authentication.apiKey",
185
+ "type": "zeebe:input"
186
+ },
187
+ "condition": {
188
+ "property": "provider.type",
189
+ "equals": "anthropic",
190
+ "type": "simple"
191
+ },
192
+ "type": "String"
193
+ },
194
+ {
195
+ "id": "provider.bedrock.region",
196
+ "label": "Region",
197
+ "description": "Specify the AWS region (example: <code>eu-west-1</code>)",
198
+ "optional": false,
199
+ "constraints": {
200
+ "notEmpty": true
201
+ },
202
+ "feel": "optional",
203
+ "group": "provider",
204
+ "binding": {
205
+ "name": "provider.bedrock.region",
206
+ "type": "zeebe:input"
207
+ },
208
+ "condition": {
209
+ "property": "provider.type",
210
+ "equals": "bedrock",
211
+ "type": "simple"
212
+ },
213
+ "type": "String"
214
+ },
215
+ {
216
+ "id": "provider.bedrock.endpoint",
217
+ "label": "Endpoint",
218
+ "description": "Optional custom API endpoint",
219
+ "optional": true,
220
+ "feel": "optional",
221
+ "group": "provider",
222
+ "binding": {
223
+ "name": "provider.bedrock.endpoint",
224
+ "type": "zeebe:input"
225
+ },
226
+ "condition": {
227
+ "property": "provider.type",
228
+ "equals": "bedrock",
229
+ "type": "simple"
230
+ },
231
+ "type": "String"
232
+ },
233
+ {
234
+ "id": "provider.bedrock.authentication.type",
235
+ "label": "Authentication",
236
+ "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>",
237
+ "value": "credentials",
238
+ "group": "provider",
239
+ "binding": {
240
+ "name": "provider.bedrock.authentication.type",
241
+ "type": "zeebe:input"
242
+ },
243
+ "condition": {
244
+ "property": "provider.type",
245
+ "equals": "bedrock",
246
+ "type": "simple"
247
+ },
248
+ "type": "Dropdown",
249
+ "choices": [
250
+ {
251
+ "name": "Credentials",
252
+ "value": "credentials"
253
+ },
254
+ {
255
+ "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
256
+ "value": "defaultCredentialsChain"
257
+ }
258
+ ]
259
+ },
260
+ {
261
+ "id": "provider.bedrock.authentication.accessKey",
262
+ "label": "Access key",
263
+ "description": "Provide an IAM access key tailored to a user, equipped with the necessary permissions",
264
+ "optional": false,
265
+ "constraints": {
266
+ "notEmpty": true
267
+ },
268
+ "feel": "optional",
269
+ "group": "provider",
270
+ "binding": {
271
+ "name": "provider.bedrock.authentication.accessKey",
272
+ "type": "zeebe:input"
273
+ },
274
+ "condition": {
275
+ "allMatch": [
276
+ {
277
+ "property": "provider.bedrock.authentication.type",
278
+ "equals": "credentials",
279
+ "type": "simple"
280
+ },
281
+ {
282
+ "property": "provider.type",
283
+ "equals": "bedrock",
284
+ "type": "simple"
285
+ }
286
+ ]
287
+ },
288
+ "type": "String"
289
+ },
290
+ {
291
+ "id": "provider.bedrock.authentication.secretKey",
292
+ "label": "Secret key",
293
+ "description": "Provide a secret key of a user with permissions to invoke specified AWS Lambda function",
294
+ "optional": false,
295
+ "constraints": {
296
+ "notEmpty": true
297
+ },
298
+ "feel": "optional",
299
+ "group": "provider",
300
+ "binding": {
301
+ "name": "provider.bedrock.authentication.secretKey",
302
+ "type": "zeebe:input"
303
+ },
304
+ "condition": {
305
+ "allMatch": [
306
+ {
307
+ "property": "provider.bedrock.authentication.type",
308
+ "equals": "credentials",
309
+ "type": "simple"
310
+ },
311
+ {
312
+ "property": "provider.type",
313
+ "equals": "bedrock",
314
+ "type": "simple"
315
+ }
316
+ ]
317
+ },
318
+ "type": "String"
319
+ },
320
+ {
321
+ "id": "provider.azureOpenAi.endpoint",
322
+ "label": "Endpoint",
323
+ "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>.",
324
+ "optional": false,
325
+ "constraints": {
326
+ "notEmpty": true
327
+ },
328
+ "feel": "optional",
329
+ "group": "provider",
330
+ "binding": {
331
+ "name": "provider.azureOpenAi.endpoint",
332
+ "type": "zeebe:input"
333
+ },
334
+ "condition": {
335
+ "property": "provider.type",
336
+ "equals": "azureOpenAi",
337
+ "type": "simple"
338
+ },
339
+ "type": "String"
340
+ },
341
+ {
342
+ "id": "provider.azureOpenAi.authentication.type",
343
+ "label": "Authentication",
344
+ "description": "Specify the Azure OpenAI authentication strategy.",
345
+ "value": "apiKey",
346
+ "group": "provider",
347
+ "binding": {
348
+ "name": "provider.azureOpenAi.authentication.type",
349
+ "type": "zeebe:input"
350
+ },
351
+ "condition": {
352
+ "property": "provider.type",
353
+ "equals": "azureOpenAi",
354
+ "type": "simple"
355
+ },
356
+ "type": "Dropdown",
357
+ "choices": [
358
+ {
359
+ "name": "API key",
360
+ "value": "apiKey"
361
+ },
362
+ {
363
+ "name": "Client credentials",
364
+ "value": "clientCredentials"
365
+ }
366
+ ]
367
+ },
368
+ {
369
+ "id": "provider.azureOpenAi.authentication.apiKey",
370
+ "label": "API key",
371
+ "optional": false,
372
+ "constraints": {
373
+ "notEmpty": true
374
+ },
375
+ "feel": "optional",
376
+ "group": "provider",
377
+ "binding": {
378
+ "name": "provider.azureOpenAi.authentication.apiKey",
379
+ "type": "zeebe:input"
380
+ },
381
+ "condition": {
382
+ "allMatch": [
383
+ {
384
+ "property": "provider.azureOpenAi.authentication.type",
385
+ "equals": "apiKey",
386
+ "type": "simple"
387
+ },
388
+ {
389
+ "property": "provider.type",
390
+ "equals": "azureOpenAi",
391
+ "type": "simple"
392
+ }
393
+ ]
394
+ },
395
+ "type": "String"
396
+ },
397
+ {
398
+ "id": "provider.azureOpenAi.authentication.clientId",
399
+ "label": "Client ID",
400
+ "description": "ID of a Microsoft Entra application",
401
+ "optional": false,
402
+ "constraints": {
403
+ "notEmpty": true
404
+ },
405
+ "feel": "optional",
406
+ "group": "provider",
407
+ "binding": {
408
+ "name": "provider.azureOpenAi.authentication.clientId",
409
+ "type": "zeebe:input"
410
+ },
411
+ "condition": {
412
+ "allMatch": [
413
+ {
414
+ "property": "provider.azureOpenAi.authentication.type",
415
+ "equals": "clientCredentials",
416
+ "type": "simple"
417
+ },
418
+ {
419
+ "property": "provider.type",
420
+ "equals": "azureOpenAi",
421
+ "type": "simple"
422
+ }
423
+ ]
424
+ },
425
+ "type": "String"
426
+ },
427
+ {
428
+ "id": "provider.azureOpenAi.authentication.clientSecret",
429
+ "label": "Client secret",
430
+ "description": "Secret of a Microsoft Entra application",
431
+ "optional": false,
432
+ "constraints": {
433
+ "notEmpty": true
434
+ },
435
+ "feel": "optional",
436
+ "group": "provider",
437
+ "binding": {
438
+ "name": "provider.azureOpenAi.authentication.clientSecret",
439
+ "type": "zeebe:input"
440
+ },
441
+ "condition": {
442
+ "allMatch": [
443
+ {
444
+ "property": "provider.azureOpenAi.authentication.type",
445
+ "equals": "clientCredentials",
446
+ "type": "simple"
447
+ },
448
+ {
449
+ "property": "provider.type",
450
+ "equals": "azureOpenAi",
451
+ "type": "simple"
452
+ }
453
+ ]
454
+ },
455
+ "type": "String"
456
+ },
457
+ {
458
+ "id": "provider.azureOpenAi.authentication.tenantId",
459
+ "label": "Tenant ID",
460
+ "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>.",
461
+ "optional": false,
462
+ "constraints": {
463
+ "notEmpty": true
464
+ },
465
+ "feel": "optional",
466
+ "group": "provider",
467
+ "binding": {
468
+ "name": "provider.azureOpenAi.authentication.tenantId",
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.azureOpenAi.authentication.authorityHost",
489
+ "label": "Authority host",
490
+ "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.",
491
+ "optional": true,
492
+ "feel": "optional",
493
+ "group": "provider",
494
+ "binding": {
495
+ "name": "provider.azureOpenAi.authentication.authorityHost",
496
+ "type": "zeebe:input"
497
+ },
498
+ "condition": {
499
+ "allMatch": [
500
+ {
501
+ "property": "provider.azureOpenAi.authentication.type",
502
+ "equals": "clientCredentials",
503
+ "type": "simple"
504
+ },
505
+ {
506
+ "property": "provider.type",
507
+ "equals": "azureOpenAi",
508
+ "type": "simple"
509
+ }
510
+ ]
511
+ },
512
+ "type": "String"
513
+ },
514
+ {
515
+ "id": "provider.googleVertexAi.projectId",
516
+ "label": "Project ID",
517
+ "description": "Specify Google Cloud project ID",
518
+ "optional": false,
519
+ "constraints": {
520
+ "notEmpty": true
521
+ },
522
+ "feel": "optional",
523
+ "group": "provider",
524
+ "binding": {
525
+ "name": "provider.googleVertexAi.projectId",
526
+ "type": "zeebe:input"
527
+ },
528
+ "condition": {
529
+ "property": "provider.type",
530
+ "equals": "google-vertex-ai",
531
+ "type": "simple"
532
+ },
533
+ "type": "String"
534
+ },
535
+ {
536
+ "id": "provider.googleVertexAi.region",
537
+ "label": "Region",
538
+ "description": "Specify the region where AI inference should take place",
539
+ "optional": false,
540
+ "constraints": {
541
+ "notEmpty": true
542
+ },
543
+ "feel": "optional",
544
+ "group": "provider",
545
+ "binding": {
546
+ "name": "provider.googleVertexAi.region",
547
+ "type": "zeebe:input"
548
+ },
549
+ "condition": {
550
+ "property": "provider.type",
551
+ "equals": "google-vertex-ai",
552
+ "type": "simple"
553
+ },
554
+ "type": "String"
555
+ },
556
+ {
557
+ "id": "provider.googleVertexAi.authentication.type",
558
+ "label": "Authentication",
559
+ "description": "Specify the Google Vertex AI authentication strategy.",
560
+ "value": "serviceAccountCredentials",
561
+ "group": "provider",
562
+ "binding": {
563
+ "name": "provider.googleVertexAi.authentication.type",
564
+ "type": "zeebe:input"
565
+ },
566
+ "condition": {
567
+ "property": "provider.type",
568
+ "equals": "google-vertex-ai",
569
+ "type": "simple"
570
+ },
571
+ "type": "Dropdown",
572
+ "choices": [
573
+ {
574
+ "name": "Service account credentials",
575
+ "value": "serviceAccountCredentials"
576
+ },
577
+ {
578
+ "name": "Application default credentials (Hybrid/Self-Managed only)",
579
+ "value": "applicationDefaultCredentials"
580
+ }
581
+ ]
582
+ },
583
+ {
584
+ "id": "provider.googleVertexAi.authentication.jsonKey",
585
+ "label": "JSON key of the service account",
586
+ "description": "This is the key of the service account in JSON format.",
587
+ "optional": false,
588
+ "constraints": {
589
+ "notEmpty": true
590
+ },
591
+ "feel": "optional",
592
+ "group": "provider",
593
+ "binding": {
594
+ "name": "provider.googleVertexAi.authentication.jsonKey",
595
+ "type": "zeebe:input"
596
+ },
597
+ "condition": {
598
+ "allMatch": [
599
+ {
600
+ "property": "provider.googleVertexAi.authentication.type",
601
+ "equals": "serviceAccountCredentials",
602
+ "type": "simple"
603
+ },
604
+ {
605
+ "property": "provider.type",
606
+ "equals": "google-vertex-ai",
607
+ "type": "simple"
608
+ }
609
+ ]
610
+ },
611
+ "type": "String"
612
+ },
613
+ {
614
+ "id": "provider.openai.authentication.apiKey",
615
+ "label": "OpenAI API key",
616
+ "optional": false,
617
+ "constraints": {
618
+ "notEmpty": true
619
+ },
620
+ "feel": "optional",
621
+ "group": "provider",
622
+ "binding": {
623
+ "name": "provider.openai.authentication.apiKey",
624
+ "type": "zeebe:input"
625
+ },
626
+ "condition": {
627
+ "property": "provider.type",
628
+ "equals": "openai",
629
+ "type": "simple"
630
+ },
631
+ "type": "String"
632
+ },
633
+ {
634
+ "id": "provider.openai.authentication.organizationId",
635
+ "label": "Organization ID",
636
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
637
+ "optional": true,
638
+ "feel": "optional",
639
+ "group": "provider",
640
+ "binding": {
641
+ "name": "provider.openai.authentication.organizationId",
642
+ "type": "zeebe:input"
643
+ },
644
+ "condition": {
645
+ "property": "provider.type",
646
+ "equals": "openai",
647
+ "type": "simple"
648
+ },
649
+ "type": "String"
650
+ },
651
+ {
652
+ "id": "provider.openai.authentication.projectId",
653
+ "label": "Project ID",
654
+ "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
655
+ "optional": true,
656
+ "feel": "optional",
657
+ "group": "provider",
658
+ "binding": {
659
+ "name": "provider.openai.authentication.projectId",
660
+ "type": "zeebe:input"
661
+ },
662
+ "condition": {
663
+ "property": "provider.type",
664
+ "equals": "openai",
665
+ "type": "simple"
666
+ },
667
+ "type": "String"
668
+ },
669
+ {
670
+ "id": "provider.openaiCompatible.endpoint",
671
+ "label": "API endpoint",
672
+ "optional": false,
673
+ "constraints": {
674
+ "notEmpty": true
675
+ },
676
+ "feel": "optional",
677
+ "group": "provider",
678
+ "binding": {
679
+ "name": "provider.openaiCompatible.endpoint",
680
+ "type": "zeebe:input"
681
+ },
682
+ "condition": {
683
+ "property": "provider.type",
684
+ "equals": "openaiCompatible",
685
+ "type": "simple"
686
+ },
687
+ "tooltip": "Specify an endpoint to use the connector with an OpenAI compatible API. ",
688
+ "type": "String"
689
+ },
690
+ {
691
+ "id": "provider.openaiCompatible.authentication.apiKey",
692
+ "label": "API key",
693
+ "optional": true,
694
+ "feel": "optional",
695
+ "group": "provider",
696
+ "binding": {
697
+ "name": "provider.openaiCompatible.authentication.apiKey",
698
+ "type": "zeebe:input"
699
+ },
700
+ "condition": {
701
+ "property": "provider.type",
702
+ "equals": "openaiCompatible",
703
+ "type": "simple"
704
+ },
705
+ "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.",
706
+ "type": "String"
707
+ },
708
+ {
709
+ "id": "provider.openaiCompatible.headers",
710
+ "label": "Headers",
711
+ "description": "Map of HTTP headers to add to the request.",
712
+ "optional": true,
713
+ "feel": "required",
714
+ "group": "provider",
715
+ "binding": {
716
+ "name": "provider.openaiCompatible.headers",
717
+ "type": "zeebe:input"
718
+ },
719
+ "condition": {
720
+ "property": "provider.type",
721
+ "equals": "openaiCompatible",
722
+ "type": "simple"
723
+ },
724
+ "type": "String"
725
+ },
726
+ {
727
+ "id": "provider.anthropic.model.model",
728
+ "label": "Model",
729
+ "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>.",
730
+ "optional": false,
731
+ "value": "claude-3-5-sonnet-20240620",
732
+ "constraints": {
733
+ "notEmpty": true
734
+ },
735
+ "feel": "optional",
736
+ "group": "model",
737
+ "binding": {
738
+ "name": "provider.anthropic.model.model",
739
+ "type": "zeebe:input"
740
+ },
741
+ "condition": {
742
+ "property": "provider.type",
743
+ "equals": "anthropic",
744
+ "type": "simple"
745
+ },
746
+ "type": "String"
747
+ },
748
+ {
749
+ "id": "provider.anthropic.model.parameters.maxTokens",
750
+ "label": "Maximum tokens",
751
+ "optional": true,
752
+ "feel": "required",
753
+ "group": "model",
754
+ "binding": {
755
+ "name": "provider.anthropic.model.parameters.maxTokens",
756
+ "type": "zeebe:input"
757
+ },
758
+ "condition": {
759
+ "property": "provider.type",
760
+ "equals": "anthropic",
761
+ "type": "simple"
762
+ },
763
+ "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>.",
764
+ "type": "Number"
765
+ },
766
+ {
767
+ "id": "provider.anthropic.model.parameters.temperature",
768
+ "label": "Temperature",
769
+ "optional": true,
770
+ "feel": "required",
771
+ "group": "model",
772
+ "binding": {
773
+ "name": "provider.anthropic.model.parameters.temperature",
774
+ "type": "zeebe:input"
775
+ },
776
+ "condition": {
777
+ "property": "provider.type",
778
+ "equals": "anthropic",
779
+ "type": "simple"
780
+ },
781
+ "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>.",
782
+ "type": "Number"
783
+ },
784
+ {
785
+ "id": "provider.anthropic.model.parameters.topP",
786
+ "label": "top P",
787
+ "optional": true,
788
+ "feel": "required",
789
+ "group": "model",
790
+ "binding": {
791
+ "name": "provider.anthropic.model.parameters.topP",
792
+ "type": "zeebe:input"
793
+ },
794
+ "condition": {
795
+ "property": "provider.type",
796
+ "equals": "anthropic",
797
+ "type": "simple"
798
+ },
799
+ "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>.",
800
+ "type": "Number"
801
+ },
802
+ {
803
+ "id": "provider.anthropic.model.parameters.topK",
804
+ "label": "top K",
805
+ "optional": true,
806
+ "feel": "required",
807
+ "group": "model",
808
+ "binding": {
809
+ "name": "provider.anthropic.model.parameters.topK",
810
+ "type": "zeebe:input"
811
+ },
812
+ "condition": {
813
+ "property": "provider.type",
814
+ "equals": "anthropic",
815
+ "type": "simple"
816
+ },
817
+ "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>.",
818
+ "type": "Number"
819
+ },
820
+ {
821
+ "id": "provider.bedrock.model.model",
822
+ "label": "Model",
823
+ "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>.",
824
+ "optional": false,
825
+ "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
826
+ "constraints": {
827
+ "notEmpty": true
828
+ },
829
+ "feel": "optional",
830
+ "group": "model",
831
+ "binding": {
832
+ "name": "provider.bedrock.model.model",
833
+ "type": "zeebe:input"
834
+ },
835
+ "condition": {
836
+ "property": "provider.type",
837
+ "equals": "bedrock",
838
+ "type": "simple"
839
+ },
840
+ "type": "String"
841
+ },
842
+ {
843
+ "id": "provider.bedrock.model.parameters.maxTokens",
844
+ "label": "Maximum tokens",
845
+ "optional": true,
846
+ "feel": "required",
847
+ "group": "model",
848
+ "binding": {
849
+ "name": "provider.bedrock.model.parameters.maxTokens",
850
+ "type": "zeebe:input"
851
+ },
852
+ "condition": {
853
+ "property": "provider.type",
854
+ "equals": "bedrock",
855
+ "type": "simple"
856
+ },
857
+ "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>.",
858
+ "type": "Number"
859
+ },
860
+ {
861
+ "id": "provider.bedrock.model.parameters.temperature",
862
+ "label": "Temperature",
863
+ "optional": true,
864
+ "feel": "required",
865
+ "group": "model",
866
+ "binding": {
867
+ "name": "provider.bedrock.model.parameters.temperature",
868
+ "type": "zeebe:input"
869
+ },
870
+ "condition": {
871
+ "property": "provider.type",
872
+ "equals": "bedrock",
873
+ "type": "simple"
874
+ },
875
+ "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>.",
876
+ "type": "Number"
877
+ },
878
+ {
879
+ "id": "provider.bedrock.model.parameters.topP",
880
+ "label": "top P",
881
+ "optional": true,
882
+ "feel": "required",
883
+ "group": "model",
884
+ "binding": {
885
+ "name": "provider.bedrock.model.parameters.topP",
886
+ "type": "zeebe:input"
887
+ },
888
+ "condition": {
889
+ "property": "provider.type",
890
+ "equals": "bedrock",
891
+ "type": "simple"
892
+ },
893
+ "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>.",
894
+ "type": "Number"
895
+ },
896
+ {
897
+ "id": "provider.azureOpenAi.model.deploymentName",
898
+ "label": "Model deployment name",
899
+ "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>.",
900
+ "optional": false,
901
+ "constraints": {
902
+ "notEmpty": true
903
+ },
904
+ "feel": "optional",
905
+ "group": "model",
906
+ "binding": {
907
+ "name": "provider.azureOpenAi.model.deploymentName",
908
+ "type": "zeebe:input"
909
+ },
910
+ "condition": {
911
+ "property": "provider.type",
912
+ "equals": "azureOpenAi",
913
+ "type": "simple"
914
+ },
915
+ "type": "String"
916
+ },
917
+ {
918
+ "id": "provider.azureOpenAi.model.parameters.maxTokens",
919
+ "label": "Maximum tokens",
920
+ "optional": true,
921
+ "feel": "required",
922
+ "group": "model",
923
+ "binding": {
924
+ "name": "provider.azureOpenAi.model.parameters.maxTokens",
925
+ "type": "zeebe:input"
926
+ },
927
+ "condition": {
928
+ "property": "provider.type",
929
+ "equals": "azureOpenAi",
930
+ "type": "simple"
931
+ },
932
+ "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>.",
933
+ "type": "Number"
934
+ },
935
+ {
936
+ "id": "provider.azureOpenAi.model.parameters.temperature",
937
+ "label": "Temperature",
938
+ "optional": true,
939
+ "feel": "required",
940
+ "group": "model",
941
+ "binding": {
942
+ "name": "provider.azureOpenAi.model.parameters.temperature",
943
+ "type": "zeebe:input"
944
+ },
945
+ "condition": {
946
+ "property": "provider.type",
947
+ "equals": "azureOpenAi",
948
+ "type": "simple"
949
+ },
950
+ "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>.",
951
+ "type": "Number"
952
+ },
953
+ {
954
+ "id": "provider.azureOpenAi.model.parameters.topP",
955
+ "label": "top P",
956
+ "optional": true,
957
+ "feel": "required",
958
+ "group": "model",
959
+ "binding": {
960
+ "name": "provider.azureOpenAi.model.parameters.topP",
961
+ "type": "zeebe:input"
962
+ },
963
+ "condition": {
964
+ "property": "provider.type",
965
+ "equals": "azureOpenAi",
966
+ "type": "simple"
967
+ },
968
+ "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>.",
969
+ "type": "Number"
970
+ },
971
+ {
972
+ "id": "provider.googleVertexAi.model.model",
973
+ "label": "Model",
974
+ "description": "Specify the model ID. Details in the <a href=\"https://cloud.google.com/vertex-ai/docs/generative-ai/models\" target=\"_blank\">documentation</a>.",
975
+ "optional": false,
976
+ "constraints": {
977
+ "notEmpty": true
978
+ },
979
+ "feel": "optional",
980
+ "group": "model",
981
+ "binding": {
982
+ "name": "provider.googleVertexAi.model.model",
983
+ "type": "zeebe:input"
984
+ },
985
+ "condition": {
986
+ "property": "provider.type",
987
+ "equals": "google-vertex-ai",
988
+ "type": "simple"
989
+ },
990
+ "type": "String"
991
+ },
992
+ {
993
+ "id": "provider.googleVertexAi.model.parameters.maxOutputTokens",
994
+ "label": "Maximum output tokens",
995
+ "optional": true,
996
+ "feel": "required",
997
+ "group": "model",
998
+ "binding": {
999
+ "name": "provider.googleVertexAi.model.parameters.maxOutputTokens",
1000
+ "type": "zeebe:input"
1001
+ },
1002
+ "condition": {
1003
+ "property": "provider.type",
1004
+ "equals": "google-vertex-ai",
1005
+ "type": "simple"
1006
+ },
1007
+ "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>.",
1008
+ "type": "Number"
1009
+ },
1010
+ {
1011
+ "id": "provider.googleVertexAi.model.parameters.temperature",
1012
+ "label": "Temperature",
1013
+ "optional": true,
1014
+ "feel": "required",
1015
+ "group": "model",
1016
+ "binding": {
1017
+ "name": "provider.googleVertexAi.model.parameters.temperature",
1018
+ "type": "zeebe:input"
1019
+ },
1020
+ "condition": {
1021
+ "property": "provider.type",
1022
+ "equals": "google-vertex-ai",
1023
+ "type": "simple"
1024
+ },
1025
+ "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>.",
1026
+ "type": "Number"
1027
+ },
1028
+ {
1029
+ "id": "provider.googleVertexAi.model.parameters.topP",
1030
+ "label": "top P",
1031
+ "optional": true,
1032
+ "feel": "required",
1033
+ "group": "model",
1034
+ "binding": {
1035
+ "name": "provider.googleVertexAi.model.parameters.topP",
1036
+ "type": "zeebe:input"
1037
+ },
1038
+ "condition": {
1039
+ "property": "provider.type",
1040
+ "equals": "google-vertex-ai",
1041
+ "type": "simple"
1042
+ },
1043
+ "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>.",
1044
+ "type": "Number"
1045
+ },
1046
+ {
1047
+ "id": "provider.googleVertexAi.model.parameters.topK",
1048
+ "label": "top K",
1049
+ "optional": true,
1050
+ "feel": "required",
1051
+ "group": "model",
1052
+ "binding": {
1053
+ "name": "provider.googleVertexAi.model.parameters.topK",
1054
+ "type": "zeebe:input"
1055
+ },
1056
+ "condition": {
1057
+ "property": "provider.type",
1058
+ "equals": "google-vertex-ai",
1059
+ "type": "simple"
1060
+ },
1061
+ "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>.",
1062
+ "type": "Number"
1063
+ },
1064
+ {
1065
+ "id": "provider.openai.model.model",
1066
+ "label": "Model",
1067
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
1068
+ "optional": false,
1069
+ "value": "gpt-4o",
1070
+ "constraints": {
1071
+ "notEmpty": true
1072
+ },
1073
+ "feel": "optional",
1074
+ "group": "model",
1075
+ "binding": {
1076
+ "name": "provider.openai.model.model",
1077
+ "type": "zeebe:input"
1078
+ },
1079
+ "condition": {
1080
+ "property": "provider.type",
1081
+ "equals": "openai",
1082
+ "type": "simple"
1083
+ },
1084
+ "type": "String"
1085
+ },
1086
+ {
1087
+ "id": "provider.openai.model.parameters.maxCompletionTokens",
1088
+ "label": "Maximum completion tokens",
1089
+ "optional": true,
1090
+ "feel": "required",
1091
+ "group": "model",
1092
+ "binding": {
1093
+ "name": "provider.openai.model.parameters.maxCompletionTokens",
1094
+ "type": "zeebe:input"
1095
+ },
1096
+ "condition": {
1097
+ "property": "provider.type",
1098
+ "equals": "openai",
1099
+ "type": "simple"
1100
+ },
1101
+ "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>.",
1102
+ "type": "Number"
1103
+ },
1104
+ {
1105
+ "id": "provider.openai.model.parameters.temperature",
1106
+ "label": "Temperature",
1107
+ "optional": true,
1108
+ "feel": "required",
1109
+ "group": "model",
1110
+ "binding": {
1111
+ "name": "provider.openai.model.parameters.temperature",
1112
+ "type": "zeebe:input"
1113
+ },
1114
+ "condition": {
1115
+ "property": "provider.type",
1116
+ "equals": "openai",
1117
+ "type": "simple"
1118
+ },
1119
+ "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>.",
1120
+ "type": "Number"
1121
+ },
1122
+ {
1123
+ "id": "provider.openai.model.parameters.topP",
1124
+ "label": "top P",
1125
+ "optional": true,
1126
+ "feel": "required",
1127
+ "group": "model",
1128
+ "binding": {
1129
+ "name": "provider.openai.model.parameters.topP",
1130
+ "type": "zeebe:input"
1131
+ },
1132
+ "condition": {
1133
+ "property": "provider.type",
1134
+ "equals": "openai",
1135
+ "type": "simple"
1136
+ },
1137
+ "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>.",
1138
+ "type": "Number"
1139
+ },
1140
+ {
1141
+ "id": "provider.openaiCompatible.model.model",
1142
+ "label": "Model",
1143
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
1144
+ "optional": false,
1145
+ "value": "gpt-4o",
1146
+ "constraints": {
1147
+ "notEmpty": true
1148
+ },
1149
+ "feel": "optional",
1150
+ "group": "model",
1151
+ "binding": {
1152
+ "name": "provider.openaiCompatible.model.model",
1153
+ "type": "zeebe:input"
1154
+ },
1155
+ "condition": {
1156
+ "property": "provider.type",
1157
+ "equals": "openaiCompatible",
1158
+ "type": "simple"
1159
+ },
1160
+ "type": "String"
1161
+ },
1162
+ {
1163
+ "id": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
1164
+ "label": "Maximum completion tokens",
1165
+ "optional": true,
1166
+ "feel": "required",
1167
+ "group": "model",
1168
+ "binding": {
1169
+ "name": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
1170
+ "type": "zeebe:input"
1171
+ },
1172
+ "condition": {
1173
+ "property": "provider.type",
1174
+ "equals": "openaiCompatible",
1175
+ "type": "simple"
1176
+ },
1177
+ "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>.",
1178
+ "type": "Number"
1179
+ },
1180
+ {
1181
+ "id": "provider.openaiCompatible.model.parameters.temperature",
1182
+ "label": "Temperature",
1183
+ "optional": true,
1184
+ "feel": "required",
1185
+ "group": "model",
1186
+ "binding": {
1187
+ "name": "provider.openaiCompatible.model.parameters.temperature",
1188
+ "type": "zeebe:input"
1189
+ },
1190
+ "condition": {
1191
+ "property": "provider.type",
1192
+ "equals": "openaiCompatible",
1193
+ "type": "simple"
1194
+ },
1195
+ "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>.",
1196
+ "type": "Number"
1197
+ },
1198
+ {
1199
+ "id": "provider.openaiCompatible.model.parameters.topP",
1200
+ "label": "top P",
1201
+ "optional": true,
1202
+ "feel": "required",
1203
+ "group": "model",
1204
+ "binding": {
1205
+ "name": "provider.openaiCompatible.model.parameters.topP",
1206
+ "type": "zeebe:input"
1207
+ },
1208
+ "condition": {
1209
+ "property": "provider.type",
1210
+ "equals": "openaiCompatible",
1211
+ "type": "simple"
1212
+ },
1213
+ "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>.",
1214
+ "type": "Number"
1215
+ },
1216
+ {
1217
+ "id": "provider.openaiCompatible.model.parameters.customParameters",
1218
+ "label": "Custom parameters",
1219
+ "description": "Map of additional request parameters to include.",
1220
+ "optional": true,
1221
+ "feel": "required",
1222
+ "group": "model",
1223
+ "binding": {
1224
+ "name": "provider.openaiCompatible.model.parameters.customParameters",
1225
+ "type": "zeebe:input"
1226
+ },
1227
+ "condition": {
1228
+ "property": "provider.type",
1229
+ "equals": "openaiCompatible",
1230
+ "type": "simple"
1231
+ },
1232
+ "type": "String"
1233
+ },
1234
+ {
1235
+ "id": "data.systemPrompt.prompt",
1236
+ "label": "System prompt",
1237
+ "optional": false,
1238
+ "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.\"",
1239
+ "constraints": {
1240
+ "notEmpty": true
1241
+ },
1242
+ "feel": "required",
1243
+ "group": "systemPrompt",
1244
+ "binding": {
1245
+ "name": "data.systemPrompt.prompt",
1246
+ "type": "zeebe:input"
1247
+ },
1248
+ "type": "Text"
1249
+ },
1250
+ {
1251
+ "id": "data.userPrompt.prompt",
1252
+ "label": "User prompt",
1253
+ "optional": false,
1254
+ "constraints": {
1255
+ "notEmpty": true
1256
+ },
1257
+ "feel": "required",
1258
+ "group": "userPrompt",
1259
+ "binding": {
1260
+ "name": "data.userPrompt.prompt",
1261
+ "type": "zeebe:input"
1262
+ },
1263
+ "type": "Text"
1264
+ },
1265
+ {
1266
+ "id": "data.userPrompt.documents",
1267
+ "label": "Documents",
1268
+ "description": "Documents to be included in the user prompt.",
1269
+ "optional": true,
1270
+ "feel": "required",
1271
+ "group": "userPrompt",
1272
+ "binding": {
1273
+ "name": "data.userPrompt.documents",
1274
+ "type": "zeebe:input"
1275
+ },
1276
+ "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-process/\" target=\"_blank\">See documentation</a> for details and supported file types.",
1277
+ "type": "String"
1278
+ },
1279
+ {
1280
+ "id": "agentContext",
1281
+ "label": "Agent context",
1282
+ "description": "Initial agent context from previous interactions. Avoid reusing context variables across agents to prevent issues with stale data or tool access.",
1283
+ "optional": true,
1284
+ "feel": "required",
1285
+ "group": "memory",
1286
+ "binding": {
1287
+ "name": "agentContext",
1288
+ "type": "zeebe:input"
1289
+ },
1290
+ "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-process/\" target=\"_blank\">See documentation</a> for details.",
1291
+ "type": "Text"
1292
+ },
1293
+ {
1294
+ "id": "data.memory.storage.type",
1295
+ "label": "Memory storage type",
1296
+ "description": "Specify how to store the conversation memory.",
1297
+ "value": "in-process",
1298
+ "group": "memory",
1299
+ "binding": {
1300
+ "name": "data.memory.storage.type",
1301
+ "type": "zeebe:input"
1302
+ },
1303
+ "type": "Dropdown",
1304
+ "choices": [
1305
+ {
1306
+ "name": "In Process (part of agent context)",
1307
+ "value": "in-process"
1308
+ },
1309
+ {
1310
+ "name": "Camunda Document Storage",
1311
+ "value": "camunda-document"
1312
+ },
1313
+ {
1314
+ "name": "Custom Implementation (Hybrid/Self-Managed only)",
1315
+ "value": "custom"
1316
+ }
1317
+ ]
1318
+ },
1319
+ {
1320
+ "id": "data.memory.storage.timeToLive",
1321
+ "label": "Document TTL",
1322
+ "description": "How long to retain the conversation document as ISO-8601 duration (example: <code>P14D</code>).",
1323
+ "optional": true,
1324
+ "feel": "optional",
1325
+ "group": "memory",
1326
+ "binding": {
1327
+ "name": "data.memory.storage.timeToLive",
1328
+ "type": "zeebe:input"
1329
+ },
1330
+ "condition": {
1331
+ "property": "data.memory.storage.type",
1332
+ "equals": "camunda-document",
1333
+ "type": "simple"
1334
+ },
1335
+ "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.",
1336
+ "type": "String"
1337
+ },
1338
+ {
1339
+ "id": "data.memory.storage.customProperties",
1340
+ "label": "Custom document properties",
1341
+ "description": "An optional map of custom properties to be stored with the conversation document.",
1342
+ "optional": true,
1343
+ "feel": "required",
1344
+ "group": "memory",
1345
+ "binding": {
1346
+ "name": "data.memory.storage.customProperties",
1347
+ "type": "zeebe:input"
1348
+ },
1349
+ "condition": {
1350
+ "property": "data.memory.storage.type",
1351
+ "equals": "camunda-document",
1352
+ "type": "simple"
1353
+ },
1354
+ "type": "String"
1355
+ },
1356
+ {
1357
+ "id": "data.memory.storage.storeType",
1358
+ "label": "Implementation type",
1359
+ "optional": false,
1360
+ "constraints": {
1361
+ "notEmpty": true
1362
+ },
1363
+ "feel": "optional",
1364
+ "group": "memory",
1365
+ "binding": {
1366
+ "name": "data.memory.storage.storeType",
1367
+ "type": "zeebe:input"
1368
+ },
1369
+ "condition": {
1370
+ "property": "data.memory.storage.type",
1371
+ "equals": "custom",
1372
+ "type": "simple"
1373
+ },
1374
+ "type": "String"
1375
+ },
1376
+ {
1377
+ "id": "data.memory.storage.parameters",
1378
+ "label": "Parameters",
1379
+ "description": "Parameters for the custom memory storage implementation.",
1380
+ "optional": true,
1381
+ "feel": "required",
1382
+ "group": "memory",
1383
+ "binding": {
1384
+ "name": "data.memory.storage.parameters",
1385
+ "type": "zeebe:input"
1386
+ },
1387
+ "condition": {
1388
+ "property": "data.memory.storage.type",
1389
+ "equals": "custom",
1390
+ "type": "simple"
1391
+ },
1392
+ "type": "String"
1393
+ },
1394
+ {
1395
+ "id": "data.memory.contextWindowSize",
1396
+ "label": "Context window size",
1397
+ "description": "Maximum number of recent conversation messages which are passed to the model.",
1398
+ "optional": false,
1399
+ "value": 20,
1400
+ "feel": "static",
1401
+ "group": "memory",
1402
+ "binding": {
1403
+ "name": "data.memory.contextWindowSize",
1404
+ "type": "zeebe:input"
1405
+ },
1406
+ "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-process/\" target=\"_blank\">See documentation</a> for details.",
1407
+ "type": "Number"
1408
+ },
1409
+ {
1410
+ "id": "data.limits.maxModelCalls",
1411
+ "label": "Maximum model calls",
1412
+ "description": "Maximum number of calls to the model as a safety limit to prevent infinite loops.",
1413
+ "optional": false,
1414
+ "value": 10,
1415
+ "feel": "static",
1416
+ "group": "limits",
1417
+ "binding": {
1418
+ "name": "data.limits.maxModelCalls",
1419
+ "type": "zeebe:input"
1420
+ },
1421
+ "type": "Number"
1422
+ },
1423
+ {
1424
+ "id": "data.events.behavior",
1425
+ "label": "Event handling behavior",
1426
+ "description": "Behavior in combination with an event sub-process.",
1427
+ "optional": false,
1428
+ "value": "WAIT_FOR_TOOL_CALL_RESULTS",
1429
+ "constraints": {
1430
+ "notEmpty": true
1431
+ },
1432
+ "group": "events",
1433
+ "binding": {
1434
+ "name": "data.events.behavior",
1435
+ "type": "zeebe:input"
1436
+ },
1437
+ "type": "Dropdown",
1438
+ "choices": [
1439
+ {
1440
+ "name": "Wait for tool call results",
1441
+ "value": "WAIT_FOR_TOOL_CALL_RESULTS"
1442
+ },
1443
+ {
1444
+ "name": "Interrupt tool calls",
1445
+ "value": "INTERRUPT_TOOL_CALLS"
1446
+ }
1447
+ ]
1448
+ },
1449
+ {
1450
+ "id": "data.response.format.type",
1451
+ "label": "Response format",
1452
+ "description": "Specify the response format. Support for JSON mode varies by provider.",
1453
+ "value": "text",
1454
+ "group": "response",
1455
+ "binding": {
1456
+ "name": "data.response.format.type",
1457
+ "type": "zeebe:input"
1458
+ },
1459
+ "type": "Dropdown",
1460
+ "choices": [
1461
+ {
1462
+ "name": "Text",
1463
+ "value": "text"
1464
+ },
1465
+ {
1466
+ "name": "JSON",
1467
+ "value": "json"
1468
+ }
1469
+ ]
1470
+ },
1471
+ {
1472
+ "id": "data.response.format.parseJson",
1473
+ "label": "Parse text as JSON",
1474
+ "description": "Tries to parse the LLM response text as JSON object.",
1475
+ "optional": true,
1476
+ "feel": "static",
1477
+ "group": "response",
1478
+ "binding": {
1479
+ "name": "data.response.format.parseJson",
1480
+ "type": "zeebe:input"
1481
+ },
1482
+ "condition": {
1483
+ "property": "data.response.format.type",
1484
+ "equals": "text",
1485
+ "type": "simple"
1486
+ },
1487
+ "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>.",
1488
+ "type": "Boolean"
1489
+ },
1490
+ {
1491
+ "id": "data.response.format.schema",
1492
+ "label": "Response JSON schema",
1493
+ "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.",
1494
+ "optional": true,
1495
+ "feel": "required",
1496
+ "group": "response",
1497
+ "binding": {
1498
+ "name": "data.response.format.schema",
1499
+ "type": "zeebe:input"
1500
+ },
1501
+ "condition": {
1502
+ "property": "data.response.format.type",
1503
+ "equals": "json",
1504
+ "type": "simple"
1505
+ },
1506
+ "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>.",
1507
+ "type": "String"
1508
+ },
1509
+ {
1510
+ "id": "data.response.format.schemaName",
1511
+ "label": "Response JSON schema name",
1512
+ "description": "An optional name for the response JSON Schema to make the model aware of the expected output.",
1513
+ "optional": true,
1514
+ "value": "Response",
1515
+ "feel": "optional",
1516
+ "group": "response",
1517
+ "binding": {
1518
+ "name": "data.response.format.schemaName",
1519
+ "type": "zeebe:input"
1520
+ },
1521
+ "condition": {
1522
+ "property": "data.response.format.type",
1523
+ "equals": "json",
1524
+ "type": "simple"
1525
+ },
1526
+ "type": "String"
1527
+ },
1528
+ {
1529
+ "id": "data.response.includeAssistantMessage",
1530
+ "label": "Include assistant message",
1531
+ "description": "Include the full assistant message as part of the result object.",
1532
+ "optional": true,
1533
+ "feel": "static",
1534
+ "group": "response",
1535
+ "binding": {
1536
+ "name": "data.response.includeAssistantMessage",
1537
+ "type": "zeebe:input"
1538
+ },
1539
+ "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>.",
1540
+ "type": "Boolean"
1541
+ },
1542
+ {
1543
+ "id": "data.response.includeAgentContext",
1544
+ "label": "Include agent context",
1545
+ "description": "Include the agent context as part of the result object.",
1546
+ "optional": true,
1547
+ "feel": "static",
1548
+ "group": "response",
1549
+ "binding": {
1550
+ "name": "data.response.includeAgentContext",
1551
+ "type": "zeebe:input"
1552
+ },
1553
+ "tooltip": "Use this option if you need to re-inject the previous agent context into a future agent execution, for example when modeling a user feedback loop between an agent and a user task.",
1554
+ "type": "Boolean"
1555
+ },
1556
+ {
1557
+ "id": "version",
1558
+ "label": "Version",
1559
+ "description": "Version of the element template",
1560
+ "value": "3",
1561
+ "group": "connector",
1562
+ "binding": {
1563
+ "key": "elementTemplateVersion",
1564
+ "type": "zeebe:taskHeader"
1565
+ },
1566
+ "type": "Hidden"
1567
+ },
1568
+ {
1569
+ "id": "id",
1570
+ "label": "ID",
1571
+ "description": "ID of the element template",
1572
+ "value": "io.camunda.connectors.agenticai.aiagent.jobworker.v1",
1573
+ "group": "connector",
1574
+ "binding": {
1575
+ "key": "elementTemplateId",
1576
+ "type": "zeebe:taskHeader"
1577
+ },
1578
+ "type": "Hidden"
1579
+ },
1580
+ {
1581
+ "id": "resultVariable",
1582
+ "label": "Result variable",
1583
+ "description": "Name of variable to store the response in",
1584
+ "value": "agent",
1585
+ "group": "output",
1586
+ "binding": {
1587
+ "source": "=agent",
1588
+ "type": "zeebe:output"
1589
+ },
1590
+ "type": "String"
1591
+ },
1592
+ {
1593
+ "id": "errorExpression",
1594
+ "label": "Error expression",
1595
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1596
+ "feel": "required",
1597
+ "group": "error",
1598
+ "binding": {
1599
+ "key": "errorExpression",
1600
+ "type": "zeebe:taskHeader"
1601
+ },
1602
+ "type": "Text"
1603
+ },
1604
+ {
1605
+ "id": "retryCount",
1606
+ "label": "Retries",
1607
+ "description": "Number of retries",
1608
+ "value": "3",
1609
+ "feel": "optional",
1610
+ "group": "retries",
1611
+ "binding": {
1612
+ "property": "retries",
1613
+ "type": "zeebe:taskDefinition"
1614
+ },
1615
+ "type": "String"
1616
+ },
1617
+ {
1618
+ "id": "retryBackoff",
1619
+ "label": "Retry backoff",
1620
+ "description": "ISO-8601 duration to wait between retries",
1621
+ "value": "PT0S",
1622
+ "group": "retries",
1623
+ "binding": {
1624
+ "key": "retryBackoff",
1625
+ "type": "zeebe:taskHeader"
1626
+ },
1627
+ "type": "String"
1628
+ }
1629
+ ],
1630
+ "icon": {
1631
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K"
1632
+ }
1633
+ },
1634
+ {
1635
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1636
+ "name": "AI Agent Subprocess",
1637
+ "id": "io.camunda.connectors.agenticai.aiagent.jobworker.v1",
1638
+ "description": "Run a multi-step AI reasoning loop with dynamic tool selection",
1639
+ "metadata": {
1640
+ "keywords": ["AI", "AI Agent", "agentic orchestration"]
1641
+ },
1642
+ "documentationRef": "https://docs.camunda.io/docs/8.8/components/connectors/out-of-the-box-connectors/agentic-ai-aiagent/",
1643
+ "version": 4,
1644
+ "category": {
1645
+ "id": "connectors",
1646
+ "name": "Connectors"
1647
+ },
1648
+ "appliesTo": ["bpmn:SubProcess"],
1649
+ "elementType": {
1650
+ "value": "bpmn:AdHocSubProcess"
1651
+ },
1652
+ "engines": {
1653
+ "camunda": "^8.8"
1654
+ },
1655
+ "groups": [
1656
+ {
1657
+ "id": "provider",
1658
+ "label": "Model provider",
1659
+ "openByDefault": false
1660
+ },
1661
+ {
1662
+ "id": "model",
1663
+ "label": "Model",
1664
+ "openByDefault": false
1665
+ },
1666
+ {
1667
+ "id": "systemPrompt",
1668
+ "label": "System prompt",
1669
+ "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.",
1670
+ "openByDefault": false
1671
+ },
1672
+ {
1673
+ "id": "userPrompt",
1674
+ "label": "User prompt",
1675
+ "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.",
1676
+ "openByDefault": false
1677
+ },
1678
+ {
1679
+ "id": "tools",
1680
+ "label": "Tools",
1681
+ "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.",
1682
+ "openByDefault": false
1683
+ },
1684
+ {
1685
+ "id": "memory",
1686
+ "label": "Memory",
1687
+ "tooltip": "Configuration of the Agent's short-term/conversational memory.",
1688
+ "openByDefault": false
1689
+ },
1690
+ {
1691
+ "id": "limits",
1692
+ "label": "Limits",
1693
+ "openByDefault": false
1694
+ },
1695
+ {
1696
+ "id": "events",
1697
+ "label": "Event handling",
1698
+ "openByDefault": false
1699
+ },
1700
+ {
1701
+ "id": "response",
1702
+ "label": "Response",
1703
+ "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-process/#response\">documentation</a> for details.",
1704
+ "openByDefault": false
1705
+ },
1706
+ {
1707
+ "id": "connector",
1708
+ "label": "Connector"
1709
+ },
1710
+ {
1711
+ "id": "output",
1712
+ "label": "Output mapping"
1713
+ },
1714
+ {
1715
+ "id": "error",
1716
+ "label": "Error handling"
1717
+ },
1718
+ {
1719
+ "id": "retries",
1720
+ "label": "Retries"
1721
+ }
1722
+ ],
1723
+ "properties": [
1724
+ {
1725
+ "value": "io.camunda.agenticai:aiagent-job-worker:1",
1726
+ "binding": {
1727
+ "property": "type",
1728
+ "type": "zeebe:taskDefinition"
1729
+ },
1730
+ "type": "Hidden"
1731
+ },
1732
+ {
1733
+ "id": "outputCollection",
1734
+ "binding": {
1735
+ "property": "outputCollection",
1736
+ "type": "zeebe:adHoc"
1737
+ },
1738
+ "value": "toolCallResults",
1739
+ "type": "Hidden"
1740
+ },
1741
+ {
1742
+ "id": "outputElement",
1743
+ "binding": {
1744
+ "property": "outputElement",
1745
+ "type": "zeebe:adHoc"
1746
+ },
1747
+ "value": "={\n id: toolCall._meta.id,\n name: toolCall._meta.name,\n content: toolCallResult\n}",
1748
+ "type": "Hidden"
1749
+ },
1750
+ {
1751
+ "id": "provider.type",
1752
+ "label": "Provider",
1753
+ "description": "Specify the LLM provider to use.",
1754
+ "value": "anthropic",
1755
+ "group": "provider",
1756
+ "binding": {
1757
+ "name": "provider.type",
1758
+ "type": "zeebe:input"
1759
+ },
1760
+ "type": "Dropdown",
1761
+ "choices": [
1762
+ {
1763
+ "name": "Anthropic",
1764
+ "value": "anthropic"
1765
+ },
1766
+ {
1767
+ "name": "AWS Bedrock",
1768
+ "value": "bedrock"
1769
+ },
1770
+ {
1771
+ "name": "Azure OpenAI",
1772
+ "value": "azureOpenAi"
1773
+ },
1774
+ {
1775
+ "name": "Google Vertex AI",
1776
+ "value": "google-vertex-ai"
1777
+ },
1778
+ {
1779
+ "name": "OpenAI",
1780
+ "value": "openai"
1781
+ },
1782
+ {
1783
+ "name": "OpenAI Compatible",
1784
+ "value": "openaiCompatible"
1785
+ }
1786
+ ]
1787
+ },
1788
+ {
1789
+ "id": "provider.anthropic.endpoint",
1790
+ "label": "Endpoint",
1791
+ "description": "Optional custom API endpoint",
1792
+ "optional": true,
1793
+ "feel": "optional",
1794
+ "group": "provider",
1795
+ "binding": {
1796
+ "name": "provider.anthropic.endpoint",
1797
+ "type": "zeebe:input"
1798
+ },
1799
+ "condition": {
1800
+ "property": "provider.type",
1801
+ "equals": "anthropic",
1802
+ "type": "simple"
1803
+ },
1804
+ "type": "String"
1805
+ },
1806
+ {
1807
+ "id": "provider.anthropic.authentication.apiKey",
1808
+ "label": "Anthropic API key",
1809
+ "optional": false,
1810
+ "constraints": {
1811
+ "notEmpty": true
1812
+ },
1813
+ "feel": "optional",
1814
+ "group": "provider",
1815
+ "binding": {
1816
+ "name": "provider.anthropic.authentication.apiKey",
1817
+ "type": "zeebe:input"
1818
+ },
1819
+ "condition": {
1820
+ "property": "provider.type",
1821
+ "equals": "anthropic",
1822
+ "type": "simple"
1823
+ },
1824
+ "type": "String"
1825
+ },
1826
+ {
1827
+ "id": "provider.bedrock.region",
1828
+ "label": "Region",
1829
+ "description": "Specify the AWS region (example: <code>eu-west-1</code>)",
1830
+ "optional": false,
1831
+ "constraints": {
1832
+ "notEmpty": true
1833
+ },
1834
+ "feel": "optional",
1835
+ "group": "provider",
1836
+ "binding": {
1837
+ "name": "provider.bedrock.region",
1838
+ "type": "zeebe:input"
1839
+ },
1840
+ "condition": {
1841
+ "property": "provider.type",
1842
+ "equals": "bedrock",
1843
+ "type": "simple"
1844
+ },
1845
+ "type": "String"
1846
+ },
1847
+ {
1848
+ "id": "provider.bedrock.endpoint",
1849
+ "label": "Endpoint",
1850
+ "description": "Optional custom API endpoint",
1851
+ "optional": true,
1852
+ "feel": "optional",
1853
+ "group": "provider",
1854
+ "binding": {
1855
+ "name": "provider.bedrock.endpoint",
1856
+ "type": "zeebe:input"
1857
+ },
1858
+ "condition": {
1859
+ "property": "provider.type",
1860
+ "equals": "bedrock",
1861
+ "type": "simple"
1862
+ },
1863
+ "type": "String"
1864
+ },
1865
+ {
1866
+ "id": "provider.bedrock.authentication.type",
1867
+ "label": "Authentication",
1868
+ "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>",
1869
+ "value": "credentials",
1870
+ "group": "provider",
1871
+ "binding": {
1872
+ "name": "provider.bedrock.authentication.type",
1873
+ "type": "zeebe:input"
1874
+ },
1875
+ "condition": {
1876
+ "property": "provider.type",
1877
+ "equals": "bedrock",
1878
+ "type": "simple"
1879
+ },
1880
+ "type": "Dropdown",
1881
+ "choices": [
1882
+ {
1883
+ "name": "Credentials",
1884
+ "value": "credentials"
1885
+ },
1886
+ {
1887
+ "name": "Default Credentials Chain (Hybrid/Self-Managed only)",
1888
+ "value": "defaultCredentialsChain"
1889
+ }
1890
+ ]
1891
+ },
1892
+ {
1893
+ "id": "provider.bedrock.authentication.accessKey",
1894
+ "label": "Access key",
1895
+ "description": "Provide an IAM access key tailored to a user, equipped with the necessary permissions",
1896
+ "optional": false,
1897
+ "constraints": {
1898
+ "notEmpty": true
1899
+ },
1900
+ "feel": "optional",
1901
+ "group": "provider",
1902
+ "binding": {
1903
+ "name": "provider.bedrock.authentication.accessKey",
1904
+ "type": "zeebe:input"
1905
+ },
1906
+ "condition": {
1907
+ "allMatch": [
1908
+ {
1909
+ "property": "provider.bedrock.authentication.type",
1910
+ "equals": "credentials",
1911
+ "type": "simple"
1912
+ },
1913
+ {
1914
+ "property": "provider.type",
1915
+ "equals": "bedrock",
1916
+ "type": "simple"
1917
+ }
1918
+ ]
1919
+ },
1920
+ "type": "String"
1921
+ },
1922
+ {
1923
+ "id": "provider.bedrock.authentication.secretKey",
1924
+ "label": "Secret key",
1925
+ "description": "Provide a secret key of a user with permissions to invoke specified AWS Lambda function",
1926
+ "optional": false,
1927
+ "constraints": {
1928
+ "notEmpty": true
1929
+ },
1930
+ "feel": "optional",
1931
+ "group": "provider",
1932
+ "binding": {
1933
+ "name": "provider.bedrock.authentication.secretKey",
1934
+ "type": "zeebe:input"
1935
+ },
1936
+ "condition": {
1937
+ "allMatch": [
1938
+ {
1939
+ "property": "provider.bedrock.authentication.type",
1940
+ "equals": "credentials",
1941
+ "type": "simple"
1942
+ },
1943
+ {
1944
+ "property": "provider.type",
1945
+ "equals": "bedrock",
1946
+ "type": "simple"
1947
+ }
1948
+ ]
1949
+ },
1950
+ "type": "String"
1951
+ },
1952
+ {
1953
+ "id": "provider.azureOpenAi.endpoint",
1954
+ "label": "Endpoint",
1955
+ "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>.",
1956
+ "optional": false,
1957
+ "constraints": {
1958
+ "notEmpty": true
1959
+ },
1960
+ "feel": "optional",
1961
+ "group": "provider",
1962
+ "binding": {
1963
+ "name": "provider.azureOpenAi.endpoint",
1964
+ "type": "zeebe:input"
1965
+ },
1966
+ "condition": {
1967
+ "property": "provider.type",
1968
+ "equals": "azureOpenAi",
1969
+ "type": "simple"
1970
+ },
1971
+ "type": "String"
1972
+ },
1973
+ {
1974
+ "id": "provider.azureOpenAi.authentication.type",
1975
+ "label": "Authentication",
1976
+ "description": "Specify the Azure OpenAI authentication strategy.",
1977
+ "value": "apiKey",
1978
+ "group": "provider",
1979
+ "binding": {
1980
+ "name": "provider.azureOpenAi.authentication.type",
1981
+ "type": "zeebe:input"
1982
+ },
1983
+ "condition": {
1984
+ "property": "provider.type",
1985
+ "equals": "azureOpenAi",
1986
+ "type": "simple"
1987
+ },
1988
+ "type": "Dropdown",
1989
+ "choices": [
1990
+ {
1991
+ "name": "API key",
1992
+ "value": "apiKey"
1993
+ },
1994
+ {
1995
+ "name": "Client credentials",
1996
+ "value": "clientCredentials"
1997
+ }
1998
+ ]
1999
+ },
2000
+ {
2001
+ "id": "provider.azureOpenAi.authentication.apiKey",
2002
+ "label": "API key",
2003
+ "optional": false,
2004
+ "constraints": {
2005
+ "notEmpty": true
2006
+ },
2007
+ "feel": "optional",
2008
+ "group": "provider",
2009
+ "binding": {
2010
+ "name": "provider.azureOpenAi.authentication.apiKey",
2011
+ "type": "zeebe:input"
2012
+ },
2013
+ "condition": {
2014
+ "allMatch": [
2015
+ {
2016
+ "property": "provider.azureOpenAi.authentication.type",
2017
+ "equals": "apiKey",
2018
+ "type": "simple"
2019
+ },
2020
+ {
2021
+ "property": "provider.type",
2022
+ "equals": "azureOpenAi",
2023
+ "type": "simple"
2024
+ }
2025
+ ]
2026
+ },
2027
+ "type": "String"
2028
+ },
2029
+ {
2030
+ "id": "provider.azureOpenAi.authentication.clientId",
2031
+ "label": "Client ID",
2032
+ "description": "ID of a Microsoft Entra application",
2033
+ "optional": false,
2034
+ "constraints": {
2035
+ "notEmpty": true
2036
+ },
2037
+ "feel": "optional",
2038
+ "group": "provider",
2039
+ "binding": {
2040
+ "name": "provider.azureOpenAi.authentication.clientId",
2041
+ "type": "zeebe:input"
2042
+ },
2043
+ "condition": {
2044
+ "allMatch": [
2045
+ {
2046
+ "property": "provider.azureOpenAi.authentication.type",
2047
+ "equals": "clientCredentials",
2048
+ "type": "simple"
2049
+ },
2050
+ {
2051
+ "property": "provider.type",
2052
+ "equals": "azureOpenAi",
2053
+ "type": "simple"
2054
+ }
2055
+ ]
2056
+ },
2057
+ "type": "String"
2058
+ },
2059
+ {
2060
+ "id": "provider.azureOpenAi.authentication.clientSecret",
2061
+ "label": "Client secret",
2062
+ "description": "Secret of a Microsoft Entra application",
2063
+ "optional": false,
2064
+ "constraints": {
2065
+ "notEmpty": true
2066
+ },
2067
+ "feel": "optional",
2068
+ "group": "provider",
2069
+ "binding": {
2070
+ "name": "provider.azureOpenAi.authentication.clientSecret",
2071
+ "type": "zeebe:input"
2072
+ },
2073
+ "condition": {
2074
+ "allMatch": [
2075
+ {
2076
+ "property": "provider.azureOpenAi.authentication.type",
2077
+ "equals": "clientCredentials",
2078
+ "type": "simple"
2079
+ },
2080
+ {
2081
+ "property": "provider.type",
2082
+ "equals": "azureOpenAi",
2083
+ "type": "simple"
2084
+ }
2085
+ ]
2086
+ },
2087
+ "type": "String"
2088
+ },
2089
+ {
2090
+ "id": "provider.azureOpenAi.authentication.tenantId",
2091
+ "label": "Tenant ID",
2092
+ "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>.",
2093
+ "optional": false,
2094
+ "constraints": {
2095
+ "notEmpty": true
2096
+ },
2097
+ "feel": "optional",
2098
+ "group": "provider",
2099
+ "binding": {
2100
+ "name": "provider.azureOpenAi.authentication.tenantId",
2101
+ "type": "zeebe:input"
2102
+ },
2103
+ "condition": {
2104
+ "allMatch": [
2105
+ {
2106
+ "property": "provider.azureOpenAi.authentication.type",
2107
+ "equals": "clientCredentials",
2108
+ "type": "simple"
2109
+ },
2110
+ {
2111
+ "property": "provider.type",
2112
+ "equals": "azureOpenAi",
2113
+ "type": "simple"
2114
+ }
2115
+ ]
2116
+ },
2117
+ "type": "String"
2118
+ },
2119
+ {
2120
+ "id": "provider.azureOpenAi.authentication.authorityHost",
2121
+ "label": "Authority host",
2122
+ "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.",
2123
+ "optional": true,
2124
+ "feel": "optional",
2125
+ "group": "provider",
2126
+ "binding": {
2127
+ "name": "provider.azureOpenAi.authentication.authorityHost",
2128
+ "type": "zeebe:input"
2129
+ },
2130
+ "condition": {
2131
+ "allMatch": [
2132
+ {
2133
+ "property": "provider.azureOpenAi.authentication.type",
2134
+ "equals": "clientCredentials",
2135
+ "type": "simple"
2136
+ },
2137
+ {
2138
+ "property": "provider.type",
2139
+ "equals": "azureOpenAi",
2140
+ "type": "simple"
2141
+ }
2142
+ ]
2143
+ },
2144
+ "type": "String"
2145
+ },
2146
+ {
2147
+ "id": "provider.googleVertexAi.projectId",
2148
+ "label": "Project ID",
2149
+ "description": "Specify Google Cloud project ID",
2150
+ "optional": false,
2151
+ "constraints": {
2152
+ "notEmpty": true
2153
+ },
2154
+ "feel": "optional",
2155
+ "group": "provider",
2156
+ "binding": {
2157
+ "name": "provider.googleVertexAi.projectId",
2158
+ "type": "zeebe:input"
2159
+ },
2160
+ "condition": {
2161
+ "property": "provider.type",
2162
+ "equals": "google-vertex-ai",
2163
+ "type": "simple"
2164
+ },
2165
+ "type": "String"
2166
+ },
2167
+ {
2168
+ "id": "provider.googleVertexAi.region",
2169
+ "label": "Region",
2170
+ "description": "Specify the region where AI inference should take place",
2171
+ "optional": false,
2172
+ "constraints": {
2173
+ "notEmpty": true
2174
+ },
2175
+ "feel": "optional",
2176
+ "group": "provider",
2177
+ "binding": {
2178
+ "name": "provider.googleVertexAi.region",
2179
+ "type": "zeebe:input"
2180
+ },
2181
+ "condition": {
2182
+ "property": "provider.type",
2183
+ "equals": "google-vertex-ai",
2184
+ "type": "simple"
2185
+ },
2186
+ "type": "String"
2187
+ },
2188
+ {
2189
+ "id": "provider.googleVertexAi.authentication.type",
2190
+ "label": "Authentication",
2191
+ "description": "Specify the Google Vertex AI authentication strategy.",
2192
+ "value": "serviceAccountCredentials",
2193
+ "group": "provider",
2194
+ "binding": {
2195
+ "name": "provider.googleVertexAi.authentication.type",
2196
+ "type": "zeebe:input"
2197
+ },
2198
+ "condition": {
2199
+ "property": "provider.type",
2200
+ "equals": "google-vertex-ai",
2201
+ "type": "simple"
2202
+ },
2203
+ "type": "Dropdown",
2204
+ "choices": [
2205
+ {
2206
+ "name": "Service account credentials",
2207
+ "value": "serviceAccountCredentials"
2208
+ },
2209
+ {
2210
+ "name": "Application default credentials (Hybrid/Self-Managed only)",
2211
+ "value": "applicationDefaultCredentials"
2212
+ }
2213
+ ]
2214
+ },
2215
+ {
2216
+ "id": "provider.googleVertexAi.authentication.jsonKey",
2217
+ "label": "JSON key of the service account",
2218
+ "description": "This is the key of the service account in JSON format.",
2219
+ "optional": false,
2220
+ "constraints": {
2221
+ "notEmpty": true
2222
+ },
2223
+ "feel": "optional",
2224
+ "group": "provider",
2225
+ "binding": {
2226
+ "name": "provider.googleVertexAi.authentication.jsonKey",
2227
+ "type": "zeebe:input"
2228
+ },
2229
+ "condition": {
2230
+ "allMatch": [
2231
+ {
2232
+ "property": "provider.googleVertexAi.authentication.type",
2233
+ "equals": "serviceAccountCredentials",
2234
+ "type": "simple"
2235
+ },
2236
+ {
2237
+ "property": "provider.type",
2238
+ "equals": "google-vertex-ai",
2239
+ "type": "simple"
2240
+ }
2241
+ ]
2242
+ },
2243
+ "type": "String"
2244
+ },
2245
+ {
2246
+ "id": "provider.openai.authentication.apiKey",
2247
+ "label": "OpenAI API key",
2248
+ "optional": false,
2249
+ "constraints": {
2250
+ "notEmpty": true
2251
+ },
2252
+ "feel": "optional",
2253
+ "group": "provider",
2254
+ "binding": {
2255
+ "name": "provider.openai.authentication.apiKey",
2256
+ "type": "zeebe:input"
2257
+ },
2258
+ "condition": {
2259
+ "property": "provider.type",
2260
+ "equals": "openai",
2261
+ "type": "simple"
2262
+ },
2263
+ "type": "String"
2264
+ },
2265
+ {
2266
+ "id": "provider.openai.authentication.organizationId",
2267
+ "label": "Organization ID",
2268
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
2269
+ "optional": true,
2270
+ "feel": "optional",
2271
+ "group": "provider",
2272
+ "binding": {
2273
+ "name": "provider.openai.authentication.organizationId",
2274
+ "type": "zeebe:input"
2275
+ },
2276
+ "condition": {
2277
+ "property": "provider.type",
2278
+ "equals": "openai",
2279
+ "type": "simple"
2280
+ },
2281
+ "type": "String"
2282
+ },
2283
+ {
2284
+ "id": "provider.openai.authentication.projectId",
2285
+ "label": "Project ID",
2286
+ "description": "For accounts with multiple projects. Details in the <a href=\"https://platform.openai.com/docs/api-reference/authentication\" target=\"_blank\">documentation</a>.",
2287
+ "optional": true,
2288
+ "feel": "optional",
2289
+ "group": "provider",
2290
+ "binding": {
2291
+ "name": "provider.openai.authentication.projectId",
2292
+ "type": "zeebe:input"
2293
+ },
2294
+ "condition": {
2295
+ "property": "provider.type",
2296
+ "equals": "openai",
2297
+ "type": "simple"
2298
+ },
2299
+ "type": "String"
2300
+ },
2301
+ {
2302
+ "id": "provider.openaiCompatible.endpoint",
2303
+ "label": "API endpoint",
2304
+ "optional": false,
2305
+ "constraints": {
2306
+ "notEmpty": true
2307
+ },
2308
+ "feel": "optional",
2309
+ "group": "provider",
2310
+ "binding": {
2311
+ "name": "provider.openaiCompatible.endpoint",
2312
+ "type": "zeebe:input"
2313
+ },
2314
+ "condition": {
2315
+ "property": "provider.type",
2316
+ "equals": "openaiCompatible",
2317
+ "type": "simple"
2318
+ },
2319
+ "tooltip": "Specify an endpoint to use the connector with an OpenAI compatible API. ",
2320
+ "type": "String"
2321
+ },
2322
+ {
2323
+ "id": "provider.openaiCompatible.authentication.apiKey",
2324
+ "label": "API key",
2325
+ "optional": true,
2326
+ "feel": "optional",
2327
+ "group": "provider",
2328
+ "binding": {
2329
+ "name": "provider.openaiCompatible.authentication.apiKey",
2330
+ "type": "zeebe:input"
2331
+ },
2332
+ "condition": {
2333
+ "property": "provider.type",
2334
+ "equals": "openaiCompatible",
2335
+ "type": "simple"
2336
+ },
2337
+ "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.",
2338
+ "type": "String"
2339
+ },
2340
+ {
2341
+ "id": "provider.openaiCompatible.headers",
2342
+ "label": "Headers",
2343
+ "description": "Map of HTTP headers to add to the request.",
2344
+ "optional": true,
2345
+ "feel": "required",
2346
+ "group": "provider",
2347
+ "binding": {
2348
+ "name": "provider.openaiCompatible.headers",
2349
+ "type": "zeebe:input"
2350
+ },
2351
+ "condition": {
2352
+ "property": "provider.type",
2353
+ "equals": "openaiCompatible",
2354
+ "type": "simple"
2355
+ },
2356
+ "type": "String"
2357
+ },
2358
+ {
2359
+ "id": "provider.anthropic.model.model",
2360
+ "label": "Model",
2361
+ "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>.",
2362
+ "optional": false,
2363
+ "value": "claude-3-5-sonnet-20240620",
2364
+ "constraints": {
2365
+ "notEmpty": true
2366
+ },
2367
+ "feel": "optional",
2368
+ "group": "model",
2369
+ "binding": {
2370
+ "name": "provider.anthropic.model.model",
2371
+ "type": "zeebe:input"
2372
+ },
2373
+ "condition": {
2374
+ "property": "provider.type",
2375
+ "equals": "anthropic",
2376
+ "type": "simple"
2377
+ },
2378
+ "type": "String"
2379
+ },
2380
+ {
2381
+ "id": "provider.anthropic.model.parameters.maxTokens",
2382
+ "label": "Maximum tokens",
2383
+ "optional": true,
2384
+ "feel": "required",
2385
+ "group": "model",
2386
+ "binding": {
2387
+ "name": "provider.anthropic.model.parameters.maxTokens",
2388
+ "type": "zeebe:input"
2389
+ },
2390
+ "condition": {
2391
+ "property": "provider.type",
2392
+ "equals": "anthropic",
2393
+ "type": "simple"
2394
+ },
2395
+ "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>.",
2396
+ "type": "Number"
2397
+ },
2398
+ {
2399
+ "id": "provider.anthropic.model.parameters.temperature",
2400
+ "label": "Temperature",
2401
+ "optional": true,
2402
+ "feel": "required",
2403
+ "group": "model",
2404
+ "binding": {
2405
+ "name": "provider.anthropic.model.parameters.temperature",
2406
+ "type": "zeebe:input"
2407
+ },
2408
+ "condition": {
2409
+ "property": "provider.type",
2410
+ "equals": "anthropic",
2411
+ "type": "simple"
2412
+ },
2413
+ "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>.",
2414
+ "type": "Number"
2415
+ },
2416
+ {
2417
+ "id": "provider.anthropic.model.parameters.topP",
2418
+ "label": "top P",
2419
+ "optional": true,
2420
+ "feel": "required",
2421
+ "group": "model",
2422
+ "binding": {
2423
+ "name": "provider.anthropic.model.parameters.topP",
2424
+ "type": "zeebe:input"
2425
+ },
2426
+ "condition": {
2427
+ "property": "provider.type",
2428
+ "equals": "anthropic",
2429
+ "type": "simple"
2430
+ },
2431
+ "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>.",
2432
+ "type": "Number"
2433
+ },
2434
+ {
2435
+ "id": "provider.anthropic.model.parameters.topK",
2436
+ "label": "top K",
2437
+ "optional": true,
2438
+ "feel": "required",
2439
+ "group": "model",
2440
+ "binding": {
2441
+ "name": "provider.anthropic.model.parameters.topK",
2442
+ "type": "zeebe:input"
2443
+ },
2444
+ "condition": {
2445
+ "property": "provider.type",
2446
+ "equals": "anthropic",
2447
+ "type": "simple"
2448
+ },
2449
+ "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>.",
2450
+ "type": "Number"
2451
+ },
2452
+ {
2453
+ "id": "provider.bedrock.model.model",
2454
+ "label": "Model",
2455
+ "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>.",
2456
+ "optional": false,
2457
+ "value": "anthropic.claude-3-5-sonnet-20240620-v1:0",
2458
+ "constraints": {
2459
+ "notEmpty": true
2460
+ },
2461
+ "feel": "optional",
2462
+ "group": "model",
2463
+ "binding": {
2464
+ "name": "provider.bedrock.model.model",
2465
+ "type": "zeebe:input"
2466
+ },
2467
+ "condition": {
2468
+ "property": "provider.type",
2469
+ "equals": "bedrock",
2470
+ "type": "simple"
2471
+ },
2472
+ "type": "String"
2473
+ },
2474
+ {
2475
+ "id": "provider.bedrock.model.parameters.maxTokens",
2476
+ "label": "Maximum tokens",
2477
+ "optional": true,
2478
+ "feel": "required",
2479
+ "group": "model",
2480
+ "binding": {
2481
+ "name": "provider.bedrock.model.parameters.maxTokens",
2482
+ "type": "zeebe:input"
2483
+ },
2484
+ "condition": {
2485
+ "property": "provider.type",
2486
+ "equals": "bedrock",
2487
+ "type": "simple"
2488
+ },
2489
+ "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>.",
2490
+ "type": "Number"
2491
+ },
2492
+ {
2493
+ "id": "provider.bedrock.model.parameters.temperature",
2494
+ "label": "Temperature",
2495
+ "optional": true,
2496
+ "feel": "required",
2497
+ "group": "model",
2498
+ "binding": {
2499
+ "name": "provider.bedrock.model.parameters.temperature",
2500
+ "type": "zeebe:input"
2501
+ },
2502
+ "condition": {
2503
+ "property": "provider.type",
2504
+ "equals": "bedrock",
2505
+ "type": "simple"
2506
+ },
2507
+ "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>.",
2508
+ "type": "Number"
2509
+ },
2510
+ {
2511
+ "id": "provider.bedrock.model.parameters.topP",
2512
+ "label": "top P",
2513
+ "optional": true,
2514
+ "feel": "required",
2515
+ "group": "model",
2516
+ "binding": {
2517
+ "name": "provider.bedrock.model.parameters.topP",
2518
+ "type": "zeebe:input"
2519
+ },
2520
+ "condition": {
2521
+ "property": "provider.type",
2522
+ "equals": "bedrock",
2523
+ "type": "simple"
2524
+ },
2525
+ "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>.",
2526
+ "type": "Number"
2527
+ },
2528
+ {
2529
+ "id": "provider.azureOpenAi.model.deploymentName",
2530
+ "label": "Model deployment name",
2531
+ "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>.",
2532
+ "optional": false,
2533
+ "constraints": {
2534
+ "notEmpty": true
2535
+ },
2536
+ "feel": "optional",
2537
+ "group": "model",
2538
+ "binding": {
2539
+ "name": "provider.azureOpenAi.model.deploymentName",
2540
+ "type": "zeebe:input"
2541
+ },
2542
+ "condition": {
2543
+ "property": "provider.type",
2544
+ "equals": "azureOpenAi",
2545
+ "type": "simple"
2546
+ },
2547
+ "type": "String"
2548
+ },
2549
+ {
2550
+ "id": "provider.azureOpenAi.model.parameters.maxTokens",
2551
+ "label": "Maximum tokens",
2552
+ "optional": true,
2553
+ "feel": "required",
2554
+ "group": "model",
2555
+ "binding": {
2556
+ "name": "provider.azureOpenAi.model.parameters.maxTokens",
2557
+ "type": "zeebe:input"
2558
+ },
2559
+ "condition": {
2560
+ "property": "provider.type",
2561
+ "equals": "azureOpenAi",
2562
+ "type": "simple"
2563
+ },
2564
+ "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>.",
2565
+ "type": "Number"
2566
+ },
2567
+ {
2568
+ "id": "provider.azureOpenAi.model.parameters.temperature",
2569
+ "label": "Temperature",
2570
+ "optional": true,
2571
+ "feel": "required",
2572
+ "group": "model",
2573
+ "binding": {
2574
+ "name": "provider.azureOpenAi.model.parameters.temperature",
2575
+ "type": "zeebe:input"
2576
+ },
2577
+ "condition": {
2578
+ "property": "provider.type",
2579
+ "equals": "azureOpenAi",
2580
+ "type": "simple"
2581
+ },
2582
+ "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>.",
2583
+ "type": "Number"
2584
+ },
2585
+ {
2586
+ "id": "provider.azureOpenAi.model.parameters.topP",
2587
+ "label": "top P",
2588
+ "optional": true,
2589
+ "feel": "required",
2590
+ "group": "model",
2591
+ "binding": {
2592
+ "name": "provider.azureOpenAi.model.parameters.topP",
2593
+ "type": "zeebe:input"
2594
+ },
2595
+ "condition": {
2596
+ "property": "provider.type",
2597
+ "equals": "azureOpenAi",
2598
+ "type": "simple"
2599
+ },
2600
+ "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>.",
2601
+ "type": "Number"
2602
+ },
2603
+ {
2604
+ "id": "provider.googleVertexAi.model.model",
2605
+ "label": "Model",
2606
+ "description": "Specify the model ID. Details in the <a href=\"https://cloud.google.com/vertex-ai/docs/generative-ai/models\" target=\"_blank\">documentation</a>.",
2607
+ "optional": false,
2608
+ "constraints": {
2609
+ "notEmpty": true
2610
+ },
2611
+ "feel": "optional",
2612
+ "group": "model",
2613
+ "binding": {
2614
+ "name": "provider.googleVertexAi.model.model",
2615
+ "type": "zeebe:input"
2616
+ },
2617
+ "condition": {
2618
+ "property": "provider.type",
2619
+ "equals": "google-vertex-ai",
2620
+ "type": "simple"
2621
+ },
2622
+ "type": "String"
2623
+ },
2624
+ {
2625
+ "id": "provider.googleVertexAi.model.parameters.maxOutputTokens",
2626
+ "label": "Maximum output tokens",
2627
+ "optional": true,
2628
+ "feel": "required",
2629
+ "group": "model",
2630
+ "binding": {
2631
+ "name": "provider.googleVertexAi.model.parameters.maxOutputTokens",
2632
+ "type": "zeebe:input"
2633
+ },
2634
+ "condition": {
2635
+ "property": "provider.type",
2636
+ "equals": "google-vertex-ai",
2637
+ "type": "simple"
2638
+ },
2639
+ "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>.",
2640
+ "type": "Number"
2641
+ },
2642
+ {
2643
+ "id": "provider.googleVertexAi.model.parameters.temperature",
2644
+ "label": "Temperature",
2645
+ "optional": true,
2646
+ "feel": "required",
2647
+ "group": "model",
2648
+ "binding": {
2649
+ "name": "provider.googleVertexAi.model.parameters.temperature",
2650
+ "type": "zeebe:input"
2651
+ },
2652
+ "condition": {
2653
+ "property": "provider.type",
2654
+ "equals": "google-vertex-ai",
2655
+ "type": "simple"
2656
+ },
2657
+ "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>.",
2658
+ "type": "Number"
2659
+ },
2660
+ {
2661
+ "id": "provider.googleVertexAi.model.parameters.topP",
2662
+ "label": "top P",
2663
+ "optional": true,
2664
+ "feel": "required",
2665
+ "group": "model",
2666
+ "binding": {
2667
+ "name": "provider.googleVertexAi.model.parameters.topP",
2668
+ "type": "zeebe:input"
2669
+ },
2670
+ "condition": {
2671
+ "property": "provider.type",
2672
+ "equals": "google-vertex-ai",
2673
+ "type": "simple"
2674
+ },
2675
+ "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>.",
2676
+ "type": "Number"
2677
+ },
2678
+ {
2679
+ "id": "provider.googleVertexAi.model.parameters.topK",
2680
+ "label": "top K",
2681
+ "optional": true,
2682
+ "feel": "required",
2683
+ "group": "model",
2684
+ "binding": {
2685
+ "name": "provider.googleVertexAi.model.parameters.topK",
2686
+ "type": "zeebe:input"
2687
+ },
2688
+ "condition": {
2689
+ "property": "provider.type",
2690
+ "equals": "google-vertex-ai",
2691
+ "type": "simple"
2692
+ },
2693
+ "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>.",
2694
+ "type": "Number"
2695
+ },
2696
+ {
2697
+ "id": "provider.openai.model.model",
2698
+ "label": "Model",
2699
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
2700
+ "optional": false,
2701
+ "value": "gpt-4o",
2702
+ "constraints": {
2703
+ "notEmpty": true
2704
+ },
2705
+ "feel": "optional",
2706
+ "group": "model",
2707
+ "binding": {
2708
+ "name": "provider.openai.model.model",
2709
+ "type": "zeebe:input"
2710
+ },
2711
+ "condition": {
2712
+ "property": "provider.type",
2713
+ "equals": "openai",
2714
+ "type": "simple"
2715
+ },
2716
+ "type": "String"
2717
+ },
2718
+ {
2719
+ "id": "provider.openai.model.parameters.maxCompletionTokens",
2720
+ "label": "Maximum completion tokens",
2721
+ "optional": true,
2722
+ "feel": "required",
2723
+ "group": "model",
2724
+ "binding": {
2725
+ "name": "provider.openai.model.parameters.maxCompletionTokens",
2726
+ "type": "zeebe:input"
2727
+ },
2728
+ "condition": {
2729
+ "property": "provider.type",
2730
+ "equals": "openai",
2731
+ "type": "simple"
2732
+ },
2733
+ "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>.",
2734
+ "type": "Number"
2735
+ },
2736
+ {
2737
+ "id": "provider.openai.model.parameters.temperature",
2738
+ "label": "Temperature",
2739
+ "optional": true,
2740
+ "feel": "required",
2741
+ "group": "model",
2742
+ "binding": {
2743
+ "name": "provider.openai.model.parameters.temperature",
2744
+ "type": "zeebe:input"
2745
+ },
2746
+ "condition": {
2747
+ "property": "provider.type",
2748
+ "equals": "openai",
2749
+ "type": "simple"
2750
+ },
2751
+ "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>.",
2752
+ "type": "Number"
2753
+ },
2754
+ {
2755
+ "id": "provider.openai.model.parameters.topP",
2756
+ "label": "top P",
2757
+ "optional": true,
2758
+ "feel": "required",
2759
+ "group": "model",
2760
+ "binding": {
2761
+ "name": "provider.openai.model.parameters.topP",
2762
+ "type": "zeebe:input"
2763
+ },
2764
+ "condition": {
2765
+ "property": "provider.type",
2766
+ "equals": "openai",
2767
+ "type": "simple"
2768
+ },
2769
+ "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>.",
2770
+ "type": "Number"
2771
+ },
2772
+ {
2773
+ "id": "provider.openaiCompatible.model.model",
2774
+ "label": "Model",
2775
+ "description": "Specify the model ID. Details in the <a href=\"https://platform.openai.com/docs/models\" target=\"_blank\">documentation</a>.",
2776
+ "optional": false,
2777
+ "value": "gpt-4o",
2778
+ "constraints": {
2779
+ "notEmpty": true
2780
+ },
2781
+ "feel": "optional",
2782
+ "group": "model",
2783
+ "binding": {
2784
+ "name": "provider.openaiCompatible.model.model",
2785
+ "type": "zeebe:input"
2786
+ },
2787
+ "condition": {
2788
+ "property": "provider.type",
2789
+ "equals": "openaiCompatible",
2790
+ "type": "simple"
2791
+ },
2792
+ "type": "String"
2793
+ },
2794
+ {
2795
+ "id": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
2796
+ "label": "Maximum completion tokens",
2797
+ "optional": true,
2798
+ "feel": "required",
2799
+ "group": "model",
2800
+ "binding": {
2801
+ "name": "provider.openaiCompatible.model.parameters.maxCompletionTokens",
2802
+ "type": "zeebe:input"
2803
+ },
2804
+ "condition": {
2805
+ "property": "provider.type",
2806
+ "equals": "openaiCompatible",
2807
+ "type": "simple"
2808
+ },
2809
+ "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>.",
2810
+ "type": "Number"
2811
+ },
2812
+ {
2813
+ "id": "provider.openaiCompatible.model.parameters.temperature",
2814
+ "label": "Temperature",
2815
+ "optional": true,
2816
+ "feel": "required",
2817
+ "group": "model",
2818
+ "binding": {
2819
+ "name": "provider.openaiCompatible.model.parameters.temperature",
2820
+ "type": "zeebe:input"
2821
+ },
2822
+ "condition": {
2823
+ "property": "provider.type",
2824
+ "equals": "openaiCompatible",
2825
+ "type": "simple"
2826
+ },
2827
+ "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>.",
2828
+ "type": "Number"
2829
+ },
2830
+ {
2831
+ "id": "provider.openaiCompatible.model.parameters.topP",
2832
+ "label": "top P",
2833
+ "optional": true,
2834
+ "feel": "required",
2835
+ "group": "model",
2836
+ "binding": {
2837
+ "name": "provider.openaiCompatible.model.parameters.topP",
2838
+ "type": "zeebe:input"
2839
+ },
2840
+ "condition": {
2841
+ "property": "provider.type",
2842
+ "equals": "openaiCompatible",
2843
+ "type": "simple"
2844
+ },
2845
+ "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>.",
2846
+ "type": "Number"
2847
+ },
2848
+ {
2849
+ "id": "provider.openaiCompatible.model.parameters.customParameters",
2850
+ "label": "Custom parameters",
2851
+ "description": "Map of additional request parameters to include.",
2852
+ "optional": true,
2853
+ "feel": "required",
2854
+ "group": "model",
2855
+ "binding": {
2856
+ "name": "provider.openaiCompatible.model.parameters.customParameters",
2857
+ "type": "zeebe:input"
2858
+ },
2859
+ "condition": {
2860
+ "property": "provider.type",
2861
+ "equals": "openaiCompatible",
2862
+ "type": "simple"
2863
+ },
2864
+ "type": "String"
2865
+ },
2866
+ {
2867
+ "id": "data.systemPrompt.prompt",
2868
+ "label": "System prompt",
2869
+ "optional": false,
2870
+ "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.\"",
2871
+ "constraints": {
2872
+ "notEmpty": true
2873
+ },
2874
+ "feel": "required",
2875
+ "group": "systemPrompt",
2876
+ "binding": {
2877
+ "name": "data.systemPrompt.prompt",
2878
+ "type": "zeebe:input"
2879
+ },
2880
+ "type": "Text"
2881
+ },
2882
+ {
2883
+ "id": "data.userPrompt.prompt",
2884
+ "label": "User prompt",
2885
+ "optional": false,
2886
+ "constraints": {
2887
+ "notEmpty": true
2888
+ },
2889
+ "feel": "required",
2890
+ "group": "userPrompt",
2891
+ "binding": {
2892
+ "name": "data.userPrompt.prompt",
2893
+ "type": "zeebe:input"
2894
+ },
2895
+ "type": "Text"
2896
+ },
2897
+ {
2898
+ "id": "data.userPrompt.documents",
2899
+ "label": "Documents",
2900
+ "description": "Documents to be included in the user prompt.",
2901
+ "optional": true,
2902
+ "feel": "required",
2903
+ "group": "userPrompt",
2904
+ "binding": {
2905
+ "name": "data.userPrompt.documents",
2906
+ "type": "zeebe:input"
2907
+ },
2908
+ "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-process/\" target=\"_blank\">See documentation</a> for details and supported file types.",
2909
+ "type": "String"
2910
+ },
2911
+ {
2912
+ "id": "agentContext",
2913
+ "label": "Agent context",
2914
+ "description": "Initial agent context from previous interactions. Avoid reusing context variables across agents to prevent issues with stale data or tool access.",
2915
+ "optional": false,
2916
+ "feel": "required",
2917
+ "group": "memory",
2918
+ "binding": {
2919
+ "name": "agentContext",
2920
+ "type": "zeebe:input"
2921
+ },
2922
+ "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-process/\" target=\"_blank\">See documentation</a> for details.",
2923
+ "type": "Text"
2924
+ },
2925
+ {
2926
+ "id": "data.memory.storage.type",
2927
+ "label": "Memory storage type",
2928
+ "description": "Specify how to store the conversation memory.",
2929
+ "value": "in-process",
2930
+ "group": "memory",
2931
+ "binding": {
2932
+ "name": "data.memory.storage.type",
2933
+ "type": "zeebe:input"
2934
+ },
2935
+ "type": "Dropdown",
2936
+ "choices": [
2937
+ {
2938
+ "name": "In Process (part of agent context)",
2939
+ "value": "in-process"
2940
+ },
2941
+ {
2942
+ "name": "Camunda Document Storage",
2943
+ "value": "camunda-document"
2944
+ },
2945
+ {
2946
+ "name": "Custom Implementation (Hybrid/Self-Managed only)",
2947
+ "value": "custom"
2948
+ }
2949
+ ]
2950
+ },
2951
+ {
2952
+ "id": "data.memory.storage.timeToLive",
2953
+ "label": "Document TTL",
2954
+ "description": "How long to retain the conversation document as ISO-8601 duration (example: <code>P14D</code>).",
2955
+ "optional": true,
2956
+ "feel": "optional",
2957
+ "group": "memory",
2958
+ "binding": {
2959
+ "name": "data.memory.storage.timeToLive",
2960
+ "type": "zeebe:input"
2961
+ },
2962
+ "condition": {
2963
+ "property": "data.memory.storage.type",
2964
+ "equals": "camunda-document",
2965
+ "type": "simple"
2966
+ },
2967
+ "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.",
2968
+ "type": "String"
2969
+ },
2970
+ {
2971
+ "id": "data.memory.storage.customProperties",
2972
+ "label": "Custom document properties",
2973
+ "description": "An optional map of custom properties to be stored with the conversation document.",
2974
+ "optional": true,
2975
+ "feel": "required",
2976
+ "group": "memory",
2977
+ "binding": {
2978
+ "name": "data.memory.storage.customProperties",
2979
+ "type": "zeebe:input"
2980
+ },
2981
+ "condition": {
2982
+ "property": "data.memory.storage.type",
2983
+ "equals": "camunda-document",
2984
+ "type": "simple"
2985
+ },
2986
+ "type": "String"
2987
+ },
2988
+ {
2989
+ "id": "data.memory.storage.storeType",
2990
+ "label": "Implementation type",
2991
+ "optional": false,
2992
+ "constraints": {
2993
+ "notEmpty": true
2994
+ },
2995
+ "feel": "optional",
2996
+ "group": "memory",
2997
+ "binding": {
2998
+ "name": "data.memory.storage.storeType",
2999
+ "type": "zeebe:input"
3000
+ },
3001
+ "condition": {
3002
+ "property": "data.memory.storage.type",
3003
+ "equals": "custom",
3004
+ "type": "simple"
3005
+ },
3006
+ "type": "String"
3007
+ },
3008
+ {
3009
+ "id": "data.memory.storage.parameters",
3010
+ "label": "Parameters",
3011
+ "description": "Parameters for the custom memory storage implementation.",
3012
+ "optional": true,
3013
+ "feel": "required",
3014
+ "group": "memory",
3015
+ "binding": {
3016
+ "name": "data.memory.storage.parameters",
3017
+ "type": "zeebe:input"
3018
+ },
3019
+ "condition": {
3020
+ "property": "data.memory.storage.type",
3021
+ "equals": "custom",
3022
+ "type": "simple"
3023
+ },
3024
+ "type": "String"
3025
+ },
3026
+ {
3027
+ "id": "data.memory.contextWindowSize",
3028
+ "label": "Context window size",
3029
+ "description": "Maximum number of recent conversation messages which are passed to the model.",
3030
+ "optional": false,
3031
+ "value": 20,
3032
+ "feel": "static",
3033
+ "group": "memory",
3034
+ "binding": {
3035
+ "name": "data.memory.contextWindowSize",
3036
+ "type": "zeebe:input"
3037
+ },
3038
+ "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-process/\" target=\"_blank\">See documentation</a> for details.",
3039
+ "type": "Number"
3040
+ },
3041
+ {
3042
+ "id": "data.limits.maxModelCalls",
3043
+ "label": "Maximum model calls",
3044
+ "description": "Maximum number of calls to the model as a safety limit to prevent infinite loops.",
3045
+ "optional": false,
3046
+ "value": 10,
3047
+ "feel": "static",
3048
+ "group": "limits",
3049
+ "binding": {
3050
+ "name": "data.limits.maxModelCalls",
3051
+ "type": "zeebe:input"
3052
+ },
3053
+ "type": "Number"
3054
+ },
3055
+ {
3056
+ "id": "data.events.behavior",
3057
+ "label": "Event handling behavior",
3058
+ "description": "Behavior in combination with an event sub-process.",
3059
+ "optional": false,
3060
+ "value": "WAIT_FOR_TOOL_CALL_RESULTS",
3061
+ "constraints": {
3062
+ "notEmpty": true
3063
+ },
3064
+ "group": "events",
3065
+ "binding": {
3066
+ "name": "data.events.behavior",
3067
+ "type": "zeebe:input"
3068
+ },
3069
+ "type": "Dropdown",
3070
+ "choices": [
3071
+ {
3072
+ "name": "Wait for tool call results",
3073
+ "value": "WAIT_FOR_TOOL_CALL_RESULTS"
3074
+ },
3075
+ {
3076
+ "name": "Interrupt tool calls",
3077
+ "value": "INTERRUPT_TOOL_CALLS"
3078
+ }
3079
+ ]
3080
+ },
3081
+ {
3082
+ "id": "data.response.format.type",
3083
+ "label": "Response format",
3084
+ "description": "Specify the response format. Support for JSON mode varies by provider.",
3085
+ "value": "text",
3086
+ "group": "response",
3087
+ "binding": {
3088
+ "name": "data.response.format.type",
3089
+ "type": "zeebe:input"
3090
+ },
3091
+ "type": "Dropdown",
3092
+ "choices": [
3093
+ {
3094
+ "name": "Text",
3095
+ "value": "text"
3096
+ },
3097
+ {
3098
+ "name": "JSON",
3099
+ "value": "json"
3100
+ }
3101
+ ]
3102
+ },
3103
+ {
3104
+ "id": "data.response.format.parseJson",
3105
+ "label": "Parse text as JSON",
3106
+ "description": "Tries to parse the LLM response text as JSON object.",
3107
+ "optional": true,
3108
+ "feel": "static",
3109
+ "group": "response",
3110
+ "binding": {
3111
+ "name": "data.response.format.parseJson",
3112
+ "type": "zeebe:input"
3113
+ },
3114
+ "condition": {
3115
+ "property": "data.response.format.type",
3116
+ "equals": "text",
3117
+ "type": "simple"
3118
+ },
3119
+ "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>.",
3120
+ "type": "Boolean"
3121
+ },
3122
+ {
3123
+ "id": "data.response.format.schema",
3124
+ "label": "Response JSON schema",
3125
+ "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.",
3126
+ "optional": true,
3127
+ "feel": "required",
3128
+ "group": "response",
3129
+ "binding": {
3130
+ "name": "data.response.format.schema",
3131
+ "type": "zeebe:input"
3132
+ },
3133
+ "condition": {
3134
+ "property": "data.response.format.type",
3135
+ "equals": "json",
3136
+ "type": "simple"
3137
+ },
3138
+ "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>.",
3139
+ "type": "String"
3140
+ },
3141
+ {
3142
+ "id": "data.response.format.schemaName",
3143
+ "label": "Response JSON schema name",
3144
+ "description": "An optional name for the response JSON Schema to make the model aware of the expected output.",
3145
+ "optional": true,
3146
+ "value": "Response",
3147
+ "feel": "optional",
3148
+ "group": "response",
3149
+ "binding": {
3150
+ "name": "data.response.format.schemaName",
3151
+ "type": "zeebe:input"
3152
+ },
3153
+ "condition": {
3154
+ "property": "data.response.format.type",
3155
+ "equals": "json",
3156
+ "type": "simple"
3157
+ },
3158
+ "type": "String"
3159
+ },
3160
+ {
3161
+ "id": "data.response.includeAssistantMessage",
3162
+ "label": "Include assistant message",
3163
+ "description": "Include the full assistant message as part of the result object.",
3164
+ "optional": true,
3165
+ "feel": "static",
3166
+ "group": "response",
3167
+ "binding": {
3168
+ "name": "data.response.includeAssistantMessage",
3169
+ "type": "zeebe:input"
3170
+ },
3171
+ "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>.",
3172
+ "type": "Boolean"
3173
+ },
3174
+ {
3175
+ "id": "data.response.includeAgentContext",
3176
+ "label": "Include agent context",
3177
+ "description": "Include the agent context as part of the result object.",
3178
+ "optional": true,
3179
+ "feel": "static",
3180
+ "group": "response",
3181
+ "binding": {
3182
+ "name": "data.response.includeAgentContext",
3183
+ "type": "zeebe:input"
3184
+ },
3185
+ "tooltip": "Use this option if you need to re-inject the previous agent context into a future agent execution, for example when modeling a user feedback loop between an agent and a user task.",
3186
+ "type": "Boolean"
3187
+ },
3188
+ {
3189
+ "id": "version",
3190
+ "label": "Version",
3191
+ "description": "Version of the element template",
3192
+ "value": "4",
3193
+ "group": "connector",
3194
+ "binding": {
3195
+ "key": "elementTemplateVersion",
3196
+ "type": "zeebe:taskHeader"
3197
+ },
3198
+ "type": "Hidden"
3199
+ },
3200
+ {
3201
+ "id": "id",
3202
+ "label": "ID",
3203
+ "description": "ID of the element template",
3204
+ "value": "io.camunda.connectors.agenticai.aiagent.jobworker.v1",
3205
+ "group": "connector",
3206
+ "binding": {
3207
+ "key": "elementTemplateId",
3208
+ "type": "zeebe:taskHeader"
3209
+ },
3210
+ "type": "Hidden"
3211
+ },
3212
+ {
3213
+ "id": "resultVariable",
3214
+ "label": "Result variable",
3215
+ "description": "Name of variable to store the response in",
3216
+ "value": "agent",
3217
+ "group": "output",
3218
+ "binding": {
3219
+ "source": "=agent",
3220
+ "type": "zeebe:output"
3221
+ },
3222
+ "type": "String"
3223
+ },
3224
+ {
3225
+ "id": "errorExpression",
3226
+ "label": "Error expression",
3227
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
3228
+ "feel": "required",
3229
+ "group": "error",
3230
+ "binding": {
3231
+ "key": "errorExpression",
3232
+ "type": "zeebe:taskHeader"
3233
+ },
3234
+ "type": "Text"
3235
+ },
3236
+ {
3237
+ "id": "retryCount",
3238
+ "label": "Retries",
3239
+ "description": "Number of retries",
3240
+ "value": "3",
3241
+ "feel": "optional",
3242
+ "group": "retries",
3243
+ "binding": {
3244
+ "property": "retries",
3245
+ "type": "zeebe:taskDefinition"
3246
+ },
3247
+ "type": "String"
3248
+ },
3249
+ {
3250
+ "id": "retryBackoff",
3251
+ "label": "Retry backoff",
3252
+ "description": "ISO-8601 duration to wait between retries",
3253
+ "value": "PT0S",
3254
+ "group": "retries",
3255
+ "binding": {
3256
+ "key": "retryBackoff",
3257
+ "type": "zeebe:taskHeader"
3258
+ },
3259
+ "type": "String"
3260
+ }
3261
+ ],
3262
+ "icon": {
3263
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K"
3264
+ }
3265
+ }
3266
+ ]