Go SDK
The Go SDK public surface is intentionally small:
triggers.NewService(id)svc.Ingress(...)svc.EnableDedup()/svc.EnableRateLimit()svc.DataSource(...)svc.Wiring()triggers.Action(...)svc.Run(ctx)
Example
svc := triggers.NewService("flow_lab")
svc.Ingress(triggers.NATS)
triggers.Action(svc, "parse", parse)
return svc.Run(ctx)
condition and mapping support are on by default. The SDK derives ingress defaults from the service id and reads runtime wiring from TRIGGERS_* env.
For HTTP ingress, triggers.HTTP uses the canonical /v2/<service>/inbound path by default. Use triggers.HTTP.At("/custom/path") or triggers.HTTP.At("https://...") only when you need to override it.
svc.Wiring() gives app code the resolved runtime snapshot when it needs to inspect HTTP base URLs, ingress URLs, NATS stream names, or parsed Redis settings without re-reading env vars.