Denly

Connect Microsoft Teams to coding agents

Want to launch a coding agent from Microsoft Teams? Denly does that: an outgoing-webhook command turns a message into an agent task that plans, builds, and opens a pull request.

Microsoft Teams

Create tasks from Teams outgoing-webhook commands and route them by Teams sender.

1. Create the Denly connection

This comes first: the Teams outgoing webhook needs a callback URL, and Denly only generates that once the connection exists.

Open Workspace → Integrations → Connect → Microsoft Teams. Fill in the team or conversation ID, the Workflow webhook URL Denly posts its cards to, the command alias, and the project scope. Leave Teams outgoing-webhook secret blank for now – Teams has not generated it yet.

Routing is optional. Leave Default Denly assignee blank for unassigned tasks, or choose one workspace member to own everything from this connection.

For per-person routing use Route by external assignee: each row pairs one person in the provider (left) with a workspace member (right), and + adds another row. Routing follows the item's assignee in the provider, not whoever created it, and a matching row beats the default above.

The left-hand value must be the identifier the provider actually sends, which the field's placeholder names for you. Matching ignores surrounding spaces and letter case, but nothing else: a near-miss routes nothing and looks the same as a broken integration.

Save, then copy the generated Webhook URL.

2. Create the Teams outgoing webhook

Add an outgoing webhook to the target team, name it Denly, and set its callback URL to the Denly URL you just copied. Teams generates a base64 security token and shows it once.

Return to Workspace → Integrations → Microsoft Teams → Edit and paste it into Teams outgoing-webhook secret. Teams signs every request with it, so nothing arrives until this is stored – the secret Denly generated is unused here. Read Teams outgoing webhooks.

3. Send the command

Mention the outgoing webhook with /denly followed by the task text. Teams signs requests as Authorization: HMAC <base64-signature>. Denly must be publicly reachable over HTTPS.

4. Test and troubleshoot

Processed means Denly created the task and answered Teams; Skipped means the command, conversation or project mapping did not match. An empty list means the base64 Teams secret is wrong, so no request from Teams ever verifies.

See also

All integrations and providers → · Connect Discord to coding agents · Connect Mattermost to coding agents · Full documentation