Rich, composable payloads —
native to GitHub, zero infrastructure
Zekt events are powerful on their own. But when you need to carry structured data alongside the event signal, Zekt Action attaches any JSON payload in one step — free, native, replayable.
Available on any repo with an active Zekt Core subscription
Events only vs. Events + Message
Events only is the default. When a Zekt event fires, consumers know something happened — they get the repo, workflow, and correlation ID. That's enough for most trigger-and-go use cases.
Events + Message is for when consumers need to know what happened — the specific deployment target, the cost distribution ID, the approval reference, or any other structured context. Attach it once with Zekt Action; every consumer gets the same data.
What Zekt Action gives you
Click any card to explore each capability in detail
- Start with events only — no configuration needed
- Add Zekt Action to the provider workflow when context becomes necessary
- Can be enabled on a per-dispatch basis, not repo-wide
- Maximum payload size: 512 KB per dispatch
- Nested objects, arrays, strings, numbers — any valid JSON
- Common patterns: deployment metadata, cost attribution, feature flags, approval context
- uses: zekt-dev-org/zekt-action@v2.1.0
with:
event-type: 'zekt-example-event-name'
payload: ${{ steps.your-json-payload.outputs.payload }}
View full documentation →
- No payload truncation or stripping on archive
- Replay delivers the same JSON to the same consumers
- Replay is tagged as
isReplay: true— original payload unchanged
client_payload.zekt.payload.
Consume as it is, or enrich and pass it on if you are using chainlink.
- Pass payload values as step inputs without custom scripts
- Filter and route inside the consumer workflow, not at the provider
- No per-payload fee at rest
- Message processing API calls are metered per-dispatch (same as event routing)
- Archive storage of payloads covered by your Analytics plan tier
Events only vs. Events + Message
- check_circle Use events only when consumers need to react to a signal — "a deploy happened in repo X." No additional data required.
- check_circle Use Zekt Action when consumers need context — which environment, which cost centre, which feature version, or which approval reference triggered the flow.
- check_circle Ideal for deployment metadata (SHA, tag, environment), compliance workflows (approval ID, auditor reference), and cost attribution (department, project code, budget line).
- check_circle Zekt Chainlink intermediate nodes use Zekt Action to attach enriched data before forwarding downstream — making it the natural enrichment primitive.
Combinations
extension Works well with
- Core + Action — Minimal stack: events with structured payloads, no analytics overhead.
- Core + Analytics + Action — Recommended bundle: full visibility plus replayable structured payloads via Time Travel.
- Core + Shield + Action — Encrypted payloads. Only the consumer with the key can read the Zekt Action message.
- Core + Chainlink + Action — Intermediate Chainlink nodes enrich and re-attach payloads at each hop using Zekt Action.
info Good to know
- Zekt Action has no incompatibilities. It is compatible with all other Zekt components.
- When used with Shield, the payload is encrypted before it reaches Zekt, and Time Travel for that connection is disabled.