{"flow":{"id":72,"summary":"Email trigger flow with preprocessor template","versions":[279],"created_by":"hugo697","created_at":"2025-09-09T14:39:25.782Z","votes":0,"approved":true,"apps":["windmill"],"value":{"modules":[],"preprocessor_module":{"id":"preprocessor","value":{"type":"rawscript","content":"/**\n * Trigger Preprocessor\n *\n * It processes raw trigger data (e.g., MQTT, HTTP, SQS, WebSocket, Kafka, NATS) before passing it to the flow.\n * Common tasks:\n * - Convert binary payloads to string/JSON\n * - Extract metadata\n * - Filter messages\n * - Add timestamps/context\n *\n * The returned object determines the parameter values passed to the flow.\n * e.g., `{ b: 1, a: 2 }` → Calls the flow with `a = 2` and `b = 1`, assuming the flow has two inputs called `a` and `b`.\n * Ensure that the input names of the flow match the keys in the returned object.\n *\n * @param event - Trigger data (e.g., MQTT, HTTP, SQS, WebSocket, Kafka, NATS)\n * @returns Processed data for the flow\n */\nexport async function preprocessor(\n  event: {\n    kind: 'email';\n    parsed_email: any;\n    raw_email: string;\n    email_extra_args?: Record<string, string>\n  }\n) {\n  if (event.kind === 'email') {\n    return {\n      parsed_email: event.parsed_email,\n      raw_email: event.raw_email,\n      email_extra_args: event.email_extra_args,\n    };\n  }\n\n  throw new Error(`Expected email trigger kind, got: ${event.kind}`);\n}\n\n","language":"bun","input_transforms":{"event":{"type":"static"}}}}},"schema":{"type":"object","order":["parsed_email","raw_email","email_extra_args"],"$schema":"https://json-schema.org/draft/2020-12/schema","required":["parsed_email","raw_email"],"properties":{"raw_email":{"type":"string","default":null,"description":"","originalType":"string"},"parsed_email":{"type":"object","default":null,"description":""},"email_extra_args":{"type":"object","format":"resource-record","default":null,"description":""}}},"description":"","recording":null,"vcreated_at":"2025-09-09T14:39:25.782Z","vcreated_by":"hugo697","comments":[]}}