Skip to content

Add Slack connector input targets and element template guidance#1

Open
bastiankoerber wants to merge 2 commits into
meyerdan:mainfrom
bastiankoerber:fix/element-templates-and-slack-connector
Open

Add Slack connector input targets and element template guidance#1
bastiankoerber wants to merge 2 commits into
meyerdan:mainfrom
bastiankoerber:fix/element-templates-and-slack-connector

Conversation

@bastiankoerber
Copy link
Copy Markdown

@bastiankoerber bastiankoerber commented Apr 2, 2026

Summary

  • Generalize connector configuration guidance: step-by-step instructions for reading element template JSON to extract exact input target names, conditional properties, and required fields
  • Add comprehensive "Element Templates — do NOT set manually in BPMN XML" section explaining why zeebe:modelerTemplate attributes cause "Template Not found" errors and the correct workflow for Web Modeler compatibility
  • Add Slack connector input targets (chat.postMessage, conversations.create, conversations.invite) with correct field names
  • Document that input target naming is connector-specific (REST = flat names, Slack = data.* prefix)
  • Update /new-process and /new-agent skills with element template guidance

Context

These learnings came from building and deploying processes via Claude Code to a Camunda 8 SaaS cluster. Key findings validated against two connectors:

  1. Input target names must come from the element template JSON — they differ per connector and can't be guessed from the Slack/REST API docs alone (e.g., Slack uses data.newChannelName not data.name, data.visibility not is_private)
  2. Manually setting zeebe:modelerTemplate in BPMN XML doesn't work — the template must be applied through Web Modeler UI. Raw XML references don't link to the Modeler's internal catalog
  3. The element template JSON in camunda/connectors repo is the authoritative source — each property's binding object maps directly to zeebe:input targets and zeebe:taskHeader keys

Test plan

  • REST connector (io.camunda:http-json:1): deployed and completed successfully with flat input targets
  • Slack connector (io.camunda:slack:1): deployed and completed successfully with data.* prefixed targets
  • Verify Web Modeler can apply connector templates to generated BPMN after upload

- Add exact Slack connector input targets (chat.postMessage,
  conversations.create, conversations.invite) to camunda-dev-guide.md
- Document that data.messageType is required for chat.postMessage
- Document correct field names (data.newChannelName not data.name,
  data.visibility not is_private)
- Add element template warning: do NOT set zeebe:modelerTemplate
  attributes or elementTemplateId headers in generated BPMN XML —
  these cause "Template Not found" errors in Web Modeler
- Update /new-process skill to reference element template JSON from
  the connectors repo for accurate input target discovery
- Expand "To configure any specific connector" section with step-by-step
  instructions for reading element template JSON (binding types, conditional
  properties, required fields)
- Add comprehensive "Element Templates — do NOT set manually in BPMN XML"
  section explaining why zeebe:modelerTemplate attributes cause errors and
  how to correctly generate BPMN for Web Modeler compatibility
- Add note that input target naming is connector-specific (REST uses flat
  names, Slack uses data.* prefix) — always check the element template
- Update /new-agent skill with same element template guidance

Validated against two connectors:
- REST (io.camunda:http-json:1): flat targets, deployed and ran successfully
- Slack (io.camunda:slack:1): data.* prefixed targets, learned correct
  field names through deployment error iteration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant