block / block/buzz

Webhook workflows should support nested JSON fields

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

Description

Webhook-triggered workflows can currently use only top-level fields from the JSON body.

For example:

```json
{
"type": "workflow.failed",
"data": {
"title": "Deploy production",
"reason": "Health check timed out"
}
}
```

`{{trigger.type}}` works, but `{{trigger.data.title}}` does not. `data` is treated as one JSON string, so the workflow cannot use fields inside it.

Nested payloads are common in webhooks. CloudEvents, for example, keeps application data under `data`. Without nested field access, senders have to duplicate useful fields at the top level just for Buzz.

Could Buzz support basic dot notation for nested object fields, such as:

```text
Workflow {{trigger.data.title}} failed: {{trigger.data.reason}}
```

Ideally, the same fields would also be available in workflow conditions. Existing top-level fields such as `{{trigger.type}}` should keep working.

I'm not asking for full JSONPath, wildcards, or array handling. Simple nested object lookup would cover the common case.

I searched the open and closed issues and couldn't find an existing request for this.

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.