For the complete documentation index, see llms.txt.
Skip to main content
Version: 8.10

Copilot

Alpha

Camunda Hub supports using large language models (LLMs) to help users create BPMN diagrams, write FEEL expressions, and build forms. You can configure the default LLM provider for BPMN, FEEL, and form copilots.

Copilot supports the following LLM providers:

LLM providerConfiguration value
AnthropicANTHROPIC
AWS BedrockBEDROCK
Azure AIAZURE_AI
Azure OpenAIAZURE_OPENAI
Google Vertex AIVERTEX_AI
Hugging FaceHUGGING_FACE
OllamaOLLAMA
OpenAIOPENAI

Configuration​

To enable Copilot, set the AI feature flag (camunda.hub.feature.ai-enabled / CAMUNDA_HUB_FEATURE_AIENABLED) to true. Then configure the default LLM provider for BPMN, FEEL, and form copilots. Each provider has its own configuration options described below.

PropertyDescriptionExample valueDefault value
camunda.hub.feature.ai-enabledEnables Copilot.truefalse
camunda.hub.copilot.default-bpmn-copilot-llm-providerDefault provider for BPMN Copilot.BEDROCK–
camunda.hub.copilot.default-feel-copilot-llm-providerDefault provider for FEEL Copilot.OPENAI–
camunda.hub.copilot.default-form-copilot-llm-providerDefault provider for form Copilot.VERTEX_AI–
camunda.hub.client.copilot-request-timeout[optional] Overall request timeout for Copilot requests in UI.200s300s

BPMN Copilot​

PropertyDescriptionExample valueDefault value
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.temperature[optional] Sampling temperature.0.20.3
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.top-p[optional] Nucleus sampling probability.0.900.95
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.top-k[optional] Top-K sampling (if supported by the model).10064
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.max-tokens[optional] Maximum new tokens per response.40968192
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.timeout[optional] Overall request timeout.45s60s
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.log-requests[optional] Log raw requests (not recommended in production).truefalse
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.log-responses[optional] Log raw responses (not recommended in production).truefalse
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.connection-acquisition-timeout[optional] Connection pool acquisition timeout.10s30s
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.logit-bias[optional] JSON object mapping token IDs to bias values (model-specific).{"123":-2,"456":3}{}
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.max-connections[optional] Maximum HTTP connections.300200
camunda.hub.copilot.default-bpmn-copilot-llm-configuration.read-timeout[optional] Read timeout per request.120s60s

FEEL Copilot​

PropertyDescriptionExample valueDefault value
camunda.hub.copilot.default-feel-copilot-llm-configuration.temperature[optional] Sampling temperature.0.20.3
camunda.hub.copilot.default-feel-copilot-llm-configuration.top-p[optional] Nucleus sampling probability.0.900.95
camunda.hub.copilot.default-feel-copilot-llm-configuration.top-k[optional] Top-K sampling (if supported by the model).10064
camunda.hub.copilot.default-feel-copilot-llm-configuration.max-tokens[optional] Maximum new tokens per response.40968192
camunda.hub.copilot.default-feel-copilot-llm-configuration.timeout[optional] Overall request timeout.45s60s
camunda.hub.copilot.default-feel-copilot-llm-configuration.log-requests[optional] Log raw requests (not recommended in production).truefalse
camunda.hub.copilot.default-feel-copilot-llm-configuration.log-responses[optional] Log raw responses (not recommended in production).truefalse
camunda.hub.copilot.default-feel-copilot-llm-configuration.connection-acquisition-timeout[optional] Connection pool acquisition timeout.10s30s
camunda.hub.copilot.default-feel-copilot-llm-configuration.logit-bias[optional] JSON object mapping token IDs to bias values (model-specific).{"123":-2,"456":3}{}
camunda.hub.copilot.default-feel-copilot-llm-configuration.max-connections[optional] Maximum HTTP connections.300200
camunda.hub.copilot.default-feel-copilot-llm-configuration.read-timeout[optional] Read timeout per request.120s60s

Form Copilot​

PropertyDescriptionExample valueDefault value
camunda.hub.copilot.default-form-copilot-llm-configuration.temperature[optional] Sampling temperature.0.20.3
camunda.hub.copilot.default-form-copilot-llm-configuration.top-p[optional] Nucleus sampling probability.0.900.95
camunda.hub.copilot.default-form-copilot-llm-configuration.top-k[optional] Top-K sampling (if supported by the model).10064
camunda.hub.copilot.default-form-copilot-llm-configuration.max-tokens[optional] Maximum new tokens per response.40968192
camunda.hub.copilot.default-form-copilot-llm-configuration.timeout[optional] Overall request timeout.45s60s
camunda.hub.copilot.default-form-copilot-llm-configuration.log-requests[optional] Log raw requests (not recommended in production).truefalse
camunda.hub.copilot.default-form-copilot-llm-configuration.log-responses[optional] Log raw responses (not recommended in production).truefalse
camunda.hub.copilot.default-form-copilot-llm-configuration.connection-acquisition-timeout[optional] Connection pool acquisition timeout.10s30s
camunda.hub.copilot.default-form-copilot-llm-configuration.logit-bias[optional] JSON object mapping token IDs to bias values (model-specific).{"123":-2,"456":3}{}
camunda.hub.copilot.default-form-copilot-llm-configuration.max-connections[optional] Maximum HTTP connections.300200
camunda.hub.copilot.default-form-copilot-llm-configuration.read-timeout[optional] Read timeout per request.120s60s

AWS Bedrock​

warning

When configuring AWS Bedrock, make sure the model is available in the provided AWS region.

PropertyDescriptionExample value
camunda.hub.copilot.providers.bedrock.default-model-idDefault model ID for AWS Bedrock provider.anthropic.claude-3-5-sonnet-20240620-v1:0
camunda.hub.copilot.providers.bedrock.regionAWS region for Bedrock.us-east-1
camunda.hub.copilot.providers.bedrock.access-key-idAWS access key ID for Bedrock (if not using instance or role credentials).AKIA...
camunda.hub.copilot.providers.bedrock.secret-access-keyAWS secret access key for Bedrock (if not using instance or role credentials).wJalrXUtnFEMI/K7MDENG/bPxRfiCY...

OpenAI​

note

This configuration applies to OpenAI and OpenAI-compatible providers.

Provide exactly one of the following:

  • An API key for OpenAI's public API (no custom endpoint needed).
  • A custom endpoint for OpenAI-compatible providers or proxies.

For OpenAI-compatible providers, you can authenticate with:

  • A bearer token.
  • Username and password (Basic authentication).
  • Custom authentication headers.

When using the Bring your own model option in Self-Managed, results may vary depending on your chosen LLM's capabilities.

If a weaker or smaller model is used, it may fail to generate a valid BPMN XML. In such cases, the Copilot library attempts automatic repair up to three times. If those attempts fail, the system will return an empty XML and an optional chat message instead of a model.

tip

Camunda recommends using a stronger model, such as GPT-4 or comparable, for reliable BPMN generation.

PropertyDescriptionExample value
camunda.hub.copilot.providers.open-ai.default-model-idDefault model ID for OpenAI provider.gpt-4.1
camunda.hub.copilot.providers.open-ai.api-key[conditionally required] API key for OpenAI public API.sk-live-********
camunda.hub.copilot.providers.open-ai.endpoint[conditionally required] Custom endpoint for OpenAI-compatible APIs (proxies or self-hosted).https://my-proxy.example.com/v1
camunda.hub.copilot.providers.open-ai.bearer[optional] Bearer token header to use instead of api-key with compatible gateways.my-shared-bearer-token
camunda.hub.copilot.providers.open-ai.username[optional] Username to authenticate with an OpenAI-compatible gateway.api_user
camunda.hub.copilot.providers.open-ai.password[optional] Password to authenticate with an OpenAI-compatible gateway.s3cr3t
camunda.hub.copilot.providers.open-ai.headers[optional] Extra HTTP headers as a JSON map (string).{"X-Org":"camunda","X-Trace":"on"}

Azure OpenAI​

