@camunda/connectors-element-templates 1.0.20 → 1.0.21

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 (115) hide show
  1. package/package.json +2 -2
  2. package/src/connectors-template.js +1 -3
  3. package/src/connectors.js +4 -0
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +40 -40
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +2483 -475
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +5352 -3427
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +717 -35
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2254 -809
  9. package/src/element-templates/app-integrations-connector.json +1047 -0
  10. package/src/element-templates/asana-connector.json +1050 -216
  11. package/src/element-templates/automation-anywhere-outbound-connector.json +2046 -1553
  12. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1067 -29
  13. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +385 -4
  14. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +441 -4
  15. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +416 -4
  16. package/src/element-templates/aws-bedrock-outbound-connector.json +2274 -624
  17. package/src/element-templates/aws-comprehend-outbound-connector.json +1572 -0
  18. package/src/element-templates/aws-dynamodb-outbound-connector.json +2385 -949
  19. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  20. package/src/element-templates/aws-eventbridge-connector-intermediate.json +62 -62
  21. package/src/element-templates/aws-eventbridge-connector-start-event.json +20 -20
  22. package/src/element-templates/aws-eventbridge-outbound-connector.json +680 -266
  23. package/src/element-templates/aws-lambda-outbound-connector.json +462 -63
  24. package/src/element-templates/aws-s3-outbound-connector.json +1850 -329
  25. package/src/element-templates/aws-sagemaker-outbound-connector.json +680 -51
  26. package/src/element-templates/aws-sns-inbound-boundary.json +207 -206
  27. package/src/element-templates/aws-sns-inbound-intermediate.json +410 -409
  28. package/src/element-templates/aws-sns-inbound-message-start.json +4 -3
  29. package/src/element-templates/aws-sns-inbound-receive.json +4 -3
  30. package/src/element-templates/aws-sns-inbound-start-event.json +138 -138
  31. package/src/element-templates/aws-sns-outbound-connector.json +643 -186
  32. package/src/element-templates/aws-sqs-boundary-connector.json +1059 -540
  33. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +1046 -527
  34. package/src/element-templates/aws-sqs-outbound-connector.json +596 -143
  35. package/src/element-templates/aws-sqs-receive-connector.json +525 -7
  36. package/src/element-templates/aws-sqs-start-event-connector.json +401 -401
  37. package/src/element-templates/aws-sqs-start-message.json +736 -185
  38. package/src/element-templates/aws-textract-outbound-connector.json +925 -190
  39. package/src/element-templates/azure-blobstorage-outbound-connector.json +1648 -225
  40. package/src/element-templates/azure-open-ai-connector.json +1372 -9
  41. package/src/element-templates/blue-prism-connector.json +655 -76
  42. package/src/element-templates/box-outbound-connector.json +2331 -247
  43. package/src/element-templates/csv-outbound-connector.json +44 -44
  44. package/src/element-templates/easy-post-connector.json +1178 -97
  45. package/src/element-templates/email-outbound-connector.json +3087 -1013
  46. package/src/element-templates/embeddings-vector-database-outbound-connector.json +2160 -0
  47. package/src/element-templates/github-connector.json +14049 -9863
  48. package/src/element-templates/github-webhook-connector-boundary.json +24 -24
  49. package/src/element-templates/github-webhook-connector-intermediate.json +33 -33
  50. package/src/element-templates/github-webhook-connector-message-start.json +8 -8
  51. package/src/element-templates/github-webhook-connector-receive.json +8 -8
  52. package/src/element-templates/github-webhook-connector-start-event.json +54 -54
  53. package/src/element-templates/gitlab-connector.json +2110 -208
  54. package/src/element-templates/google-cloud-storage-outbound-connector.json +1448 -241
  55. package/src/element-templates/google-drive-outbound-connector.json +2246 -694
  56. package/src/element-templates/google-gemini-outbound-connector.json +8 -22
  57. package/src/element-templates/google-maps-platform-connector.json +688 -137
  58. package/src/element-templates/google-sheets-outbound-connector.json +3631 -2475
  59. package/src/element-templates/graphql-outbound-connector.json +3346 -789
  60. package/src/element-templates/http-json-connector.json +5295 -2803
  61. package/src/element-templates/http-polling-boundary-catch-event-connector.json +2550 -590
  62. package/src/element-templates/http-polling-connector.json +2886 -926
  63. package/src/element-templates/hubspot-outbound-connector.json +2786 -36
  64. package/src/element-templates/hugging-face-connector.json +44 -43
  65. package/src/element-templates/jdbc-outbound-connector.json +505 -8
  66. package/src/element-templates/kafka-inbound-connector-boundary.json +29 -32
  67. package/src/element-templates/kafka-inbound-connector-intermediate.json +615 -618
  68. package/src/element-templates/kafka-inbound-connector-receive.json +9 -12
  69. package/src/element-templates/kafka-inbound-connector-start-message.json +9 -12
  70. package/src/element-templates/kafka-inbound-connector.json +240 -240
  71. package/src/element-templates/kafka-outbound-connector.json +494 -498
  72. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +7 -10
  73. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +7 -10
  74. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +7 -10
  75. package/src/element-templates/microsoft-office365-mail-connector.json +1095 -39
  76. package/src/element-templates/microsoft-teams-outbound-connector.json +7335 -4894
  77. package/src/element-templates/openai-connector.json +596 -102
  78. package/src/element-templates/operate-connector.json +167 -170
  79. package/src/element-templates/orchestration-connector.json +1843 -0
  80. package/src/element-templates/power-automate-connector.json +64 -64
  81. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +449 -451
  82. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +770 -772
  83. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +576 -578
  84. package/src/element-templates/rabbitmq-inbound-connector-receive.json +5 -7
  85. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +105 -105
  86. package/src/element-templates/rabbitmq-outbound-connector.json +319 -319
  87. package/src/element-templates/rpa-connector.json +6 -6
  88. package/src/element-templates/salesforce-connector.json +690 -56
  89. package/src/element-templates/send-message-connector-intermediate-throw-event.json +300 -0
  90. package/src/element-templates/send-message-connector-message-end-event.json +300 -0
  91. package/src/element-templates/send-message-connector-send-task.json +299 -0
  92. package/src/element-templates/sendgrid-outbound-connector.json +597 -597
  93. package/src/element-templates/servicenow-connector.json +1365 -8
  94. package/src/element-templates/servicenow-flow-starter-connector.json +15 -15
  95. package/src/element-templates/servicenow-incident-connector.json +1076 -30
  96. package/src/element-templates/slack-inbound-boundary.json +374 -374
  97. package/src/element-templates/slack-inbound-intermediate.json +766 -766
  98. package/src/element-templates/slack-inbound-message-start.json +145 -145
  99. package/src/element-templates/slack-inbound-receive.json +2 -2
  100. package/src/element-templates/slack-inbound-start-event.json +211 -211
  101. package/src/element-templates/slack-outbound-connector.json +2154 -1051
  102. package/src/element-templates/soap-outbound-connector.json +114 -118
  103. package/src/element-templates/twilio-connector.json +1181 -368
  104. package/src/element-templates/twilio-webhook-boundary-connector.json +29 -30
  105. package/src/element-templates/twilio-webhook-connector.json +56 -57
  106. package/src/element-templates/twilio-webhook-intermediate-connector.json +33 -34
  107. package/src/element-templates/twilio-webhook-message-start-connector.json +27 -28
  108. package/src/element-templates/twilio-webhook-receive-connector.json +9 -10
  109. package/src/element-templates/uipath-connector.json +681 -63
  110. package/src/element-templates/webhook-connector-boundary.json +1242 -587
  111. package/src/element-templates/webhook-connector-intermediate.json +1339 -684
  112. package/src/element-templates/webhook-connector-receive.json +659 -5
  113. package/src/element-templates/webhook-connector-start-event.json +1736 -1175
  114. package/src/element-templates/webhook-connector-start-message.json +1791 -1104
  115. package/src/element-templates/whatsapp-connector.json +386 -16
@@ -1,9 +1,458 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "OpenAI connector",
4
+ "name": "OpenAI Outbound Connector",
5
+ "id": "io.camunda.connectors.OpenAI.v1",
6
+ "version": 7,
7
+ "engines": {
8
+ "camunda": "^8.3"
9
+ },
10
+ "description": "Interact with ChatGPT or moderation API",
11
+ "keywords": [
12
+ "chat",
13
+ "chat completion",
14
+ "moderation",
15
+ "content moderation",
16
+ "AI",
17
+ "LLM",
18
+ "language model",
19
+ "generate text",
20
+ "GPT",
21
+ "generative AI",
22
+ "prompt",
23
+ "text generation"
24
+ ],
25
+ "icon": {
26
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjYwcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjYwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5PcGVuQUk8L3RpdGxlPgogICAgPGc+CiAgICAgICAgPHBhdGggZD0iTTIzOS4xODM5MTQsMTA2LjIwMjc4MyBDMjQ1LjA1NDMwNCw4OC41MjQyMDk2IDI0My4wMjIyOCw2OS4xNzMzODA1IDIzMy42MDc1OTksNTMuMDk5ODg2NCBDMjE5LjQ1MTY3OCwyOC40NTg4MDIxIDE5MC45OTk3MDMsMTUuNzgzNjEyOSAxNjMuMjEzMDA3LDIxLjczOTUwNSBDMTQ3LjU1NDA3Nyw0LjMyMTQ1ODgzIDEyMy43OTQ5MDksLTMuNDIzOTg1NTQgMTAwLjg3OTAxLDEuNDE4NzM4OTggQzc3Ljk2MzExMDUsNi4yNjE0NjM0OSA1OS4zNjkwMDkzLDIyLjk1NzI1MzYgNTIuMDk1OTYyMSw0NS4yMjE0MjE5IEMzMy44NDM2NDk0LDQ4Ljk2NDQ4NjcgMTguMDkwMTcyMSw2MC4zOTI3NDkgOC44NjY3MjUxMyw3Ni41ODE4MDMzIEMtNS40NDM0OTEsMTAxLjE4Mjk2MiAtMi4xOTU0NDQzMSwxMzIuMjE1MjU1IDE2Ljg5ODY2NjIsMTUzLjMyMDA5NCBDMTEuMDA2MDg2NSwxNzAuOTkwNjU2IDEzLjAxOTcyODMsMTkwLjM0Mzk5MSAyMi40MjM4MjMxLDIwNi40MjI5OTEgQzM2LjU5NzU1NTMsMjMxLjA3MjM0NCA2NS4wNjgwMzQyLDI0My43NDY1NjYgOTIuODY5NTczOCwyMzcuNzgzMzcyIEMxMDUuMjM1NjM5LDI1MS43MDgyNDkgMTIzLjAwMTExMywyNTkuNjMwOTQyIDE0MS42MjM5NjgsMjU5LjUyNjkyIEMxNzAuMTA1MzU5LDI1OS41NTIxNjkgMTk1LjMzNzYxMSwyNDEuMTY1NzE4IDIwNC4wMzc3NzcsMjE0LjA0NTY2MSBDMjIyLjI4NzM0LDIxMC4yOTYzNTYgMjM4LjAzODQ4OSwxOTguODY5NzgzIDI0Ny4yNjcwMTQsMTgyLjY4NTI4IEMyNjEuNDA0NDUzLDE1OC4xMjc1MTUgMjU4LjE0MjQ5NCwxMjcuMjYyNzc1IDIzOS4xODM5MTQsMTA2LjIwMjc4MyBMMjM5LjE4MzkxNCwxMDYuMjAyNzgzIFogTTE0MS42MjM5NjgsMjQyLjU0MTIwNyBDMTMwLjI1NTY4MiwyNDIuNTU5MTc3IDExOS4yNDM4NzYsMjM4LjU3NDY0MiAxMTAuNTE5MzgxLDIzMS4yODYxOTcgTDExMi4wNTQxNDYsMjMwLjQxNjQ5NiBMMTYzLjcyNDU5NSwyMDAuNTkwODgxIEMxNjYuMzQwNjQ4LDE5OS4wNTY0NDQgMTY3Ljk1NDMyMSwxOTYuMjU2ODE4IDE2Ny45NzA3ODEsMTkzLjIyNDAwNSBMMTY3Ljk3MDc4MSwxMjAuMzczNzg4IEwxODkuODE1NjE0LDEzMy4wMTAwMjYgQzE5MC4wMzQxMzIsMTMzLjEyMTQyMyAxOTAuMTg2MjM1LDEzMy4zMzA1NjQgMTkwLjIyNDg4NSwxMzMuNTcyNzc0IEwxOTAuMjI0ODg1LDE5My45NDAyMjkgQzE5MC4xNjg2MDMsMjIwLjc1ODQyNyAxNjguNDQyMTY2LDI0Mi40ODQ4NjQgMTQxLjYyMzk2OCwyNDIuNTQxMjA3IFogTTM3LjE1NzU3NDksMTk3LjkzMDYyIEMzMS40NTY0OTgsMTg4LjA4NjM1OSAyOS40MDk0ODE4LDE3Ni41NDY5ODQgMzEuMzc2NjIzNywxNjUuMzQyNDI2IEwzMi45MTEzODk1LDE2Ni4yNjMyODUgTDg0LjYzMjk5NzMsMTk2LjA4ODkwMSBDODcuMjM4OTM0OSwxOTcuNjE4MjA3IDkwLjQ2ODI3MTcsMTk3LjYxODIwNyA5My4wNzQyMDkzLDE5Ni4wODg5MDEgTDE1Ni4yNTU0MDIsMTU5LjY2Mzc5MyBMMTU2LjI1NTQwMiwxODQuODg1MTExIEMxNTYuMjQzNTU3LDE4NS4xNDk3NzEgMTU2LjExMTcyNSwxODUuMzk0NjAyIDE1NS44OTcyOSwxODUuNTUwMTc2IEwxMDMuNTYxNzc2LDIxNS43MzM5MDMgQzgwLjMwNTQ5NTMsMjI5LjEzMTYzMiA1MC41OTI0OTU0LDIyMS4xNjU0MzUgMzcuMTU3NTc0OSwxOTcuOTMwNjIgWiBNMjMuNTQ5MzE4MSw4NS4zODExMjczIEMyOS4yODk5ODYxLDc1LjQ3MzMwOTcgMzguMzUxMTkxMSw2Ny45MTYyNjQ4IDQ5LjEyODc0ODIsNjQuMDQ3ODgyNSBMNDkuMTI4NzQ4MiwxMjUuNDM4NTE1IEM0OS4wODkxNDkyLDEyOC40NTk0MjUgNTAuNjk2NTM4NiwxMzEuMjYyNTU2IDUzLjMyMzc3NDgsMTMyLjc1NDIzMiBMMTE2LjE5ODAxNCwxNjkuMDI1ODY0IEw5NC4zNTMxODA4LDE4MS42NjIxMDIgQzk0LjExMzIzMjUsMTgxLjc4OTQzNCA5My44MjU3NDYxLDE4MS43ODk0MzQgOTMuNTg1Nzk3OSwxODEuNjYyMTAyIEw0MS4zNTI2MDE1LDE1MS41Mjk1MzQgQzE4LjE0MTk0MjYsMTM4LjA3NjA5OCAxMC4xODE3NjgxLDEwOC4zODU1NjIgMjMuNTQ5MzE4MSw4NS4xMjUzMzMgTDIzLjU0OTMxODEsODUuMzgxMTI3MyBaIE0yMDMuMDE0NiwxMjcuMDc1NTk4IEwxMzkuOTM1NzI1LDkwLjQ0NTg1NDUgTDE2MS43Mjk0LDc3Ljg2MDc3NDggQzE2MS45NjkzNDgsNzcuNzMzNDQzNCAxNjIuMjU2ODM0LDc3LjczMzQ0MzQgMTYyLjQ5Njc4Myw3Ny44NjA3NzQ4IEwyMTQuNzI5OTc5LDEwOC4wNDQ1MDIgQzIzMS4wMzIzMjksMTE3LjQ1MTc0NyAyNDAuNDM3Mjk0LDEzNS40MjYxMDkgMjM4Ljg3MTUwNCwxNTQuMTgyNzM5IEMyMzcuMzA1NzE0LDE3Mi45MzkzNjggMjI1LjA1MDcxOSwxODkuMTA1NTcyIDIwNy40MTQyNjIsMTk1LjY3OTYzIEwyMDcuNDE0MjYyLDEzNC4yODg5OTggQzIwNy4zMjI1MjEsMTMxLjI3Njg2NyAyMDUuNjUwNjk3LDEyOC41MzU4NTMgMjAzLjAxNDYsMTI3LjA3NTU5OCBaIE0yMjQuNzU3MTE2LDk0LjM4NTA4NjcgTDIyMy4yMjIzNSw5My40NjQyMjcyIEwxNzEuNjAzMDYsNjMuMzgyODE3MyBDMTY4Ljk4MTI5Myw2MS44NDQzNzUxIDE2NS43MzI0NTYsNjEuODQ0Mzc1MSAxNjMuMTEwNjg5LDYzLjM4MjgxNzMgTDk5Ljk4MDY1NTQsOTkuODA3OTI1OSBMOTkuOTgwNjU1NCw3NC41ODY2MDc3IEM5OS45NTMzMDA0LDc0LjMyNTQwODggMTAwLjA3MTA5NSw3NC4wNzAxODY5IDEwMC4yODc2MDksNzMuOTIxNTQyNiBMMTUyLjUyMDgwNSw0My43ODg5NzM4IEMxNjguODYzMDk4LDM0LjM3NDM1MTggMTg5LjE3NDI1NiwzNS4yNTI5MDQzIDIwNC42NDI1NzksNDYuMDQzNDg0MSBDMjIwLjExMDkwMyw1Ni44MzQwNjM4IDIyNy45NDkyNjksNzUuNTkyMzk1OSAyMjQuNzU3MTE2LDk0LjE4MDQ1MTMgTDIyNC43NTcxMTYsOTQuMzg1MDg2NyBaIE04OC4wNjA2NDA5LDEzOS4wOTc5MzEgTDY2LjIxNTgwNzYsMTI2LjUxMjg1MSBDNjUuOTk1MDM5OSwxMjYuMzc5MDkxIDY1Ljg0NTA5NjUsMTI2LjE1NDE3NiA2NS44MDY1MzY3LDEyNS44OTg5NDUgTDY1LjgwNjUzNjcsNjUuNjg0OTY2IEM2NS44MzE0NDk1LDQ2LjgyODUzNjcgNzYuNzUwMDYwNSwyOS42ODQ2MDMyIDkzLjgyNzA4NTIsMjEuNjg4MzA1NSBDMTEwLjkwNDExLDEzLjY5MjAwNzkgMTMxLjA2MzgzMywxNi4yODM1NDYyIDE0NS41NjMyLDI4LjMzODk5OCBMMTQ0LjAyODQzNCwyOS4yMDg2OTg2IEw5Mi4zNTc5ODUyLDU5LjAzNDMxNDIgQzg5Ljc0MTkzMjcsNjAuNTY4NzUxMyA4OC4xMjgyNTk3LDYzLjM2ODM3NjcgODguMTExNzk5OCw2Ni40MDExOTAxIEw4OC4wNjA2NDA5LDEzOS4wOTc5MzEgWiBNOTkuOTI5NDk2NSwxMTMuNTE4NSBMMTI4LjA2Njg3LDk3LjMwMTE0MTcgTDE1Ni4yNTU0MDIsMTEzLjUxODUgTDE1Ni4yNTU0MDIsMTQ1Ljk1MzIxOCBMMTI4LjE2OTE4NywxNjIuMTcwNTc3IEw5OS45ODA2NTU0LDE0NS45NTMyMTggTDk5LjkyOTQ5NjUsMTEzLjUxODUgWiIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"
27
+ },
28
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/openai/",
29
+ "category": {
30
+ "id": "connectors",
31
+ "name": "Connectors"
32
+ },
33
+ "appliesTo": ["bpmn:Task"],
34
+ "elementType": {
35
+ "value": "bpmn:ServiceTask"
36
+ },
37
+ "groups": [
38
+ {
39
+ "id": "authentication",
40
+ "label": "Authentication"
41
+ },
42
+ {
43
+ "id": "input",
44
+ "label": "Payload"
45
+ },
46
+ {
47
+ "id": "connector",
48
+ "label": "Connector"
49
+ },
50
+ {
51
+ "id": "output",
52
+ "label": "Response mapping"
53
+ },
54
+ {
55
+ "id": "errors",
56
+ "label": "Error handling"
57
+ }
58
+ ],
59
+ "properties": [
60
+ {
61
+ "type": "Hidden",
62
+ "value": "io.camunda:http-json:1",
63
+ "binding": {
64
+ "type": "zeebe:taskDefinition",
65
+ "property": "type"
66
+ }
67
+ },
68
+ {
69
+ "id": "authenticationType",
70
+ "value": "bearer",
71
+ "type": "Hidden",
72
+ "binding": {
73
+ "type": "zeebe:input",
74
+ "name": "authentication.type"
75
+ }
76
+ },
77
+ {
78
+ "label": "OpenAI API key",
79
+ "group": "authentication",
80
+ "feel": "optional",
81
+ "description": "Your OpenAI API key",
82
+ "type": "String",
83
+ "binding": {
84
+ "type": "zeebe:input",
85
+ "name": "authentication.token"
86
+ },
87
+ "constraints": {
88
+ "notEmpty": true
89
+ }
90
+ },
91
+ {
92
+ "label": "Organization",
93
+ "group": "authentication",
94
+ "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/requesting-organization\" target=\"_blank\">OpenAI documentation</a>",
95
+ "type": "String",
96
+ "feel": "optional",
97
+ "binding": {
98
+ "type": "zeebe:input",
99
+ "name": "internal_organization"
100
+ },
101
+ "optional": true
102
+ },
103
+ {
104
+ "group": "authentication",
105
+ "type": "Hidden",
106
+ "value": "=if is defined(internal_organization) and internal_organization != null then {\"Content-Type\":\"application/json\", \"OpenAI-Organization\":internal_organization} else {\"Content-Type\":\"application/json\"}",
107
+ "binding": {
108
+ "type": "zeebe:input",
109
+ "name": "headers"
110
+ }
111
+ },
112
+ {
113
+ "label": "Operation",
114
+ "group": "input",
115
+ "description": "OpenAI API operation",
116
+ "type": "Dropdown",
117
+ "id": "operation",
118
+ "value": "chat",
119
+ "choices": [
120
+ {
121
+ "name": "Chat",
122
+ "value": "chat"
123
+ },
124
+ {
125
+ "name": "Moderation",
126
+ "value": "moderation"
127
+ }
128
+ ],
129
+ "binding": {
130
+ "type": "zeebe:input",
131
+ "name": "operation"
132
+ }
133
+ },
134
+ {
135
+ "id": "method",
136
+ "type": "Hidden",
137
+ "value": "post",
138
+ "binding": {
139
+ "type": "zeebe:input",
140
+ "name": "method"
141
+ }
142
+ },
143
+ {
144
+ "type": "Hidden",
145
+ "value": "https://api.openai.com/v1/chat/completions",
146
+ "binding": {
147
+ "type": "zeebe:input",
148
+ "name": "url"
149
+ },
150
+ "condition": {
151
+ "property": "operation",
152
+ "equals": "chat"
153
+ }
154
+ },
155
+ {
156
+ "type": "Hidden",
157
+ "value": "https://api.openai.com/v1/moderations",
158
+ "binding": {
159
+ "type": "zeebe:input",
160
+ "name": "url"
161
+ },
162
+ "condition": {
163
+ "property": "operation",
164
+ "equals": "moderation"
165
+ }
166
+ },
167
+ {
168
+ "label": "Evaluation input",
169
+ "description": "Provide the text to analyze as static value or variable",
170
+ "group": "input",
171
+ "type": "Text",
172
+ "feel": "optional",
173
+ "binding": {
174
+ "type": "zeebe:input",
175
+ "name": "internal_textToAnalyze"
176
+ },
177
+ "condition": {
178
+ "property": "operation",
179
+ "equals": "moderation"
180
+ },
181
+ "constraints": {
182
+ "notEmpty": true
183
+ }
184
+ },
185
+ {
186
+ "label": "Model",
187
+ "id": "model",
188
+ "description": "Select the model (or Custom for free text)",
189
+ "group": "input",
190
+ "type": "Dropdown",
191
+ "value": "gpt-3.5-turbo",
192
+ "choices": [
193
+ {
194
+ "name": "Custom",
195
+ "value": "custom"
196
+ },
197
+ {
198
+ "name": "GPT-3.5-turbo",
199
+ "value": "gpt-3.5-turbo"
200
+ },
201
+ {
202
+ "name": "GPT-4",
203
+ "value": "gpt-4"
204
+ },
205
+ {
206
+ "name": "GPT-4-turbo",
207
+ "value": "gpt-4-turbo"
208
+ },
209
+ {
210
+ "name": "GPT-4o",
211
+ "value": "gpt-4o"
212
+ }
213
+ ],
214
+ "binding": {
215
+ "type": "zeebe:input",
216
+ "name": "internal_model"
217
+ },
218
+ "condition": {
219
+ "property": "operation",
220
+ "equals": "chat"
221
+ }
222
+ },
223
+ {
224
+ "label": "Custom model version",
225
+ "description": "Select the <a href=\"https://platform.openai.com/docs/models/overview\" target=\"_blank\">model</a> version",
226
+ "group": "input",
227
+ "type": "Text",
228
+ "binding": {
229
+ "type": "zeebe:input",
230
+ "name": "internal_custom_model"
231
+ },
232
+ "condition": {
233
+ "property": "model",
234
+ "equals": "custom"
235
+ },
236
+ "constraints": {
237
+ "notEmpty": true
238
+ }
239
+ },
240
+ {
241
+ "label": "Temperature",
242
+ "description": "Select the temperature (between 0 and 2)",
243
+ "group": "input",
244
+ "type": "Text",
245
+ "value": "1",
246
+ "binding": {
247
+ "type": "zeebe:input",
248
+ "name": "internal_temperature"
249
+ },
250
+ "condition": {
251
+ "property": "operation",
252
+ "equals": "chat"
253
+ },
254
+ "constraints": {
255
+ "notEmpty": true,
256
+ "pattern": {
257
+ "value": "^(2|1|0|1\\.\\d{1,2}|0\\.\\d{1,2})$",
258
+ "message": "must be a number between 0 and 2 (e.g. 0, 1.4, 2)"
259
+ }
260
+ }
261
+ },
262
+ {
263
+ "label": "System message",
264
+ "description": "Optional initial instructions for the model",
265
+ "group": "input",
266
+ "type": "Text",
267
+ "optional": true,
268
+ "feel": "optional",
269
+ "binding": {
270
+ "type": "zeebe:input",
271
+ "name": "internal_systemMessage"
272
+ },
273
+ "condition": {
274
+ "property": "operation",
275
+ "equals": "chat"
276
+ }
277
+ },
278
+ {
279
+ "label": "Chat history",
280
+ "description": "Optional chat history, or examples of the desired model behavior",
281
+ "feel": "required",
282
+ "optional": true,
283
+ "type": "String",
284
+ "group": "input",
285
+ "binding": {
286
+ "type": "zeebe:input",
287
+ "name": "internal_chatHistory"
288
+ },
289
+ "condition": {
290
+ "property": "operation",
291
+ "equals": "chat"
292
+ }
293
+ },
294
+ {
295
+ "label": "Prompt",
296
+ "description": "Input to be evaluated",
297
+ "group": "input",
298
+ "type": "Text",
299
+ "feel": "optional",
300
+ "binding": {
301
+ "type": "zeebe:input",
302
+ "name": "internal_prompt"
303
+ },
304
+ "condition": {
305
+ "property": "operation",
306
+ "equals": "chat"
307
+ },
308
+ "constraints": {
309
+ "notEmpty": true
310
+ }
311
+ },
312
+ {
313
+ "label": "Choices to generate",
314
+ "description": "Amount of alternative responses the model will generate",
315
+ "group": "input",
316
+ "type": "String",
317
+ "feel": "optional",
318
+ "optional": false,
319
+ "value": "1",
320
+ "binding": {
321
+ "type": "zeebe:input",
322
+ "name": "internal_choices"
323
+ },
324
+ "condition": {
325
+ "property": "operation",
326
+ "equals": "chat"
327
+ },
328
+ "constraints": {
329
+ "notEmpty": true,
330
+ "pattern": {
331
+ "value": "^[1-9]\\d*$",
332
+ "message": "must be a positive integer number"
333
+ }
334
+ }
335
+ },
336
+ {
337
+ "type": "Hidden",
338
+ "binding": {
339
+ "type": "zeebe:input",
340
+ "name": "internal_messages"
341
+ },
342
+ "condition": {
343
+ "property": "operation",
344
+ "equals": "chat"
345
+ },
346
+ "value": "=append(concatenate(if is defined(internal_systemMessage) then [{\"role\": \"system\", \"content\": internal_systemMessage}] else [], if is defined(internal_chatHistory) then internal_chatHistory else []), {\"role\": \"user\", \"content\": internal_prompt})"
347
+ },
348
+ {
349
+ "type": "Hidden",
350
+ "value": "={\"model\": if is defined(internal_custom_model) then internal_custom_model else internal_model, \"messages\": internal_messages, \"n\": number(internal_choices), \"temperature\": number(internal_temperature)}",
351
+ "binding": {
352
+ "type": "zeebe:input",
353
+ "name": "body"
354
+ },
355
+ "condition": {
356
+ "property": "operation",
357
+ "equals": "chat"
358
+ }
359
+ },
360
+ {
361
+ "type": "Hidden",
362
+ "value": "={\"input\": internal_textToAnalyze}",
363
+ "binding": {
364
+ "type": "zeebe:input",
365
+ "name": "body"
366
+ },
367
+ "condition": {
368
+ "property": "operation",
369
+ "equals": "moderation"
370
+ }
371
+ },
372
+ {
373
+ "label": "Result variable",
374
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
375
+ "group": "output",
376
+ "type": "String",
377
+ "binding": {
378
+ "type": "zeebe:taskHeader",
379
+ "key": "resultVariable"
380
+ }
381
+ },
382
+ {
383
+ "label": "Result expression",
384
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
385
+ "group": "output",
386
+ "type": "Text",
387
+ "feel": "required",
388
+ "value": "={openAiResponse: response.body}",
389
+ "binding": {
390
+ "type": "zeebe:taskHeader",
391
+ "key": "resultExpression"
392
+ }
393
+ },
394
+ {
395
+ "label": "Connection timeout",
396
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
397
+ "group": "errors",
398
+ "type": "String",
399
+ "value": "30",
400
+ "binding": {
401
+ "type": "zeebe:input",
402
+ "name": "connectionTimeoutInSeconds"
403
+ },
404
+ "optional": true,
405
+ "feel": "optional",
406
+ "constraints": {
407
+ "notEmpty": false,
408
+ "pattern": {
409
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
410
+ "message": "must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
411
+ }
412
+ }
413
+ },
414
+ {
415
+ "label": "Error expression",
416
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
417
+ "group": "errors",
418
+ "type": "Text",
419
+ "feel": "required",
420
+ "binding": {
421
+ "type": "zeebe:taskHeader",
422
+ "key": "errorExpression"
423
+ }
424
+ },
425
+ {
426
+ "id": "version",
427
+ "label": "Version",
428
+ "description": "Version of the element template",
429
+ "value": "7",
430
+ "group": "connector",
431
+ "binding": {
432
+ "key": "elementTemplateVersion",
433
+ "type": "zeebe:taskHeader"
434
+ },
435
+ "type": "Hidden"
436
+ },
437
+ {
438
+ "id": "id",
439
+ "label": "ID",
440
+ "description": "ID of the element template",
441
+ "value": "io.camunda.connectors.OpenAI.v1",
442
+ "group": "connector",
443
+ "binding": {
444
+ "key": "elementTemplateId",
445
+ "type": "zeebe:taskHeader"
446
+ },
447
+ "type": "Hidden"
448
+ }
449
+ ]
450
+ },
451
+ {
452
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
453
+ "name": "OpenAI Outbound Connector",
5
454
  "id": "io.camunda.connectors.OpenAI.v1",
6
- "version": 2,
455
+ "version": 3,
7
456
  "description": "Interact with ChatGPT or moderation API",
8
457
  "icon": {
9
458
  "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjYwcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjYwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5PcGVuQUk8L3RpdGxlPgogICAgPGc+CiAgICAgICAgPHBhdGggZD0iTTIzOS4xODM5MTQsMTA2LjIwMjc4MyBDMjQ1LjA1NDMwNCw4OC41MjQyMDk2IDI0My4wMjIyOCw2OS4xNzMzODA1IDIzMy42MDc1OTksNTMuMDk5ODg2NCBDMjE5LjQ1MTY3OCwyOC40NTg4MDIxIDE5MC45OTk3MDMsMTUuNzgzNjEyOSAxNjMuMjEzMDA3LDIxLjczOTUwNSBDMTQ3LjU1NDA3Nyw0LjMyMTQ1ODgzIDEyMy43OTQ5MDksLTMuNDIzOTg1NTQgMTAwLjg3OTAxLDEuNDE4NzM4OTggQzc3Ljk2MzExMDUsNi4yNjE0NjM0OSA1OS4zNjkwMDkzLDIyLjk1NzI1MzYgNTIuMDk1OTYyMSw0NS4yMjE0MjE5IEMzMy44NDM2NDk0LDQ4Ljk2NDQ4NjcgMTguMDkwMTcyMSw2MC4zOTI3NDkgOC44NjY3MjUxMyw3Ni41ODE4MDMzIEMtNS40NDM0OTEsMTAxLjE4Mjk2MiAtMi4xOTU0NDQzMSwxMzIuMjE1MjU1IDE2Ljg5ODY2NjIsMTUzLjMyMDA5NCBDMTEuMDA2MDg2NSwxNzAuOTkwNjU2IDEzLjAxOTcyODMsMTkwLjM0Mzk5MSAyMi40MjM4MjMxLDIwNi40MjI5OTEgQzM2LjU5NzU1NTMsMjMxLjA3MjM0NCA2NS4wNjgwMzQyLDI0My43NDY1NjYgOTIuODY5NTczOCwyMzcuNzgzMzcyIEMxMDUuMjM1NjM5LDI1MS43MDgyNDkgMTIzLjAwMTExMywyNTkuNjMwOTQyIDE0MS42MjM5NjgsMjU5LjUyNjkyIEMxNzAuMTA1MzU5LDI1OS41NTIxNjkgMTk1LjMzNzYxMSwyNDEuMTY1NzE4IDIwNC4wMzc3NzcsMjE0LjA0NTY2MSBDMjIyLjI4NzM0LDIxMC4yOTYzNTYgMjM4LjAzODQ4OSwxOTguODY5NzgzIDI0Ny4yNjcwMTQsMTgyLjY4NTI4IEMyNjEuNDA0NDUzLDE1OC4xMjc1MTUgMjU4LjE0MjQ5NCwxMjcuMjYyNzc1IDIzOS4xODM5MTQsMTA2LjIwMjc4MyBMMjM5LjE4MzkxNCwxMDYuMjAyNzgzIFogTTE0MS42MjM5NjgsMjQyLjU0MTIwNyBDMTMwLjI1NTY4MiwyNDIuNTU5MTc3IDExOS4yNDM4NzYsMjM4LjU3NDY0MiAxMTAuNTE5MzgxLDIzMS4yODYxOTcgTDExMi4wNTQxNDYsMjMwLjQxNjQ5NiBMMTYzLjcyNDU5NSwyMDAuNTkwODgxIEMxNjYuMzQwNjQ4LDE5OS4wNTY0NDQgMTY3Ljk1NDMyMSwxOTYuMjU2ODE4IDE2Ny45NzA3ODEsMTkzLjIyNDAwNSBMMTY3Ljk3MDc4MSwxMjAuMzczNzg4IEwxODkuODE1NjE0LDEzMy4wMTAwMjYgQzE5MC4wMzQxMzIsMTMzLjEyMTQyMyAxOTAuMTg2MjM1LDEzMy4zMzA1NjQgMTkwLjIyNDg4NSwxMzMuNTcyNzc0IEwxOTAuMjI0ODg1LDE5My45NDAyMjkgQzE5MC4xNjg2MDMsMjIwLjc1ODQyNyAxNjguNDQyMTY2LDI0Mi40ODQ4NjQgMTQxLjYyMzk2OCwyNDIuNTQxMjA3IFogTTM3LjE1NzU3NDksMTk3LjkzMDYyIEMzMS40NTY0OTgsMTg4LjA4NjM1OSAyOS40MDk0ODE4LDE3Ni41NDY5ODQgMzEuMzc2NjIzNywxNjUuMzQyNDI2IEwzMi45MTEzODk1LDE2Ni4yNjMyODUgTDg0LjYzMjk5NzMsMTk2LjA4ODkwMSBDODcuMjM4OTM0OSwxOTcuNjE4MjA3IDkwLjQ2ODI3MTcsMTk3LjYxODIwNyA5My4wNzQyMDkzLDE5Ni4wODg5MDEgTDE1Ni4yNTU0MDIsMTU5LjY2Mzc5MyBMMTU2LjI1NTQwMiwxODQuODg1MTExIEMxNTYuMjQzNTU3LDE4NS4xNDk3NzEgMTU2LjExMTcyNSwxODUuMzk0NjAyIDE1NS44OTcyOSwxODUuNTUwMTc2IEwxMDMuNTYxNzc2LDIxNS43MzM5MDMgQzgwLjMwNTQ5NTMsMjI5LjEzMTYzMiA1MC41OTI0OTU0LDIyMS4xNjU0MzUgMzcuMTU3NTc0OSwxOTcuOTMwNjIgWiBNMjMuNTQ5MzE4MSw4NS4zODExMjczIEMyOS4yODk5ODYxLDc1LjQ3MzMwOTcgMzguMzUxMTkxMSw2Ny45MTYyNjQ4IDQ5LjEyODc0ODIsNjQuMDQ3ODgyNSBMNDkuMTI4NzQ4MiwxMjUuNDM4NTE1IEM0OS4wODkxNDkyLDEyOC40NTk0MjUgNTAuNjk2NTM4NiwxMzEuMjYyNTU2IDUzLjMyMzc3NDgsMTMyLjc1NDIzMiBMMTE2LjE5ODAxNCwxNjkuMDI1ODY0IEw5NC4zNTMxODA4LDE4MS42NjIxMDIgQzk0LjExMzIzMjUsMTgxLjc4OTQzNCA5My44MjU3NDYxLDE4MS43ODk0MzQgOTMuNTg1Nzk3OSwxODEuNjYyMTAyIEw0MS4zNTI2MDE1LDE1MS41Mjk1MzQgQzE4LjE0MTk0MjYsMTM4LjA3NjA5OCAxMC4xODE3NjgxLDEwOC4zODU1NjIgMjMuNTQ5MzE4MSw4NS4xMjUzMzMgTDIzLjU0OTMxODEsODUuMzgxMTI3MyBaIE0yMDMuMDE0NiwxMjcuMDc1NTk4IEwxMzkuOTM1NzI1LDkwLjQ0NTg1NDUgTDE2MS43Mjk0LDc3Ljg2MDc3NDggQzE2MS45NjkzNDgsNzcuNzMzNDQzNCAxNjIuMjU2ODM0LDc3LjczMzQ0MzQgMTYyLjQ5Njc4Myw3Ny44NjA3NzQ4IEwyMTQuNzI5OTc5LDEwOC4wNDQ1MDIgQzIzMS4wMzIzMjksMTE3LjQ1MTc0NyAyNDAuNDM3Mjk0LDEzNS40MjYxMDkgMjM4Ljg3MTUwNCwxNTQuMTgyNzM5IEMyMzcuMzA1NzE0LDE3Mi45MzkzNjggMjI1LjA1MDcxOSwxODkuMTA1NTcyIDIwNy40MTQyNjIsMTk1LjY3OTYzIEwyMDcuNDE0MjYyLDEzNC4yODg5OTggQzIwNy4zMjI1MjEsMTMxLjI3Njg2NyAyMDUuNjUwNjk3LDEyOC41MzU4NTMgMjAzLjAxNDYsMTI3LjA3NTU5OCBaIE0yMjQuNzU3MTE2LDk0LjM4NTA4NjcgTDIyMy4yMjIzNSw5My40NjQyMjcyIEwxNzEuNjAzMDYsNjMuMzgyODE3MyBDMTY4Ljk4MTI5Myw2MS44NDQzNzUxIDE2NS43MzI0NTYsNjEuODQ0Mzc1MSAxNjMuMTEwNjg5LDYzLjM4MjgxNzMgTDk5Ljk4MDY1NTQsOTkuODA3OTI1OSBMOTkuOTgwNjU1NCw3NC41ODY2MDc3IEM5OS45NTMzMDA0LDc0LjMyNTQwODggMTAwLjA3MTA5NSw3NC4wNzAxODY5IDEwMC4yODc2MDksNzMuOTIxNTQyNiBMMTUyLjUyMDgwNSw0My43ODg5NzM4IEMxNjguODYzMDk4LDM0LjM3NDM1MTggMTg5LjE3NDI1NiwzNS4yNTI5MDQzIDIwNC42NDI1NzksNDYuMDQzNDg0MSBDMjIwLjExMDkwMyw1Ni44MzQwNjM4IDIyNy45NDkyNjksNzUuNTkyMzk1OSAyMjQuNzU3MTE2LDk0LjE4MDQ1MTMgTDIyNC43NTcxMTYsOTQuMzg1MDg2NyBaIE04OC4wNjA2NDA5LDEzOS4wOTc5MzEgTDY2LjIxNTgwNzYsMTI2LjUxMjg1MSBDNjUuOTk1MDM5OSwxMjYuMzc5MDkxIDY1Ljg0NTA5NjUsMTI2LjE1NDE3NiA2NS44MDY1MzY3LDEyNS44OTg5NDUgTDY1LjgwNjUzNjcsNjUuNjg0OTY2IEM2NS44MzE0NDk1LDQ2LjgyODUzNjcgNzYuNzUwMDYwNSwyOS42ODQ2MDMyIDkzLjgyNzA4NTIsMjEuNjg4MzA1NSBDMTEwLjkwNDExLDEzLjY5MjAwNzkgMTMxLjA2MzgzMywxNi4yODM1NDYyIDE0NS41NjMyLDI4LjMzODk5OCBMMTQ0LjAyODQzNCwyOS4yMDg2OTg2IEw5Mi4zNTc5ODUyLDU5LjAzNDMxNDIgQzg5Ljc0MTkzMjcsNjAuNTY4NzUxMyA4OC4xMjgyNTk3LDYzLjM2ODM3NjcgODguMTExNzk5OCw2Ni40MDExOTAxIEw4OC4wNjA2NDA5LDEzOS4wOTc5MzEgWiBNOTkuOTI5NDk2NSwxMTMuNTE4NSBMMTI4LjA2Njg3LDk3LjMwMTE0MTcgTDE1Ni4yNTU0MDIsMTEzLjUxODUgTDE1Ni4yNTU0MDIsMTQ1Ljk1MzIxOCBMMTI4LjE2OTE4NywxNjIuMTcwNTc3IEw5OS45ODA2NTU0LDE0NS45NTMyMTggTDk5LjkyOTQ5NjUsMTEzLjUxODUgWiIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"
@@ -336,7 +785,7 @@
336
785
  "constraints": {
337
786
  "notEmpty": false,
338
787
  "pattern": {
339
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
788
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
340
789
  "message": "Must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
341
790
  }
342
791
  }
@@ -359,9 +808,12 @@
359
808
  },
360
809
  {
361
810
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
362
- "name": "OpenAI Outbound Connector",
811
+ "name": "OpenAI connector",
363
812
  "id": "io.camunda.connectors.OpenAI.v1",
364
- "version": 3,
813
+ "deprecated": {
814
+ "message": "Replace with 'OpenAI connector' template.",
815
+ "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
816
+ },
365
817
  "description": "Interact with ChatGPT or moderation API",
366
818
  "icon": {
367
819
  "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjYwcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjYwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5PcGVuQUk8L3RpdGxlPgogICAgPGc+CiAgICAgICAgPHBhdGggZD0iTTIzOS4xODM5MTQsMTA2LjIwMjc4MyBDMjQ1LjA1NDMwNCw4OC41MjQyMDk2IDI0My4wMjIyOCw2OS4xNzMzODA1IDIzMy42MDc1OTksNTMuMDk5ODg2NCBDMjE5LjQ1MTY3OCwyOC40NTg4MDIxIDE5MC45OTk3MDMsMTUuNzgzNjEyOSAxNjMuMjEzMDA3LDIxLjczOTUwNSBDMTQ3LjU1NDA3Nyw0LjMyMTQ1ODgzIDEyMy43OTQ5MDksLTMuNDIzOTg1NTQgMTAwLjg3OTAxLDEuNDE4NzM4OTggQzc3Ljk2MzExMDUsNi4yNjE0NjM0OSA1OS4zNjkwMDkzLDIyLjk1NzI1MzYgNTIuMDk1OTYyMSw0NS4yMjE0MjE5IEMzMy44NDM2NDk0LDQ4Ljk2NDQ4NjcgMTguMDkwMTcyMSw2MC4zOTI3NDkgOC44NjY3MjUxMyw3Ni41ODE4MDMzIEMtNS40NDM0OTEsMTAxLjE4Mjk2MiAtMi4xOTU0NDQzMSwxMzIuMjE1MjU1IDE2Ljg5ODY2NjIsMTUzLjMyMDA5NCBDMTEuMDA2MDg2NSwxNzAuOTkwNjU2IDEzLjAxOTcyODMsMTkwLjM0Mzk5MSAyMi40MjM4MjMxLDIwNi40MjI5OTEgQzM2LjU5NzU1NTMsMjMxLjA3MjM0NCA2NS4wNjgwMzQyLDI0My43NDY1NjYgOTIuODY5NTczOCwyMzcuNzgzMzcyIEMxMDUuMjM1NjM5LDI1MS43MDgyNDkgMTIzLjAwMTExMywyNTkuNjMwOTQyIDE0MS42MjM5NjgsMjU5LjUyNjkyIEMxNzAuMTA1MzU5LDI1OS41NTIxNjkgMTk1LjMzNzYxMSwyNDEuMTY1NzE4IDIwNC4wMzc3NzcsMjE0LjA0NTY2MSBDMjIyLjI4NzM0LDIxMC4yOTYzNTYgMjM4LjAzODQ4OSwxOTguODY5NzgzIDI0Ny4yNjcwMTQsMTgyLjY4NTI4IEMyNjEuNDA0NDUzLDE1OC4xMjc1MTUgMjU4LjE0MjQ5NCwxMjcuMjYyNzc1IDIzOS4xODM5MTQsMTA2LjIwMjc4MyBMMjM5LjE4MzkxNCwxMDYuMjAyNzgzIFogTTE0MS42MjM5NjgsMjQyLjU0MTIwNyBDMTMwLjI1NTY4MiwyNDIuNTU5MTc3IDExOS4yNDM4NzYsMjM4LjU3NDY0MiAxMTAuNTE5MzgxLDIzMS4yODYxOTcgTDExMi4wNTQxNDYsMjMwLjQxNjQ5NiBMMTYzLjcyNDU5NSwyMDAuNTkwODgxIEMxNjYuMzQwNjQ4LDE5OS4wNTY0NDQgMTY3Ljk1NDMyMSwxOTYuMjU2ODE4IDE2Ny45NzA3ODEsMTkzLjIyNDAwNSBMMTY3Ljk3MDc4MSwxMjAuMzczNzg4IEwxODkuODE1NjE0LDEzMy4wMTAwMjYgQzE5MC4wMzQxMzIsMTMzLjEyMTQyMyAxOTAuMTg2MjM1LDEzMy4zMzA1NjQgMTkwLjIyNDg4NSwxMzMuNTcyNzc0IEwxOTAuMjI0ODg1LDE5My45NDAyMjkgQzE5MC4xNjg2MDMsMjIwLjc1ODQyNyAxNjguNDQyMTY2LDI0Mi40ODQ4NjQgMTQxLjYyMzk2OCwyNDIuNTQxMjA3IFogTTM3LjE1NzU3NDksMTk3LjkzMDYyIEMzMS40NTY0OTgsMTg4LjA4NjM1OSAyOS40MDk0ODE4LDE3Ni41NDY5ODQgMzEuMzc2NjIzNywxNjUuMzQyNDI2IEwzMi45MTEzODk1LDE2Ni4yNjMyODUgTDg0LjYzMjk5NzMsMTk2LjA4ODkwMSBDODcuMjM4OTM0OSwxOTcuNjE4MjA3IDkwLjQ2ODI3MTcsMTk3LjYxODIwNyA5My4wNzQyMDkzLDE5Ni4wODg5MDEgTDE1Ni4yNTU0MDIsMTU5LjY2Mzc5MyBMMTU2LjI1NTQwMiwxODQuODg1MTExIEMxNTYuMjQzNTU3LDE4NS4xNDk3NzEgMTU2LjExMTcyNSwxODUuMzk0NjAyIDE1NS44OTcyOSwxODUuNTUwMTc2IEwxMDMuNTYxNzc2LDIxNS43MzM5MDMgQzgwLjMwNTQ5NTMsMjI5LjEzMTYzMiA1MC41OTI0OTU0LDIyMS4xNjU0MzUgMzcuMTU3NTc0OSwxOTcuOTMwNjIgWiBNMjMuNTQ5MzE4MSw4NS4zODExMjczIEMyOS4yODk5ODYxLDc1LjQ3MzMwOTcgMzguMzUxMTkxMSw2Ny45MTYyNjQ4IDQ5LjEyODc0ODIsNjQuMDQ3ODgyNSBMNDkuMTI4NzQ4MiwxMjUuNDM4NTE1IEM0OS4wODkxNDkyLDEyOC40NTk0MjUgNTAuNjk2NTM4NiwxMzEuMjYyNTU2IDUzLjMyMzc3NDgsMTMyLjc1NDIzMiBMMTE2LjE5ODAxNCwxNjkuMDI1ODY0IEw5NC4zNTMxODA4LDE4MS42NjIxMDIgQzk0LjExMzIzMjUsMTgxLjc4OTQzNCA5My44MjU3NDYxLDE4MS43ODk0MzQgOTMuNTg1Nzk3OSwxODEuNjYyMTAyIEw0MS4zNTI2MDE1LDE1MS41Mjk1MzQgQzE4LjE0MTk0MjYsMTM4LjA3NjA5OCAxMC4xODE3NjgxLDEwOC4zODU1NjIgMjMuNTQ5MzE4MSw4NS4xMjUzMzMgTDIzLjU0OTMxODEsODUuMzgxMTI3MyBaIE0yMDMuMDE0NiwxMjcuMDc1NTk4IEwxMzkuOTM1NzI1LDkwLjQ0NTg1NDUgTDE2MS43Mjk0LDc3Ljg2MDc3NDggQzE2MS45NjkzNDgsNzcuNzMzNDQzNCAxNjIuMjU2ODM0LDc3LjczMzQ0MzQgMTYyLjQ5Njc4Myw3Ny44NjA3NzQ4IEwyMTQuNzI5OTc5LDEwOC4wNDQ1MDIgQzIzMS4wMzIzMjksMTE3LjQ1MTc0NyAyNDAuNDM3Mjk0LDEzNS40MjYxMDkgMjM4Ljg3MTUwNCwxNTQuMTgyNzM5IEMyMzcuMzA1NzE0LDE3Mi45MzkzNjggMjI1LjA1MDcxOSwxODkuMTA1NTcyIDIwNy40MTQyNjIsMTk1LjY3OTYzIEwyMDcuNDE0MjYyLDEzNC4yODg5OTggQzIwNy4zMjI1MjEsMTMxLjI3Njg2NyAyMDUuNjUwNjk3LDEyOC41MzU4NTMgMjAzLjAxNDYsMTI3LjA3NTU5OCBaIE0yMjQuNzU3MTE2LDk0LjM4NTA4NjcgTDIyMy4yMjIzNSw5My40NjQyMjcyIEwxNzEuNjAzMDYsNjMuMzgyODE3MyBDMTY4Ljk4MTI5Myw2MS44NDQzNzUxIDE2NS43MzI0NTYsNjEuODQ0Mzc1MSAxNjMuMTEwNjg5LDYzLjM4MjgxNzMgTDk5Ljk4MDY1NTQsOTkuODA3OTI1OSBMOTkuOTgwNjU1NCw3NC41ODY2MDc3IEM5OS45NTMzMDA0LDc0LjMyNTQwODggMTAwLjA3MTA5NSw3NC4wNzAxODY5IDEwMC4yODc2MDksNzMuOTIxNTQyNiBMMTUyLjUyMDgwNSw0My43ODg5NzM4IEMxNjguODYzMDk4LDM0LjM3NDM1MTggMTg5LjE3NDI1NiwzNS4yNTI5MDQzIDIwNC42NDI1NzksNDYuMDQzNDg0MSBDMjIwLjExMDkwMyw1Ni44MzQwNjM4IDIyNy45NDkyNjksNzUuNTkyMzk1OSAyMjQuNzU3MTE2LDk0LjE4MDQ1MTMgTDIyNC43NTcxMTYsOTQuMzg1MDg2NyBaIE04OC4wNjA2NDA5LDEzOS4wOTc5MzEgTDY2LjIxNTgwNzYsMTI2LjUxMjg1MSBDNjUuOTk1MDM5OSwxMjYuMzc5MDkxIDY1Ljg0NTA5NjUsMTI2LjE1NDE3NiA2NS44MDY1MzY3LDEyNS44OTg5NDUgTDY1LjgwNjUzNjcsNjUuNjg0OTY2IEM2NS44MzE0NDk1LDQ2LjgyODUzNjcgNzYuNzUwMDYwNSwyOS42ODQ2MDMyIDkzLjgyNzA4NTIsMjEuNjg4MzA1NSBDMTEwLjkwNDExLDEzLjY5MjAwNzkgMTMxLjA2MzgzMywxNi4yODM1NDYyIDE0NS41NjMyLDI4LjMzODk5OCBMMTQ0LjAyODQzNCwyOS4yMDg2OTg2IEw5Mi4zNTc5ODUyLDU5LjAzNDMxNDIgQzg5Ljc0MTkzMjcsNjAuNTY4NzUxMyA4OC4xMjgyNTk3LDYzLjM2ODM3NjcgODguMTExNzk5OCw2Ni40MDExOTAxIEw4OC4wNjA2NDA5LDEzOS4wOTc5MzEgWiBNOTkuOTI5NDk2NSwxMTMuNTE4NSBMMTI4LjA2Njg3LDk3LjMwMTE0MTcgTDE1Ni4yNTU0MDIsMTEzLjUxODUgTDE1Ni4yNTU0MDIsMTQ1Ljk1MzIxOCBMMTI4LjE2OTE4NywxNjIuMTcwNTc3IEw5OS45ODA2NTU0LDE0NS45NTMyMTggTDk5LjkyOTQ5NjUsMTEzLjUxODUgWiIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"
@@ -694,7 +1146,7 @@
694
1146
  "constraints": {
695
1147
  "notEmpty": false,
696
1148
  "pattern": {
697
- "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
1149
+ "value": "^(=|([0-9]+|secrets\\..+)$)",
698
1150
  "message": "Must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
699
1151
  }
700
1152
  }
@@ -710,16 +1162,13 @@
710
1162
  "key": "errorExpression"
711
1163
  }
712
1164
  }
713
- ],
714
- "engines": {
715
- "camunda": "^8.2"
716
- }
1165
+ ]
717
1166
  },
718
1167
  {
719
1168
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
720
- "name": "OpenAI connector",
1169
+ "name": "OpenAI Outbound Connector",
721
1170
  "id": "io.camunda.connectors.OpenAI.v1",
722
- "version": 1,
1171
+ "version": 5,
723
1172
  "description": "Interact with ChatGPT or moderation API",
724
1173
  "icon": {
725
1174
  "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjYwcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjYwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5PcGVuQUk8L3RpdGxlPgogICAgPGc+CiAgICAgICAgPHBhdGggZD0iTTIzOS4xODM5MTQsMTA2LjIwMjc4MyBDMjQ1LjA1NDMwNCw4OC41MjQyMDk2IDI0My4wMjIyOCw2OS4xNzMzODA1IDIzMy42MDc1OTksNTMuMDk5ODg2NCBDMjE5LjQ1MTY3OCwyOC40NTg4MDIxIDE5MC45OTk3MDMsMTUuNzgzNjEyOSAxNjMuMjEzMDA3LDIxLjczOTUwNSBDMTQ3LjU1NDA3Nyw0LjMyMTQ1ODgzIDEyMy43OTQ5MDksLTMuNDIzOTg1NTQgMTAwLjg3OTAxLDEuNDE4NzM4OTggQzc3Ljk2MzExMDUsNi4yNjE0NjM0OSA1OS4zNjkwMDkzLDIyLjk1NzI1MzYgNTIuMDk1OTYyMSw0NS4yMjE0MjE5IEMzMy44NDM2NDk0LDQ4Ljk2NDQ4NjcgMTguMDkwMTcyMSw2MC4zOTI3NDkgOC44NjY3MjUxMyw3Ni41ODE4MDMzIEMtNS40NDM0OTEsMTAxLjE4Mjk2MiAtMi4xOTU0NDQzMSwxMzIuMjE1MjU1IDE2Ljg5ODY2NjIsMTUzLjMyMDA5NCBDMTEuMDA2MDg2NSwxNzAuOTkwNjU2IDEzLjAxOTcyODMsMTkwLjM0Mzk5MSAyMi40MjM4MjMxLDIwNi40MjI5OTEgQzM2LjU5NzU1NTMsMjMxLjA3MjM0NCA2NS4wNjgwMzQyLDI0My43NDY1NjYgOTIuODY5NTczOCwyMzcuNzgzMzcyIEMxMDUuMjM1NjM5LDI1MS43MDgyNDkgMTIzLjAwMTExMywyNTkuNjMwOTQyIDE0MS42MjM5NjgsMjU5LjUyNjkyIEMxNzAuMTA1MzU5LDI1OS41NTIxNjkgMTk1LjMzNzYxMSwyNDEuMTY1NzE4IDIwNC4wMzc3NzcsMjE0LjA0NTY2MSBDMjIyLjI4NzM0LDIxMC4yOTYzNTYgMjM4LjAzODQ4OSwxOTguODY5NzgzIDI0Ny4yNjcwMTQsMTgyLjY4NTI4IEMyNjEuNDA0NDUzLDE1OC4xMjc1MTUgMjU4LjE0MjQ5NCwxMjcuMjYyNzc1IDIzOS4xODM5MTQsMTA2LjIwMjc4MyBMMjM5LjE4MzkxNCwxMDYuMjAyNzgzIFogTTE0MS42MjM5NjgsMjQyLjU0MTIwNyBDMTMwLjI1NTY4MiwyNDIuNTU5MTc3IDExOS4yNDM4NzYsMjM4LjU3NDY0MiAxMTAuNTE5MzgxLDIzMS4yODYxOTcgTDExMi4wNTQxNDYsMjMwLjQxNjQ5NiBMMTYzLjcyNDU5NSwyMDAuNTkwODgxIEMxNjYuMzQwNjQ4LDE5OS4wNTY0NDQgMTY3Ljk1NDMyMSwxOTYuMjU2ODE4IDE2Ny45NzA3ODEsMTkzLjIyNDAwNSBMMTY3Ljk3MDc4MSwxMjAuMzczNzg4IEwxODkuODE1NjE0LDEzMy4wMTAwMjYgQzE5MC4wMzQxMzIsMTMzLjEyMTQyMyAxOTAuMTg2MjM1LDEzMy4zMzA1NjQgMTkwLjIyNDg4NSwxMzMuNTcyNzc0IEwxOTAuMjI0ODg1LDE5My45NDAyMjkgQzE5MC4xNjg2MDMsMjIwLjc1ODQyNyAxNjguNDQyMTY2LDI0Mi40ODQ4NjQgMTQxLjYyMzk2OCwyNDIuNTQxMjA3IFogTTM3LjE1NzU3NDksMTk3LjkzMDYyIEMzMS40NTY0OTgsMTg4LjA4NjM1OSAyOS40MDk0ODE4LDE3Ni41NDY5ODQgMzEuMzc2NjIzNywxNjUuMzQyNDI2IEwzMi45MTEzODk1LDE2Ni4yNjMyODUgTDg0LjYzMjk5NzMsMTk2LjA4ODkwMSBDODcuMjM4OTM0OSwxOTcuNjE4MjA3IDkwLjQ2ODI3MTcsMTk3LjYxODIwNyA5My4wNzQyMDkzLDE5Ni4wODg5MDEgTDE1Ni4yNTU0MDIsMTU5LjY2Mzc5MyBMMTU2LjI1NTQwMiwxODQuODg1MTExIEMxNTYuMjQzNTU3LDE4NS4xNDk3NzEgMTU2LjExMTcyNSwxODUuMzk0NjAyIDE1NS44OTcyOSwxODUuNTUwMTc2IEwxMDMuNTYxNzc2LDIxNS43MzM5MDMgQzgwLjMwNTQ5NTMsMjI5LjEzMTYzMiA1MC41OTI0OTU0LDIyMS4xNjU0MzUgMzcuMTU3NTc0OSwxOTcuOTMwNjIgWiBNMjMuNTQ5MzE4MSw4NS4zODExMjczIEMyOS4yODk5ODYxLDc1LjQ3MzMwOTcgMzguMzUxMTkxMSw2Ny45MTYyNjQ4IDQ5LjEyODc0ODIsNjQuMDQ3ODgyNSBMNDkuMTI4NzQ4MiwxMjUuNDM4NTE1IEM0OS4wODkxNDkyLDEyOC40NTk0MjUgNTAuNjk2NTM4NiwxMzEuMjYyNTU2IDUzLjMyMzc3NDgsMTMyLjc1NDIzMiBMMTE2LjE5ODAxNCwxNjkuMDI1ODY0IEw5NC4zNTMxODA4LDE4MS42NjIxMDIgQzk0LjExMzIzMjUsMTgxLjc4OTQzNCA5My44MjU3NDYxLDE4MS43ODk0MzQgOTMuNTg1Nzk3OSwxODEuNjYyMTAyIEw0MS4zNTI2MDE1LDE1MS41Mjk1MzQgQzE4LjE0MTk0MjYsMTM4LjA3NjA5OCAxMC4xODE3NjgxLDEwOC4zODU1NjIgMjMuNTQ5MzE4MSw4NS4xMjUzMzMgTDIzLjU0OTMxODEsODUuMzgxMTI3MyBaIE0yMDMuMDE0NiwxMjcuMDc1NTk4IEwxMzkuOTM1NzI1LDkwLjQ0NTg1NDUgTDE2MS43Mjk0LDc3Ljg2MDc3NDggQzE2MS45NjkzNDgsNzcuNzMzNDQzNCAxNjIuMjU2ODM0LDc3LjczMzQ0MzQgMTYyLjQ5Njc4Myw3Ny44NjA3NzQ4IEwyMTQuNzI5OTc5LDEwOC4wNDQ1MDIgQzIzMS4wMzIzMjksMTE3LjQ1MTc0NyAyNDAuNDM3Mjk0LDEzNS40MjYxMDkgMjM4Ljg3MTUwNCwxNTQuMTgyNzM5IEMyMzcuMzA1NzE0LDE3Mi45MzkzNjggMjI1LjA1MDcxOSwxODkuMTA1NTcyIDIwNy40MTQyNjIsMTk1LjY3OTYzIEwyMDcuNDE0MjYyLDEzNC4yODg5OTggQzIwNy4zMjI1MjEsMTMxLjI3Njg2NyAyMDUuNjUwNjk3LDEyOC41MzU4NTMgMjAzLjAxNDYsMTI3LjA3NTU5OCBaIE0yMjQuNzU3MTE2LDk0LjM4NTA4NjcgTDIyMy4yMjIzNSw5My40NjQyMjcyIEwxNzEuNjAzMDYsNjMuMzgyODE3MyBDMTY4Ljk4MTI5Myw2MS44NDQzNzUxIDE2NS43MzI0NTYsNjEuODQ0Mzc1MSAxNjMuMTEwNjg5LDYzLjM4MjgxNzMgTDk5Ljk4MDY1NTQsOTkuODA3OTI1OSBMOTkuOTgwNjU1NCw3NC41ODY2MDc3IEM5OS45NTMzMDA0LDc0LjMyNTQwODggMTAwLjA3MTA5NSw3NC4wNzAxODY5IDEwMC4yODc2MDksNzMuOTIxNTQyNiBMMTUyLjUyMDgwNSw0My43ODg5NzM4IEMxNjguODYzMDk4LDM0LjM3NDM1MTggMTg5LjE3NDI1NiwzNS4yNTI5MDQzIDIwNC42NDI1NzksNDYuMDQzNDg0MSBDMjIwLjExMDkwMyw1Ni44MzQwNjM4IDIyNy45NDkyNjksNzUuNTkyMzk1OSAyMjQuNzU3MTE2LDk0LjE4MDQ1MTMgTDIyNC43NTcxMTYsOTQuMzg1MDg2NyBaIE04OC4wNjA2NDA5LDEzOS4wOTc5MzEgTDY2LjIxNTgwNzYsMTI2LjUxMjg1MSBDNjUuOTk1MDM5OSwxMjYuMzc5MDkxIDY1Ljg0NTA5NjUsMTI2LjE1NDE3NiA2NS44MDY1MzY3LDEyNS44OTg5NDUgTDY1LjgwNjUzNjcsNjUuNjg0OTY2IEM2NS44MzE0NDk1LDQ2LjgyODUzNjcgNzYuNzUwMDYwNSwyOS42ODQ2MDMyIDkzLjgyNzA4NTIsMjEuNjg4MzA1NSBDMTEwLjkwNDExLDEzLjY5MjAwNzkgMTMxLjA2MzgzMywxNi4yODM1NDYyIDE0NS41NjMyLDI4LjMzODk5OCBMMTQ0LjAyODQzNCwyOS4yMDg2OTg2IEw5Mi4zNTc5ODUyLDU5LjAzNDMxNDIgQzg5Ljc0MTkzMjcsNjAuNTY4NzUxMyA4OC4xMjgyNTk3LDYzLjM2ODM3NjcgODguMTExNzk5OCw2Ni40MDExOTAxIEw4OC4wNjA2NDA5LDEzOS4wOTc5MzEgWiBNOTkuOTI5NDk2NSwxMTMuNTE4NSBMMTI4LjA2Njg3LDk3LjMwMTE0MTcgTDE1Ni4yNTU0MDIsMTEzLjUxODUgTDE1Ni4yNTU0MDIsMTQ1Ljk1MzIxOCBMMTI4LjE2OTE4NywxNjIuMTcwNTc3IEw5OS45ODA2NTU0LDE0NS45NTMyMTggTDk5LjkyOTQ5NjUsMTEzLjUxODUgWiIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"
@@ -882,11 +1331,16 @@
882
1331
  },
883
1332
  {
884
1333
  "label": "Model",
885
- "description": "Select the model",
1334
+ "id": "model",
1335
+ "description": "Select the model (or Custom for free text)",
886
1336
  "group": "input",
887
1337
  "type": "Dropdown",
888
1338
  "value": "gpt-3.5-turbo",
889
1339
  "choices": [
1340
+ {
1341
+ "name": "Custom",
1342
+ "value": "custom"
1343
+ },
890
1344
  {
891
1345
  "name": "GPT-3.5-turbo",
892
1346
  "value": "gpt-3.5-turbo"
@@ -894,6 +1348,14 @@
894
1348
  {
895
1349
  "name": "GPT-4",
896
1350
  "value": "gpt-4"
1351
+ },
1352
+ {
1353
+ "name": "GPT-4-turbo",
1354
+ "value": "gpt-4-turbo"
1355
+ },
1356
+ {
1357
+ "name": "GPT-4o",
1358
+ "value": "gpt-4o"
897
1359
  }
898
1360
  ],
899
1361
  "binding": {
@@ -905,6 +1367,45 @@
905
1367
  "equals": "chat"
906
1368
  }
907
1369
  },
1370
+ {
1371
+ "label": "Custom model version",
1372
+ "description": "Select the <a href=\"https://platform.openai.com/docs/models/overview\" target=\"_blank\">model</a> version",
1373
+ "group": "input",
1374
+ "type": "Text",
1375
+ "binding": {
1376
+ "type": "zeebe:input",
1377
+ "name": "internal_custom_model"
1378
+ },
1379
+ "condition": {
1380
+ "property": "model",
1381
+ "equals": "custom"
1382
+ },
1383
+ "constraints": {
1384
+ "notEmpty": true
1385
+ }
1386
+ },
1387
+ {
1388
+ "label": "Temperature",
1389
+ "description": "Select the temperature (between 0 and 2)",
1390
+ "group": "input",
1391
+ "type": "Text",
1392
+ "value": "1",
1393
+ "binding": {
1394
+ "type": "zeebe:input",
1395
+ "name": "internal_temperature"
1396
+ },
1397
+ "condition": {
1398
+ "property": "operation",
1399
+ "equals": "chat"
1400
+ },
1401
+ "constraints": {
1402
+ "notEmpty": true,
1403
+ "pattern": {
1404
+ "value": "^(2|1|0|1\\.\\d{1,2}|0\\.\\d{1,2})$",
1405
+ "message": "must be a number between 0 and 2 (e.g. 0, 1.4, 2)"
1406
+ }
1407
+ }
1408
+ },
908
1409
  {
909
1410
  "label": "System message",
910
1411
  "description": "Optional initial instructions for the model",
@@ -975,7 +1476,7 @@
975
1476
  "notEmpty": true,
976
1477
  "pattern": {
977
1478
  "value": "^[1-9]\\d*$",
978
- "message": "Must be a positive integer number"
1479
+ "message": "must be a positive integer number"
979
1480
  }
980
1481
  }
981
1482
  },
@@ -993,7 +1494,7 @@
993
1494
  },
994
1495
  {
995
1496
  "type": "Hidden",
996
- "value": "={\"model\": internal_model, \"messages\": internal_messages, \"n\": number(internal_choices)}",
1497
+ "value": "={\"model\": if is defined(internal_custom_model) then internal_custom_model else internal_model, \"messages\": internal_messages, \"n\": number(internal_choices), \"temperature\": number(internal_temperature)}",
997
1498
  "binding": {
998
1499
  "type": "zeebe:input",
999
1500
  "name": "body"
@@ -1052,8 +1553,8 @@
1052
1553
  "constraints": {
1053
1554
  "notEmpty": false,
1054
1555
  "pattern": {
1055
- "value": "^(=|([0-9]+|secrets\\..+)$)",
1056
- "message": "Must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
1556
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
1557
+ "message": "must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
1057
1558
  }
1058
1559
  }
1059
1560
  },
@@ -1070,7 +1571,7 @@
1070
1571
  }
1071
1572
  ],
1072
1573
  "engines": {
1073
- "camunda": "^8.2"
1574
+ "camunda": "^8.6"
1074
1575
  }
1075
1576
  },
1076
1577
  {
@@ -1525,10 +2026,7 @@
1525
2026
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1526
2027
  "name": "OpenAI connector",
1527
2028
  "id": "io.camunda.connectors.OpenAI.v1",
1528
- "deprecated": {
1529
- "message": "Replace with 'OpenAI connector' template.",
1530
- "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
1531
- },
2029
+ "version": 2,
1532
2030
  "description": "Interact with ChatGPT or moderation API",
1533
2031
  "icon": {
1534
2032
  "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjYwcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjYwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5PcGVuQUk8L3RpdGxlPgogICAgPGc+CiAgICAgICAgPHBhdGggZD0iTTIzOS4xODM5MTQsMTA2LjIwMjc4MyBDMjQ1LjA1NDMwNCw4OC41MjQyMDk2IDI0My4wMjIyOCw2OS4xNzMzODA1IDIzMy42MDc1OTksNTMuMDk5ODg2NCBDMjE5LjQ1MTY3OCwyOC40NTg4MDIxIDE5MC45OTk3MDMsMTUuNzgzNjEyOSAxNjMuMjEzMDA3LDIxLjczOTUwNSBDMTQ3LjU1NDA3Nyw0LjMyMTQ1ODgzIDEyMy43OTQ5MDksLTMuNDIzOTg1NTQgMTAwLjg3OTAxLDEuNDE4NzM4OTggQzc3Ljk2MzExMDUsNi4yNjE0NjM0OSA1OS4zNjkwMDkzLDIyLjk1NzI1MzYgNTIuMDk1OTYyMSw0NS4yMjE0MjE5IEMzMy44NDM2NDk0LDQ4Ljk2NDQ4NjcgMTguMDkwMTcyMSw2MC4zOTI3NDkgOC44NjY3MjUxMyw3Ni41ODE4MDMzIEMtNS40NDM0OTEsMTAxLjE4Mjk2MiAtMi4xOTU0NDQzMSwxMzIuMjE1MjU1IDE2Ljg5ODY2NjIsMTUzLjMyMDA5NCBDMTEuMDA2MDg2NSwxNzAuOTkwNjU2IDEzLjAxOTcyODMsMTkwLjM0Mzk5MSAyMi40MjM4MjMxLDIwNi40MjI5OTEgQzM2LjU5NzU1NTMsMjMxLjA3MjM0NCA2NS4wNjgwMzQyLDI0My43NDY1NjYgOTIuODY5NTczOCwyMzcuNzgzMzcyIEMxMDUuMjM1NjM5LDI1MS43MDgyNDkgMTIzLjAwMTExMywyNTkuNjMwOTQyIDE0MS42MjM5NjgsMjU5LjUyNjkyIEMxNzAuMTA1MzU5LDI1OS41NTIxNjkgMTk1LjMzNzYxMSwyNDEuMTY1NzE4IDIwNC4wMzc3NzcsMjE0LjA0NTY2MSBDMjIyLjI4NzM0LDIxMC4yOTYzNTYgMjM4LjAzODQ4OSwxOTguODY5NzgzIDI0Ny4yNjcwMTQsMTgyLjY4NTI4IEMyNjEuNDA0NDUzLDE1OC4xMjc1MTUgMjU4LjE0MjQ5NCwxMjcuMjYyNzc1IDIzOS4xODM5MTQsMTA2LjIwMjc4MyBMMjM5LjE4MzkxNCwxMDYuMjAyNzgzIFogTTE0MS42MjM5NjgsMjQyLjU0MTIwNyBDMTMwLjI1NTY4MiwyNDIuNTU5MTc3IDExOS4yNDM4NzYsMjM4LjU3NDY0MiAxMTAuNTE5MzgxLDIzMS4yODYxOTcgTDExMi4wNTQxNDYsMjMwLjQxNjQ5NiBMMTYzLjcyNDU5NSwyMDAuNTkwODgxIEMxNjYuMzQwNjQ4LDE5OS4wNTY0NDQgMTY3Ljk1NDMyMSwxOTYuMjU2ODE4IDE2Ny45NzA3ODEsMTkzLjIyNDAwNSBMMTY3Ljk3MDc4MSwxMjAuMzczNzg4IEwxODkuODE1NjE0LDEzMy4wMTAwMjYgQzE5MC4wMzQxMzIsMTMzLjEyMTQyMyAxOTAuMTg2MjM1LDEzMy4zMzA1NjQgMTkwLjIyNDg4NSwxMzMuNTcyNzc0IEwxOTAuMjI0ODg1LDE5My45NDAyMjkgQzE5MC4xNjg2MDMsMjIwLjc1ODQyNyAxNjguNDQyMTY2LDI0Mi40ODQ4NjQgMTQxLjYyMzk2OCwyNDIuNTQxMjA3IFogTTM3LjE1NzU3NDksMTk3LjkzMDYyIEMzMS40NTY0OTgsMTg4LjA4NjM1OSAyOS40MDk0ODE4LDE3Ni41NDY5ODQgMzEuMzc2NjIzNywxNjUuMzQyNDI2IEwzMi45MTEzODk1LDE2Ni4yNjMyODUgTDg0LjYzMjk5NzMsMTk2LjA4ODkwMSBDODcuMjM4OTM0OSwxOTcuNjE4MjA3IDkwLjQ2ODI3MTcsMTk3LjYxODIwNyA5My4wNzQyMDkzLDE5Ni4wODg5MDEgTDE1Ni4yNTU0MDIsMTU5LjY2Mzc5MyBMMTU2LjI1NTQwMiwxODQuODg1MTExIEMxNTYuMjQzNTU3LDE4NS4xNDk3NzEgMTU2LjExMTcyNSwxODUuMzk0NjAyIDE1NS44OTcyOSwxODUuNTUwMTc2IEwxMDMuNTYxNzc2LDIxNS43MzM5MDMgQzgwLjMwNTQ5NTMsMjI5LjEzMTYzMiA1MC41OTI0OTU0LDIyMS4xNjU0MzUgMzcuMTU3NTc0OSwxOTcuOTMwNjIgWiBNMjMuNTQ5MzE4MSw4NS4zODExMjczIEMyOS4yODk5ODYxLDc1LjQ3MzMwOTcgMzguMzUxMTkxMSw2Ny45MTYyNjQ4IDQ5LjEyODc0ODIsNjQuMDQ3ODgyNSBMNDkuMTI4NzQ4MiwxMjUuNDM4NTE1IEM0OS4wODkxNDkyLDEyOC40NTk0MjUgNTAuNjk2NTM4NiwxMzEuMjYyNTU2IDUzLjMyMzc3NDgsMTMyLjc1NDIzMiBMMTE2LjE5ODAxNCwxNjkuMDI1ODY0IEw5NC4zNTMxODA4LDE4MS42NjIxMDIgQzk0LjExMzIzMjUsMTgxLjc4OTQzNCA5My44MjU3NDYxLDE4MS43ODk0MzQgOTMuNTg1Nzk3OSwxODEuNjYyMTAyIEw0MS4zNTI2MDE1LDE1MS41Mjk1MzQgQzE4LjE0MTk0MjYsMTM4LjA3NjA5OCAxMC4xODE3NjgxLDEwOC4zODU1NjIgMjMuNTQ5MzE4MSw4NS4xMjUzMzMgTDIzLjU0OTMxODEsODUuMzgxMTI3MyBaIE0yMDMuMDE0NiwxMjcuMDc1NTk4IEwxMzkuOTM1NzI1LDkwLjQ0NTg1NDUgTDE2MS43Mjk0LDc3Ljg2MDc3NDggQzE2MS45NjkzNDgsNzcuNzMzNDQzNCAxNjIuMjU2ODM0LDc3LjczMzQ0MzQgMTYyLjQ5Njc4Myw3Ny44NjA3NzQ4IEwyMTQuNzI5OTc5LDEwOC4wNDQ1MDIgQzIzMS4wMzIzMjksMTE3LjQ1MTc0NyAyNDAuNDM3Mjk0LDEzNS40MjYxMDkgMjM4Ljg3MTUwNCwxNTQuMTgyNzM5IEMyMzcuMzA1NzE0LDE3Mi45MzkzNjggMjI1LjA1MDcxOSwxODkuMTA1NTcyIDIwNy40MTQyNjIsMTk1LjY3OTYzIEwyMDcuNDE0MjYyLDEzNC4yODg5OTggQzIwNy4zMjI1MjEsMTMxLjI3Njg2NyAyMDUuNjUwNjk3LDEyOC41MzU4NTMgMjAzLjAxNDYsMTI3LjA3NTU5OCBaIE0yMjQuNzU3MTE2LDk0LjM4NTA4NjcgTDIyMy4yMjIzNSw5My40NjQyMjcyIEwxNzEuNjAzMDYsNjMuMzgyODE3MyBDMTY4Ljk4MTI5Myw2MS44NDQzNzUxIDE2NS43MzI0NTYsNjEuODQ0Mzc1MSAxNjMuMTEwNjg5LDYzLjM4MjgxNzMgTDk5Ljk4MDY1NTQsOTkuODA3OTI1OSBMOTkuOTgwNjU1NCw3NC41ODY2MDc3IEM5OS45NTMzMDA0LDc0LjMyNTQwODggMTAwLjA3MTA5NSw3NC4wNzAxODY5IDEwMC4yODc2MDksNzMuOTIxNTQyNiBMMTUyLjUyMDgwNSw0My43ODg5NzM4IEMxNjguODYzMDk4LDM0LjM3NDM1MTggMTg5LjE3NDI1NiwzNS4yNTI5MDQzIDIwNC42NDI1NzksNDYuMDQzNDg0MSBDMjIwLjExMDkwMyw1Ni44MzQwNjM4IDIyNy45NDkyNjksNzUuNTkyMzk1OSAyMjQuNzU3MTE2LDk0LjE4MDQ1MTMgTDIyNC43NTcxMTYsOTQuMzg1MDg2NyBaIE04OC4wNjA2NDA5LDEzOS4wOTc5MzEgTDY2LjIxNTgwNzYsMTI2LjUxMjg1MSBDNjUuOTk1MDM5OSwxMjYuMzc5MDkxIDY1Ljg0NTA5NjUsMTI2LjE1NDE3NiA2NS44MDY1MzY3LDEyNS44OTg5NDUgTDY1LjgwNjUzNjcsNjUuNjg0OTY2IEM2NS44MzE0NDk1LDQ2LjgyODUzNjcgNzYuNzUwMDYwNSwyOS42ODQ2MDMyIDkzLjgyNzA4NTIsMjEuNjg4MzA1NSBDMTEwLjkwNDExLDEzLjY5MjAwNzkgMTMxLjA2MzgzMywxNi4yODM1NDYyIDE0NS41NjMyLDI4LjMzODk5OCBMMTQ0LjAyODQzNCwyOS4yMDg2OTg2IEw5Mi4zNTc5ODUyLDU5LjAzNDMxNDIgQzg5Ljc0MTkzMjcsNjAuNTY4NzUxMyA4OC4xMjgyNTk3LDYzLjM2ODM3NjcgODguMTExNzk5OCw2Ni40MDExOTAxIEw4OC4wNjA2NDA5LDEzOS4wOTc5MzEgWiBNOTkuOTI5NDk2NSwxMTMuNTE4NSBMMTI4LjA2Njg3LDk3LjMwMTE0MTcgTDE1Ni4yNTU0MDIsMTEzLjUxODUgTDE1Ni4yNTU0MDIsMTQ1Ljk1MzIxOCBMMTI4LjE2OTE4NywxNjIuMTcwNTc3IEw5OS45ODA2NTU0LDE0NS45NTMyMTggTDk5LjkyOTQ5NjUsMTEzLjUxODUgWiIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"
@@ -1861,7 +2359,7 @@
1861
2359
  "constraints": {
1862
2360
  "notEmpty": false,
1863
2361
  "pattern": {
1864
- "value": "^(=|([0-9]+|secrets\\..+)$)",
2362
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1865
2363
  "message": "Must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
1866
2364
  }
1867
2365
  }
@@ -1877,13 +2375,16 @@
1877
2375
  "key": "errorExpression"
1878
2376
  }
1879
2377
  }
