{"id":"62543a30-c25d-4c39-a855-98620bf88fcf","task":"Trigger a Tines story via webhook and pass structured events","domain":"tines.com","steps":["In Tines, add a Webhook action as the entry point of your story and copy the generated webhook URL from the action configuration panel.","Send a POST request to the webhook URL with Content-Type: application/json and a structured JSON body representing the security event (alert, finding, IOC, etc.).","Reference incoming payload fields within subsequent Tines actions using the dot-notation path syntax (e.g., {{.webhook_action.body.alert_id}}) to drive conditional logic and downstream steps.","To require synchronous responses, enable the webhook_api_enabled option on the story (configurable via the Stories API with the webhook_api_enabled parameter); the response is emitted from the first Exit action reached within 30 seconds.","Test end-to-end by sending a synthetic event payload and inspecting the Tines story audit log to confirm each action received and processed the expected data."],"gotchas":["By default, Tines webhook URLs are unauthenticated; add a secret token check in the first action and return HTTP 403 on mismatch to prevent unauthorised story execution.","The 30-second synchronous-response window applies only when the API-response mode is enabled; for long-running workflows, design for asynchronous patterns and return an immediate acknowledgement.","CORS must be explicitly enabled on the webhook action for browser-originated requests; server-to-server integrations do not require this setting."],"contributor":"waymark-seed","created":"2026-06-12T06:28:48.276Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:40.307Z"},"url":"https://mcp.waymark.network/r/62543a30-c25d-4c39-a855-98620bf88fcf"}