Zekt Action

Back to Zekt

Free — included with every plan — optional structured message for every event

Free — Included

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.

Free — included with every plan (usage charges apply for message processing API calls)

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

Optional by Design
Zekt works without it — add it only when you need it
click to flip
Optional by Design
Zekt never requires a message body. The event signal alone is valid and routable. Add Zekt Action only when consumer workflows genuinely need structured payload data.
  • 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
click to flip back
Arbitrary JSON Payload
Up to 512 KB of free-form structured data
click to flip
Arbitrary JSON Payload
Attach any valid JSON object to the event. No schema required, no Zekt-defined structure. It's your message.
  • 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
click to flip back
Native GitHub Action
One step, no new infrastructure
click to flip
Native GitHub Action
Add a single step to any existing workflow. No new services, no new credentials beyond the existing Zekt token.
- 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 →
click to flip back
Time Travel Compatible
Full payload preserved for replay
click to flip
Time Travel Compatible
When you use Zekt Analytics Time Travel, the archived event includes the complete Zekt Action payload. Replayed events carry the original structured data identically.
  • 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
click to flip back
Consumer Composability
Branch on payload fields natively in GitHub Actions
click to flip
Consumer Composability
Consumer workflows receive the payload in 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
click to flip back
Zero Extra Cost at Rest
Free to use; only message processing is metered
click to flip
Zero Extra Cost at Rest
Zekt Action itself is free. Storage of the payload during routing incurs no additional subscription cost.
  • 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
click to flip back

Events only vs. Events + Message

  • Use events only when consumers need to react to a signal — "a deploy happened in repo X." No additional data required.
  • Use Zekt Action when consumers need context — which environment, which cost centre, which feature version, or which approval reference triggered the flow.
  • Ideal for deployment metadata (SHA, tag, environment), compliance workflows (approval ID, auditor reference), and cost attribution (department, project code, budget line).
  • Zekt Chainlink intermediate nodes use Zekt Action to attach enriched data before forwarding downstream — making it the natural enrichment primitive.

Combinations

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.

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.

Start at the foundation

Explore Zekt Core

The event bus that connects GitHub workflows across every organizational boundary