1880
- ]
2378
+ ],
2379
+ "engines": {
2380
+ "camunda": "^8.2"
2381
+ }
1881
2382
  },
1882
2383
  {
1883
2384
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1884
- "name": "OpenAI Outbound Connector",
2385
+ "name": "OpenAI connector",
1885
2386
  "id": "io.camunda.connectors.OpenAI.v1",
1886
- "version": 5,
2387
+ "version": 1,
1887
2388
  "description": "Interact with ChatGPT or moderation API",
1888
2389
  "icon": {
1889
2390
  "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjYwcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjYwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5PcGVuQUk8L3RpdGxlPgogICAgPGc+CiAgICAgICAgPHBhdGggZD0iTTIzOS4xODM5MTQsMTA2LjIwMjc4MyBDMjQ1LjA1NDMwNCw4OC41MjQyMDk2IDI0My4wMjIyOCw2OS4xNzMzODA1IDIzMy42MDc1OTksNTMuMDk5ODg2NCBDMjE5LjQ1MTY3OCwyOC40NTg4MDIxIDE5MC45OTk3MDMsMTUuNzgzNjEyOSAxNjMuMjEzMDA3LDIxLjczOTUwNSBDMTQ3LjU1NDA3Nyw0LjMyMTQ1ODgzIDEyMy43OTQ5MDksLTMuNDIzOTg1NTQgMTAwLjg3OTAxLDEuNDE4NzM4OTggQzc3Ljk2MzExMDUsNi4yNjE0NjM0OSA1OS4zNjkwMDkzLDIyLjk1NzI1MzYgNTIuMDk1OTYyMSw0NS4yMjE0MjE5IEMzMy44NDM2NDk0LDQ4Ljk2NDQ4NjcgMTguMDkwMTcyMSw2MC4zOTI3NDkgOC44NjY3MjUxMyw3Ni41ODE4MDMzIEMtNS40NDM0OTEsMTAxLjE4Mjk2MiAtMi4xOTU0NDQzMSwxMzIuMjE1MjU1IDE2Ljg5ODY2NjIsMTUzLjMyMDA5NCBDMTEuMDA2MDg2NSwxNzAuOTkwNjU2IDEzLjAxOTcyODMsMTkwLjM0Mzk5MSAyMi40MjM4MjMxLDIwNi40MjI5OTEgQzM2LjU5NzU1NTMsMjMxLjA3MjM0NCA2NS4wNjgwMzQyLDI0My43NDY1NjYgOTIuODY5NTczOCwyMzcuNzgzMzcyIEMxMDUuMjM1NjM5LDI1MS43MDgyNDkgMTIzLjAwMTExMywyNTkuNjMwOTQyIDE0MS42MjM5NjgsMjU5LjUyNjkyIEMxNzAuMTA1MzU5LDI1OS41NTIxNjkgMTk1LjMzNzYxMSwyNDEuMTY1NzE4IDIwNC4wMzc3NzcsMjE0LjA0NTY2MSBDMjIyLjI4NzM0LDIxMC4yOTYzNTYgMjM4LjAzODQ4OSwxOTguODY5NzgzIDI0Ny4yNjcwMTQsMTgyLjY4NTI4IEMyNjEuNDA0NDUzLDE1OC4xMjc1MTUgMjU4LjE0MjQ5NCwxMjcuMjYyNzc1IDIzOS4xODM5MTQsMTA2LjIwMjc4MyBMMjM5LjE4MzkxNCwxMDYuMjAyNzgzIFogTTE0MS42MjM5NjgsMjQyLjU0MTIwNyBDMTMwLjI1NTY4MiwyNDIuNTU5MTc3IDExOS4yNDM4NzYsMjM4LjU3NDY0MiAxMTAuNTE5MzgxLDIzMS4yODYxOTcgTDExMi4wNTQxNDYsMjMwLjQxNjQ5NiBMMTYzLjcyNDU5NSwyMDAuNTkwODgxIEMxNjYuMzQwNjQ4LDE5OS4wNTY0NDQgMTY3Ljk1NDMyMSwxOTYuMjU2ODE4IDE2Ny45NzA3ODEsMTkzLjIyNDAwNSBMMTY3Ljk3MDc4MSwxMjAuMzczNzg4IEwxODkuODE1NjE0LDEzMy4wMTAwMjYgQzE5MC4wMzQxMzIsMTMzLjEyMTQyMyAxOTAuMTg2MjM1LDEzMy4zMzA1NjQgMTkwLjIyNDg4NSwxMzMuNTcyNzc0IEwxOTAuMjI0ODg1LDE5My45NDAyMjkgQzE5MC4xNjg2MDMsMjIwLjc1ODQyNyAxNjguNDQyMTY2LDI0Mi40ODQ4NjQgMTQxLjYyMzk2OCwyNDIuNTQxMjA3IFogTTM3LjE1NzU3NDksMTk3LjkzMDYyIEMzMS40NTY0OTgsMTg4LjA4NjM1OSAyOS40MDk0ODE4LDE3Ni41NDY5ODQgMzEuMzc2NjIzNywxNjUuMzQyNDI2IEwzMi45MTEzODk1LDE2Ni4yNjMyODUgTDg0LjYzMjk5NzMsMTk2LjA4ODkwMSBDODcuMjM4OTM0OSwxOTcuNjE4MjA3IDkwLjQ2ODI3MTcsMTk3LjYxODIwNyA5My4wNzQyMDkzLDE5Ni4wODg5MDEgTDE1Ni4yNTU0MDIsMTU5LjY2Mzc5MyBMMTU2LjI1NTQwMiwxODQuODg1MTExIEMxNTYuMjQzNTU3LDE4NS4xNDk3NzEgMTU2LjExMTcyNSwxODUuMzk0NjAyIDE1NS44OTcyOSwxODUuNTUwMTc2IEwxMDMuNTYxNzc2LDIxNS43MzM5MDMgQzgwLjMwNTQ5NTMsMjI5LjEzMTYzMiA1MC41OTI0OTU0LDIyMS4xNjU0MzUgMzcuMTU3NTc0OSwxOTcuOTMwNjIgWiBNMjMuNTQ5MzE4MSw4NS4zODExMjczIEMyOS4yODk5ODYxLDc1LjQ3MzMwOTcgMzguMzUxMTkxMSw2Ny45MTYyNjQ4IDQ5LjEyODc0ODIsNjQuMDQ3ODgyNSBMNDkuMTI4NzQ4MiwxMjUuNDM4NTE1IEM0OS4wODkxNDkyLDEyOC40NTk0MjUgNTAuNjk2NTM4NiwxMzEuMjYyNTU2IDUzLjMyMzc3NDgsMTMyLjc1NDIzMiBMMTE2LjE5ODAxNCwxNjkuMDI1ODY0IEw5NC4zNTMxODA4LDE4MS42NjIxMDIgQzk0LjExMzIzMjUsMTgxLjc4OTQzNCA5My44MjU3NDYxLDE4MS43ODk0MzQgOTMuNTg1Nzk3OSwxODEuNjYyMTAyIEw0MS4zNTI2MDE1LDE1MS41Mjk1MzQgQzE4LjE0MTk0MjYsMTM4LjA3NjA5OCAxMC4xODE3NjgxLDEwOC4zODU1NjIgMjMuNTQ5MzE4MSw4NS4xMjUzMzMgTDIzLjU0OTMxODEsODUuMzgxMTI3MyBaIE0yMDMuMDE0NiwxMjcuMDc1NTk4IEwxMzkuOTM1NzI1LDkwLjQ0NTg1NDUgTDE2MS43Mjk0LDc3Ljg2MDc3NDggQzE2MS45NjkzNDgsNzcuNzMzNDQzNCAxNjIuMjU2ODM0LDc3LjczMzQ0MzQgMTYyLjQ5Njc4Myw3Ny44NjA3NzQ4IEwyMTQuNzI5OTc5LDEwOC4wNDQ1MDIgQzIzMS4wMzIzMjksMTE3LjQ1MTc0NyAyNDAuNDM3Mjk0LDEzNS40MjYxMDkgMjM4Ljg3MTUwNCwxNTQuMTgyNzM5IEMyMzcuMzA1NzE0LDE3Mi45MzkzNjggMjI1LjA1MDcxOSwxODkuMTA1NTcyIDIwNy40MTQyNjIsMTk1LjY3OTYzIEwyMDcuNDE0MjYyLDEzNC4yODg5OTggQzIwNy4zMjI1MjEsMTMxLjI3Njg2NyAyMDUuNjUwNjk3LDEyOC41MzU4NTMgMjAzLjAxNDYsMTI3LjA3NTU5OCBaIE0yMjQuNzU3MTE2LDk0LjM4NTA4NjcgTDIyMy4yMjIzNSw5My40NjQyMjcyIEwxNzEuNjAzMDYsNjMuMzgyODE3MyBDMTY4Ljk4MTI5Myw2MS44NDQzNzUxIDE2NS43MzI0NTYsNjEuODQ0Mzc1MSAxNjMuMTEwNjg5LDYzLjM4MjgxNzMgTDk5Ljk4MDY1NTQsOTkuODA3OTI1OSBMOTkuOTgwNjU1NCw3NC41ODY2MDc3IEM5OS45NTMzMDA0LDc0LjMyNTQwODggMTAwLjA3MTA5NSw3NC4wNzAxODY5IDEwMC4yODc2MDksNzMuOTIxNTQyNiBMMTUyLjUyMDgwNSw0My43ODg5NzM4IEMxNjguODYzMDk4LDM0LjM3NDM1MTggMTg5LjE3NDI1NiwzNS4yNTI5MDQzIDIwNC42NDI1NzksNDYuMDQzNDg0MSBDMjIwLjExMDkwMyw1Ni44MzQwNjM4IDIyNy45NDkyNjksNzUuNTkyMzk1OSAyMjQuNzU3MTE2LDk0LjE4MDQ1MTMgTDIyNC43NTcxMTYsOTQuMzg1MDg2NyBaIE04OC4wNjA2NDA5LDEzOS4wOTc5MzEgTDY2LjIxNTgwNzYsMTI2LjUxMjg1MSBDNjUuOTk1MDM5OSwxMjYuMzc5MDkxIDY1Ljg0NTA5NjUsMTI2LjE1NDE3NiA2NS44MDY1MzY3LDEyNS44OTg5NDUgTDY1LjgwNjUzNjcsNjUuNjg0OTY2IEM2NS44MzE0NDk1LDQ2LjgyODUzNjcgNzYuNzUwMDYwNSwyOS42ODQ2MDMyIDkzLjgyNzA4NTIsMjEuNjg4MzA1NSBDMTEwLjkwNDExLDEzLjY5MjAwNzkgMTMxLjA2MzgzMywxNi4yODM1NDYyIDE0NS41NjMyLDI4LjMzODk5OCBMMTQ0LjAyODQzNCwyOS4yMDg2OTg2IEw5Mi4zNTc5ODUyLDU5LjAzNDMxNDIgQzg5Ljc0MTkzMjcsNjAuNTY4NzUxMyA4OC4xMjgyNTk3LDYzLjM2ODM3NjcgODguMTExNzk5OCw2Ni40MDExOTAxIEw4OC4wNjA2NDA5LDEzOS4wOTc5MzEgWiBNOTkuOTI5NDk2NSwxMTMuNTE4NSBMMTI4LjA2Njg3LDk3LjMwMTE0MTcgTDE1Ni4yNTU0MDIsMTEzLjUxODUgTDE1Ni4yNTU0MDIsMTQ1Ljk1MzIxOCBMMTI4LjE2OTE4NywxNjIuMTcwNTc3IEw5OS45ODA2NTU0LDE0NS45NTMyMTggTDk5LjkyOTQ5NjUsMTEzLjUxODUgWiIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"
@@ -2046,16 +2547,11 @@
2046
2547
  },
2047
2548
  {
2048
2549
  "label": "Model",
2049
- "id": "model",
2050
- "description": "Select the model (or Custom for free text)",
2550
+ "description": "Select the model",
2051
2551
  "group": "input",
2052
2552
  "type": "Dropdown",
2053
2553
  "value": "gpt-3.5-turbo",
2054
2554
  "choices": [
2055
- {
2056
- "name": "Custom",
2057
- "value": "custom"
2058
- },
2059
2555
  {
2060
2556
  "name": "GPT-3.5-turbo",
2061
2557
  "value": "gpt-3.5-turbo"
@@ -2063,14 +2559,6 @@
2063
2559
  {
2064
2560
  "name": "GPT-4",
2065
2561
  "value": "gpt-4"
2066
- },
2067
- {
2068
- "name": "GPT-4-turbo",
2069
- "value": "gpt-4-turbo"
2070
- },
2071
- {
2072
- "name": "GPT-4o",
2073
- "value": "gpt-4o"
2074
2562
  }
2075
2563
  ],
2076
2564
  "binding": {
@@ -2082,45 +2570,6 @@
2082
2570
  "equals": "chat"
2083
2571
  }
2084
2572
  },
2085
- {
2086
- "label": "Custom model version",
2087
- "description": "Select the <a href=\"https://platform.openai.com/docs/models/overview\" target=\"_blank\">model</a> version",
2088
- "group": "input",
2089
- "type": "Text",
2090
- "binding": {
2091
- "type": "zeebe:input",
2092
- "name": "internal_custom_model"
2093
- },
2094
- "condition": {
2095
- "property": "model",
2096
- "equals": "custom"
2097
- },
2098
- "constraints": {
2099
- "notEmpty": true
2100
- }
2101
- },
2102
- {
2103
- "label": "Temperature",
2104
- "description": "Select the temperature (between 0 and 2)",
2105
- "group": "input",
2106
- "type": "Text",
2107
- "value": "1",
2108
- "binding": {
2109
- "type": "zeebe:input",
2110
- "name": "internal_temperature"
2111
- },
2112
- "condition": {
2113
- "property": "operation",
2114
- "equals": "chat"
2115
- },
2116
- "constraints": {
2117
- "notEmpty": true,
2118
- "pattern": {
2119
- "value": "^(2|1|0|1\\.\\d{1,2}|0\\.\\d{1,2})$",
2120
- "message": "must be a number between 0 and 2 (e.g. 0, 1.4, 2)"
2121
- }
2122
- }
2123
- },
2124
2573
  {
2125
2574
  "label": "System message",
2126
2575
  "description": "Optional initial instructions for the model",
@@ -2191,7 +2640,7 @@
2191
2640
  "notEmpty": true,
2192
2641
  "pattern": {
2193
2642
  "value": "^[1-9]\\d*$",
2194
- "message": "must be a positive integer number"
2643
+ "message": "Must be a positive integer number"
2195
2644
  }
2196
2645
  }
2197
2646
  },
@@ -2209,7 +2658,7 @@
2209
2658
  },
2210
2659
  {
2211
2660
  "type": "Hidden",
2212
- "value": "={\"model\": if is defined(internal_custom_model) then internal_custom_model else internal_model, \"messages\": internal_messages, \"n\": number(internal_choices), \"temperature\": number(internal_temperature)}",
2661
+ "value": "={\"model\": internal_model, \"messages\": internal_messages, \"n\": number(internal_choices)}",
2213
2662
  "binding": {
2214
2663
  "type": "zeebe:input",
2215
2664
  "name": "body"
@@ -2268,8 +2717,8 @@
2268
2717
  "constraints": {
2269
2718
  "notEmpty": false,
2270
2719
  "pattern": {
2271
- "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
2272
- "message": "must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
2720
+ "value": "^(=|([0-9]+|secrets\\..+)$)",
2721
+ "message": "Must be a timeout in seconds (default value is 30 seconds) or a FEEL expression"
2273
2722
  }
2274
2723
  }
2275
2724
  },
@@ -2286,7 +2735,7 @@
2286
2735
  }
2287
2736
  ],
2288
2737
  "engines": {
2289
- "camunda": "^8.6"
2738
+ "camunda": "^8.2"
2290
2739
  }
2291
2740
  },
2292
2741
  {
@@ -2699,7 +3148,7 @@
2699
3148
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2700
3149
  "name": "OpenAI Outbound Connector",
2701
3150
  "id": "io.camunda.connectors.OpenAI.v1",
2702
- "version": 7,
3151
+ "version": 8,
2703
3152
  "engines": {
2704
3153
  "camunda": "^8.3"
2705
3154
  },
@@ -2731,6 +3180,10 @@
2731
3180
  "value": "bpmn:ServiceTask"
2732
3181
  },
2733
3182
  "groups": [
3183
+ {
3184
+ "id": "operation",
3185
+ "label": "Operation"
3186
+ },
2734
3187
  {
2735
3188
  "id": "authentication",
2736
3189
  "label": "Authentication"
@@ -2774,7 +3227,6 @@
2774
3227
  "label": "OpenAI API key",
2775
3228
  "group": "authentication",
2776
3229
  "feel": "optional",
2777
- "description": "Your OpenAI API key",
2778
3230
  "type": "String",
2779
3231
  "binding": {
2780
3232
  "type": "zeebe:input",
@@ -2787,7 +3239,7 @@
2787
3239
  {
2788
3240
  "label": "Organization",
2789
3241
  "group": "authentication",
2790
- "description": "For members of multiple organizations. Details in the <a href=\"https://platform.openai.com/docs/api-reference/requesting-organization\" target=\"_blank\">OpenAI documentation</a>",
3242
+ "tooltip": "For members of multiple organizations. <a href=\"https://platform.openai.com/docs/api-reference/requesting-organization\" target=\"_blank\">OpenAI organization documentation</a>",
2791
3243
  "type": "String",
2792
3244
  "feel": "optional",
2793
3245
  "binding": {
@@ -2807,8 +3259,8 @@
2807
3259
  },
2808
3260
  {
2809
3261
  "label": "Operation",
2810
- "group": "input",
2811
- "description": "OpenAI API operation",
3262
+ "group": "operation",
3263
+ "tooltip": "Chat: generate a chat completion. Moderation: classify text for policy-violating content.",
2812
3264
  "type": "Dropdown",
2813
3265
  "id": "operation",
2814
3266
  "value": "chat",
@@ -2862,7 +3314,7 @@
2862
3314
  },
2863
3315
  {
2864
3316
  "label": "Evaluation input",
2865
- "description": "Provide the text to analyze as static value or variable",
3317
+ "tooltip": "Text to classify with the moderation API.",
2866
3318
  "group": "input",
2867
3319
  "type": "Text",
2868
3320
  "feel": "optional",
@@ -2881,7 +3333,7 @@
2881
3333
  {
2882
3334
  "label": "Model",
2883
3335
  "id": "model",
2884
- "description": "Select the model (or Custom for free text)",
3336
+ "tooltip": "Choose a listed model, or Custom to enter a model version as free text.",
2885
3337
  "group": "input",
2886
3338
  "type": "Dropdown",
2887
3339
  "value": "gpt-3.5-turbo",
@@ -2918,7 +3370,8 @@
2918
3370
  },
2919
3371
  {
2920
3372
  "label": "Custom model version",
2921
- "description": "Select the <a href=\"https://platform.openai.com/docs/models/overview\" target=\"_blank\">model</a> version",
3373
+ "tooltip": "Model version to invoke. See the available <a href=\"https://platform.openai.com/docs/models/overview\" target=\"_blank\">OpenAI models</a>.",
3374
+ "placeholder": "gpt-4o-mini",
2922
3375
  "group": "input",
2923
3376
  "type": "Text",
2924
3377
  "binding": {
@@ -2935,7 +3388,8 @@
2935
3388
  },
2936
3389
  {
2937
3390
  "label": "Temperature",
2938
- "description": "Select the temperature (between 0 and 2)",
3391
+ "tooltip": "Sampling temperature: higher values make output more random, lower values more focused and deterministic.",
3392
+ "description": "Between 0 and 2.",
2939
3393
  "group": "input",
2940
3394
  "type": "Text",
2941
3395
  "value": "1",
@@ -2957,7 +3411,7 @@
2957
3411
  },
2958
3412
  {
2959
3413
  "label": "System message",
2960
- "description": "Optional initial instructions for the model",
3414
+ "tooltip": "Optional initial instructions for the model",
2961
3415
  "group": "input",
2962
3416
  "type": "Text",
2963
3417
  "optional": true,
@@ -2973,7 +3427,7 @@
2973
3427
  },
2974
3428
  {
2975
3429
  "label": "Chat history",
2976
- "description": "Optional chat history, or examples of the desired model behavior",
3430
+ "tooltip": "Optional chat history, or examples of the desired model behavior",
2977
3431
  "feel": "required",
2978
3432
  "optional": true,
2979
3433
  "type": "String",
@@ -2989,7 +3443,7 @@
2989
3443
  },
2990
3444
  {
2991
3445
  "label": "Prompt",
2992
- "description": "Input to be evaluated",
3446
+ "tooltip": "Input to be evaluated",
2993
3447
  "group": "input",
2994
3448
  "type": "Text",
2995
3449
  "feel": "optional",
@@ -3007,7 +3461,7 @@
3007
3461
  },
3008
3462
  {
3009
3463
  "label": "Choices to generate",
3010
- "description": "Amount of alternative responses the model will generate",
3464
+ "tooltip": "Number of alternative responses the model will generate",
3011
3465
  "group": "input",
3012
3466
  "type": "String",
3013
3467
  "feel": "optional",
@@ -3067,7 +3521,7 @@
3067
3521
  },
3068
3522
  {
3069
3523
  "label": "Result variable",
3070
- "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
3524
+ "tooltip": "Name of variable to store the response in. <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">result variable documentation</a>",
3071
3525
  "group": "output",
3072
3526
  "type": "String",
3073
3527
  "binding": {
@@ -3077,7 +3531,7 @@
3077
3531
  },
3078
3532
  {
3079
3533
  "label": "Result expression",
3080
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
3534
+ "tooltip": "Expression to map the response into process variables. <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">result expression documentation</a>",
3081
3535
  "group": "output",
3082
3536
  "type": "Text",
3083
3537
  "feel": "required",
@@ -3089,7 +3543,7 @@
3089
3543
  },
3090
3544
  {
3091
3545
  "label": "Connection timeout",
3092
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
3546
+ "tooltip": "Timeout in seconds to establish a connection, or 0 for an infinite timeout.",
3093
3547
  "group": "errors",
3094
3548
  "type": "String",
3095
3549
  "value": "30",
@@ -3109,7 +3563,7 @@
3109
3563
  },
3110
3564
  {
3111
3565
  "label": "Error expression",
3112
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
3566
+ "tooltip": "Expression to handle errors. <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">BPMN error handling documentation</a>",
3113
3567
  "group": "errors",
3114
3568
  "type": "Text",
3115
3569
  "feel": "required",
@@ -3122,7 +3576,7 @@
3122
3576
  "id": "version",
3123
3577
  "label": "Version",
3124
3578
  "description": "Version of the element template",
3125
- "value": "6",
3579
+ "value": "8",
3126
3580
  "group": "connector",
3127
3581
  "binding": {
3128
3582
  "key": "elementTemplateVersion",
@@ -3142,6 +3596,46 @@
3142
3596
  },
3143
3597
  "type": "Hidden"
3144
3598
  }
3599
+ ],
3600
+ "steps": [
3601
+ {
3602
+ "name": "Chat",
3603
+ "description": "Generate a chat completion response using OpenAI",
3604
+ "keywords": [
3605
+ "chat completion",
3606
+ "generate text",
3607
+ "GPT",
3608
+ "prompt",
3609
+ "conversation"
3610
+ ],
3611
+ "presetId": "operation_chat"
3612
+ },
3613
+ {
3614
+ "name": "Moderation",
3615
+ "description": "Analyze text for policy violations with OpenAI",
3616
+ "keywords": [
3617
+ "content moderation",
3618
+ "moderate text",
3619
+ "policy check",
3620
+ "flag content",
3621
+ "safety filter"
3622
+ ],
3623
+ "presetId": "operation_moderation"
3624
+ }
3625
+ ],
3626
+ "presets": [
3627
+ {
3628
+ "id": "operation_chat",
3629
+ "properties": {
3630
+ "operation": "chat"
3631
+ }
3632
+ },
3633
+ {
3634
+ "id": "operation_moderation",
3635
+ "properties": {
3636
+ "operation": "moderation"
3637
+ }
3638
+ }
3145
3639
  ]
3146
3640
  }
3147
3641
  ]