block / block/buzz

Webhook-triggered workflow returns 200 but never executes: no run recorded, no message posted

Open
#4,474 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

**Version:** Buzz Desktop v0.5.2 (AppImage, Linux)
**Deployment:** Block-hosted community (`*.communities.buzz.xyz`)
**Feature:** Workflows (enabled via Settings → Experiments)

## Summary

A workflow with a `webhook` trigger and a single `send_message` step accepts POSTs with `200 OK`, but the run never appears in Run History and no message is posted to the channel.

## Workflow definition

```json
{
"name": "deskcrew3",
"steps": [
{
"action": "send_message",
"channel": "1702c01e-4a14-44ad-853f-31c226695085",
"id": "step_1",
"name": "dess",
"text": "{{trigger.text}}"
}
],
"trigger": {
"on": "webhook"
}
}
```

## Steps to reproduce

1. Enable **Workflows** in Settings → Experiments
2. Create a workflow: trigger `Webhook`, one step `Send Message`, message text `{{trigger.text}}`, and a valid channel UUID in **Channel override**
3. POST to the generated hook URL:

```bash
curl -X POST https://.communities.buzz.xyz/hooks/ \
-H 'content-type: application/json' \
-H 'x-webhook-secret: ' \
-d '{"text":"hello from the webhook"}'
```

**Expected:** message posted to the channel, and a run appears in Run History.

**Actual:** `200 OK` returned. Run History shows "No runs yet". No message appears in the target channel or any other channel.

## Notes

Authentication and routing are clearly being evaluated, so only the valid case fails silently:

| Request | Response |
|---|---|
| No secret | `401 {"error":"authentication failed"}` |
| Deleted/unknown workflow | `404 {"error":"workflow not found"}` |
| Valid secret + valid workflow | `200`, but no run and no message |

- **Channel override is set**, so the "This step will fail for webhook-triggered runs until a channel override is set" warning does not apply.
- Reproduced across several freshly created workflows.

## Question

Does a webhook-triggered `send_message` need additional setup that isn't surfaced in the UI, such as a posting identity for the workflow, or a permission on the target channel?

If so, the failure mode is very hard to debug: a `200` with no run recorded and no error gives an operator nothing to work from. Even a rejected run appearing in Run History with a reason would make this self-diagnosing.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.