PropertyDescriptionExample value
camunda.hub.copilot.providers.azure-open-ai.default-model-idDefault model (deployment name) for Azure OpenAI.gpt-4o
camunda.hub.copilot.providers.azure-open-ai.api-keyAzure OpenAI API key.az-aoai-key-***
camunda.hub.copilot.providers.azure-open-ai.endpointAzure OpenAI endpoint.https://my-aoai.openai.azure.com

Azure AI​

note

Azure AI supports authentication with an API key or Microsoft Entra ID (formerly Azure AD) using the OAuth 2.0 client credentials flow.

PropertyDescriptionExample value
camunda.hub.copilot.providers.azure-ai.default-model-idDefault model for Azure AI (Inference).gpt-4o-mini
camunda.hub.copilot.providers.azure-ai.endpointEndpoint for Azure AI (Inference). Use the endpoint from Azure AI Inference SDK.https://********-resource.cognitiveservices.azure.com/openai/deployments/gpt-4o
camunda.hub.copilot.providers.azure-ai.api-key[conditionally required] API key for Azure AI (alternative to OAuth credentials).az-ai-key-***
camunda.hub.copilot.providers.azure-ai.client-id[conditionally required] Azure AI OAuth client ID.00000000-0000-0000-0000-000000000000
camunda.hub.copilot.providers.azure-ai.client-secret[conditionally required] Azure AI OAuth client secret.***
camunda.hub.copilot.providers.azure-ai.tenant-id[conditionally required] Azure AD tenant ID for OAuth.11111111-2222-3333-4444-555555555555
camunda.hub.copilot.providers.azure-ai.authority-host[conditionally required] Authority host for Azure OAuth.https://login.microsoftonline.com

Google Vertex AI​

PropertyDescriptionExample value
camunda.hub.copilot.providers.vertex-ai.default-model-idDefault model ID for Google Vertex AI (Gemini).gemini-1.5-pro-002
camunda.hub.copilot.providers.vertex-ai.project-idGCP project ID for Vertex AI.my-gcp-project
camunda.hub.copilot.providers.vertex-ai.locationVertex AI location or region.us-central1
camunda.hub.copilot.providers.vertex-ai.credentials-jsonVertex AI service account JSON (string).{"type":"service_account","project_id":"my-proj","client_email":"...","private_key":"..."}

Anthropic​

PropertyDescriptionExample valueDefault value
camunda.hub.copilot.providers.anthropic.default-model-idDefault model ID for Anthropic.claude-3-5-sonnet-20240620-
camunda.hub.copilot.providers.anthropic.api-keyAnthropic API key.sk-ant-***-
camunda.hub.copilot.providers.anthropic.cache-system-messages[optional] Enable client-side caching of system messages (if supported).falsetrue
camunda.hub.copilot.providers.anthropic.cache-tools[optional] Enable client-side caching of tool schemas (if supported).falsetrue

Ollama​

PropertyDescriptionExample value
camunda.hub.copilot.providers.ollama.default-model-idDefault model ID for Ollama.llama3.1
camunda.hub.copilot.providers.ollama.base-urlOllama server base URL.http://localhost:11434
camunda.hub.copilot.providers.ollama.headers[optional] Extra HTTP headers to send as a JSON map (string).{"X-Org":"camunda","X-Trace":"on"}

Hugging Face​

PropertyDescriptionExample valueDefault value
camunda.hub.copilot.providers.hugging-face.default-model-idDefault model ID for Hugging Face Inference.mistralai/Mixtral-8x7B-Instruct-v0.1-
camunda.hub.copilot.providers.hugging-face.base-urlBase URL for Hugging Face Inference endpoint (if self-hosted or custom).https://api-inference.huggingface.co/models-
camunda.hub.copilot.providers.hugging-face.access-tokenAccess token for Hugging Face.hf_***-
camunda.hub.copilot.providers.hugging-face.wait-for-model[optional] Wait for model to warm up before responding.falsetrue
camunda.hub.copilot.providers.hugging-face.return-full-text[optional] Return the full generated text (not just the completion).truetrue