{"workflow":{"id":14708,"name":"Send post-event session digest emails with WayinVideo, OpenAI and Gmail","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-04T08:48:54.330Z","description":"Fill in a simple form with your event name, session recording URLs, and attendee emails — the workflow handles everything else. It sends each session video to [WayinVideo](https://wayin.ai/api/) AI, which generates a written summary and key highlights for each one. OpenAI then uses those summaries to write a professional HTML digest email, which Gmail sends to every attendee automatically. Built for event organisers, marketing teams, and agencies who want to follow up with attendees after a webinar, summit, or conference without writing a single word manually.\n\n---\n\n## What This Workflow Does\n\n- **Parallel session summarisation** — Submits all three session recordings to WayinVideo at the same time, so you don't wait for each one to finish before the next starts\n- **AI-written digest email** — Passes all three session summaries to OpenAI GPT-4o-mini, which writes a complete, formatted HTML email with key takeaways and recording links for each session\n- **Automatic attendee delivery** — Sends the finished digest email to every email address you entered in the form — no copy-paste, no manual sending\n- **Structured HTML output** — The email arrives with proper formatting, session headers, bullet points, and \"Watch Recording\" buttons — ready to read in any email client\n- **Form-based job submission** — Anyone on your team can trigger the workflow using a web form — no access to n8n required\n- **Three sessions in one run** — Handles up to three recording URLs per event in a single workflow execution\n- **Custom sender name** — The email is sent with the sender name you provide in the form, so it arrives looking like it came from your team\n\n---\n\n## Setup Requirements\n\n### Tools you'll need:\n- Active n8n instance (self-hosted or n8n Cloud)\n- WayinVideo account + API key\n- OpenAI account + API key\n- Google account connected to n8n via Gmail OAuth2\n\n**Estimated Setup Time: 15–20 minutes**\n\n---\n\n## Step-by-Step Setup\n\n1. **Get your [WayinVideo](https://wayin.ai/api/) API key**\n   Log in at WayinVideo, go to your account settings or developer section, and copy your API key.\n\n2. **Paste the API key into node \"2. WayinVideo — Submit Session \"**\n   Open this node, find the Authorization header, and replace `YOUR_WAYINVIDEO_API_KEY` with your actual key.\n\n3. **Paste the API key into node \"3. WayinVideo — Submit Session \"**\n   Open this node, find the same Authorization header, and replace `YOUR_WAYINVIDEO_API_KEY`.\n\n4. **Paste the API key into node \"4. WayinVideo — Submit Session \"**\n   Open this node and replace `YOUR_WAYINVIDEO_API_KEY` in the Authorization header.\n\n5. **Paste the API key into node \"6. WayinVideo — Get Session 1 Summary\"**\n   Open this node and replace `YOUR_WAYINVIDEO_API_KEY`.\n\n6. **Paste the API key into node \"7. WayinVideo — Get Session 2 Summary\"**\n   Open this node and replace `YOUR_WAYINVIDEO_API_KEY`.\n\n7. **Paste the API key into node \"8. WayinVideo — Get Session 3 Summary\"**\n   Open this node and replace `YOUR_WAYINVIDEO_API_KEY`.\n\n   &gt; ⚠️ This key appears in **6 nodes** — you must replace it in all of: **\"2. WayinVideo — Submit Session \"**, **\"3. WayinVideo — Submit Session \"**, **\"4. WayinVideo — Submit Session \"**, **\"6. WayinVideo — Get Session 1 Summary\"**, **\"7. WayinVideo — Get Session 2 Summary\"**, and **\"8. WayinVideo — Get Session 3 Summary\"**. Missing even one will cause the workflow to fail.\n\n8. **Connect your OpenAI account**\n   Open node **\"11. OpenAI — GPT-4o-mini Model\"**. Click the credential field and connect your OpenAI account. You will need an active OpenAI API key from platform.openai.com.\n\n9. **Connect your Gmail account**\n   Open node **\"13. Gmail — Send Digest Email\"**. Click the credential field and connect your Google account via OAuth2. Follow the on-screen prompts to authorise n8n to send emails on your behalf.\n\n10. **Activate the workflow**\n    Toggle the workflow to Active. Open the form URL generated by node **\"1. Form — Event Details + Session URLs1\"** and submit a test event with one real recording URL to confirm the full workflow runs end to end.\n\n---\n\n## How It Works (Step by Step)\n\n**Step 1 — Form Trigger (Web Form)**\nThe workflow starts when someone fills in the web form. You enter the event name, up to three session recording URLs and their titles, a comma-separated list of attendee email addresses, and the sender name. All fields for Session 2 and Session 3 are optional — but note that leaving them blank may cause errors (see Troubleshooting). The form is hosted by n8n and can be shared with anyone on your team.\n\n**Step 2, 3, 4 — Submit Sessions to WayinVideo (Three parallel submissions)**\nAs soon as the form is submitted, the workflow sends all three session recording URLs to WayinVideo simultaneously — one request per session. Each request goes to the WayinVideo Summaries API, asking it to analyse the video and generate a written summary in English. WayinVideo returns a unique task ID for each session, which the workflow uses later to retrieve the results.\n\n**Step 5 — Wait 90 Seconds**\nThe workflow pauses for 90 seconds to give WayinVideo time to process all three videos before it tries to fetch the results. This is a fixed wait — there is no retry loop in this workflow. If your session recordings are very long and take more than 90 seconds to process, some summaries may come back empty (see Troubleshooting for the fix).\n\n**Steps 6, 7, 8 — Fetch All Three Summaries (Three parallel fetches)**\nAfter the wait, the workflow calls the WayinVideo results endpoint for each session using the task IDs from Steps 2–4. Each call returns the session summary text, a list of highlight descriptions, tags, and other metadata. All three fetches run at the same time.\n\n**Step 9 — Merge All 3 Summaries**\nThe three separate results are combined into a single data package. This step ensures that the AI email writer in the next step has access to all three summaries at once to write a unified, coherent digest email.\n\n**Step 10 — AI Agent Writes the Digest Email (OpenAI GPT-4o-mini)**\nThe merged summaries, session titles, recording URLs, event name, and sender name are passed to an OpenAI GPT-4o-mini agent. The agent is given a detailed prompt and an exact HTML email template to follow. It fills in all the session details — key takeaways, bullet points from highlights, and recording links — and returns the finished HTML email as a structured JSON object.\n\n**Step 11 — OpenAI Language Model**\nThis is the GPT-4o-mini model that powers the AI agent in Step 10. It processes the prompt and generates the email content.\n\n**Step 12 — Output Parser**\nThis step ensures the AI's response is returned as a clean, structured JSON object with a single key called `html_email`. It prevents formatting errors before the email is sent.\n\n**Step 13 — Gmail Sends the Digest Email**\nThe finished HTML email is sent via Gmail to every address you entered in the form. The email subject line uses the event name you provided, and the sender name matches what you typed in the form. Every attendee receives the same formatted digest with all three session summaries, takeaways, and recording links.\n\nThe final result is a professional post-event digest email delivered to all attendees — written and sent entirely without manual effort.\n\n---\n\n## Key Features\n\n✅ **Three sessions in one run** — Submit up to three recording URLs and get all three summarised and emailed in a single workflow execution\n✅ **Parallel processing** — All three WayinVideo submissions and all three result fetches run at the same time, cutting total wait time significantly\n✅ **GPT-4o-mini email writing** — OpenAI writes the complete HTML email body from the summaries — you never touch a keyboard after submitting the form\n✅ **Pre-formatted HTML email** — The email arrives with a dark header, session blocks, bullet points, and \"Watch Full Recording\" buttons — no design work needed\n✅ **Custom sender name** — The email is sent under your brand name or team name, not a generic n8n address\n✅ **Recording links included** — Each session block in the email includes a direct link back to the original recording URL\n✅ **Team-friendly form** — Any team member can trigger the workflow without needing access to n8n or knowing how automation works\n✅ **Structured output guaranteed** — The Output Parser ensures the AI always returns clean HTML — no broken email formatting\n\n---\n\n## Customisation Options\n\n**Upgrade to GPT-4o for better email quality**\nIn node **\"11. OpenAI — GPT-4o-mini Model\"**, change the model value from `gpt-4o-mini` to `gpt-4o` for richer, more detailed email copy — useful for high-value client events.\n\n**Add a BCC to copy your internal team**\nIn node **\"13. Gmail — Send Digest Email\"**, open the options and add a BCC field with your team's internal email address — so your team always gets a copy of every digest sent.\n\n**Log all digests to Google Sheets**\nAfter node **\"13. Gmail — Send Digest Email\"**, add a Google Sheets \"Append Row\" step to record the event name, session titles, send date, and recipient count — useful for tracking what was sent and when.\n\n**Support a fourth session**\nDuplicate node **\"4. WayinVideo — Submit Session \"** and node **\"8. WayinVideo — Get Session 3 Summary\"**, connect them in the same pattern, add a Session 4 URL field to the form, and change the Merge step to accept 4 inputs instead of 3.\n\n**Send in a language other than English**\nIn nodes **\"2. WayinVideo — Submit Session \"**, **\"3. WayinVideo — Submit Session \"**, and **\"4. WayinVideo — Submit Session \"**, change `\"target_lang\": \"en\"` to any supported language code (e.g. `\"hi\"` for Hindi, `\"es\"` for Spanish) to receive summaries in another language.\n\n**Add a Slack notification after sending**\nInsert a Slack node after **\"13. Gmail — Send Digest Email\"** to post a message in your team channel confirming the digest was sent, including the event name and number of recipients.\n\n---\n\n## Troubleshooting\n\n**WayinVideo API key not working:**\n- Check that you replaced `YOUR_WAYINVIDEO_API_KEY` in all **six** nodes: **\"2. WayinVideo — Submit Session \"**, **\"3. WayinVideo — Submit Session \"**, **\"4. WayinVideo — Submit Session \"**, **\"6. WayinVideo — Get Session 1 Summary\"**, **\"7. WayinVideo — Get Session 2 Summary\"**, and **\"8. WayinVideo — Get Session 3 Summary\"**\n- Confirm your WayinVideo account is active and the key has not expired\n- Make sure there are no extra spaces before or after the key when pasting\n\n**Email sent with blank session content:**\n- This happens when WayinVideo has not finished processing within 90 seconds — long recordings take more time\n- Open the output of any \"Get Summary\" step and check if `data.summary` is empty\n- Fix: Increase the wait time in **\"5. Wait — 90 Seconds\"** to 120 or 180 seconds for longer videos\n\n**Workflow fails when Session 2 or Session 3 URL is left blank:**\n- Nodes **\"3. WayinVideo — Submit Session \"** and **\"4. WayinVideo — Submit Session \"** always run, even if the URL field is empty\n- A blank URL will cause WayinVideo to return an error and stop the workflow\n- Fix: Only use this workflow when you have all three session URLs ready, or add an IF check before each optional session submission step\n\n**Gmail not sending:**\n- Make sure the Gmail OAuth2 credential in **\"13. Gmail — Send Digest Email\"** is connected and not expired — reconnect it in n8n credentials if needed\n- Check that the attendee email addresses in the form are comma-separated and correctly formatted (e.g. `one@email.com, two@email.com`)\n- Confirm your Gmail account has not hit its daily sending limit\n\n**OpenAI step returning an error:**\n- Check that the OpenAI credential in **\"11. OpenAI — GPT-4o-mini Model\"** is connected and your API key is valid at platform.openai.com\n- Make sure your OpenAI account has available credits — a depleted account will cause the AI step to fail silently\n- If the structured output fails to parse, the `html_email` key may be missing — check the raw output of **\"10. AI Agent — Build Digest Email1\"** for error messages\n\n---\n\n## Support\n\nNeed help setting this up or want a custom version built for your team or agency?\n\n📧 Email:[info@isawow.com](info@isawow.com)\n🌐 Website:[https://isawow.com](https://isawow.com)","workflow":{"meta":{"instanceId":"bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2"},"nodes":[{"id":"103e35f0-0d58-48ca-b543-512fbebc9b80","name":"1. Form — Event Details + Session URLs","type":"n8n-nodes-base.formTrigger","position":[592,400],"webhookId":"74485729-1af9-4bba-9a34-ca334e38b10a","parameters":{"options":{},"formTitle":"📧 Post-Event Session Digest Email Sender","formFields":{"values":[{"fieldLabel":"Event Name","placeholder":"e.g. Incrementors Annual Summit 2026","requiredField":true},{"fieldLabel":"Session 1 Recording URL","placeholder":"https://zoom.us/rec/xxxxxxx or YouTube link","requiredField":true},{"fieldLabel":"Session 1 Title","placeholder":"e.g. Keynote — SEO in 2026","requiredField":true},{"fieldLabel":"Session 2 Recording URL","placeholder":"https://zoom.us/rec/xxxxxxx (leave blank if not applicable)"},{"fieldLabel":"Session 2 Title","placeholder":"e.g. Panel Discussion — AI Tools"},{"fieldLabel":"Session 3 Recording URL","placeholder":"https://zoom.us/rec/xxxxxxx (leave blank if not applicable)"},{"fieldLabel":"Session 3 Title","placeholder":"e.g. Workshop — Content Strategy"},{"fieldType":"textarea","fieldLabel":"Attendee Email Addresses","placeholder":"user@example.com, user@example.com, user@example.com","requiredField":true},{"fieldLabel":"Sender Name","placeholder":"e.g. Incrementors Team","requiredField":true}]},"formDescription":"Paste your event session recording URLs — AI will summarize each session and send a professional digest email to all attendees automatically."},"typeVersion":2.2},{"id":"2d4bf139-2624-419f-8c9e-4fef62612838","name":"2. WayinVideo — Submit Session 1","type":"n8n-nodes-base.httpRequest","position":[960,192],"parameters":{"url":"https://wayinvideo-api.wayin.ai/api/v2/summaries","method":"POST","options":{},"jsonBody":"={\n  \"video_url\": \"{{ $json['Session 1 Recording URL'] }}\",\n  \"target_lang\": \"en\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"x-wayinvideo-api-version","value":"v2"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"5a91c43b-2a59-41f9-a1d7-83ce581e8736","name":"3. WayinVideo — Submit Session 2","type":"n8n-nodes-base.httpRequest","position":[944,400],"parameters":{"url":"https://wayinvideo-api.wayin.ai/api/v2/summaries","method":"POST","options":{},"jsonBody":"={\n  \"video_url\": \"{{ $('1. Form — Event Details + Session URLs').item.json['Session 2 Recording URL'] }}\",\n  \"target_lang\": \"en\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"x-wayinvideo-api-version","value":"v2"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"b5a0fbed-ca05-4d2a-a790-412923f833fd","name":"4. WayinVideo — Submit Session 3","type":"n8n-nodes-base.httpRequest","position":[960,608],"parameters":{"url":"https://wayinvideo-api.wayin.ai/api/v2/summaries","method":"POST","options":{},"jsonBody":"={\n  \"video_url\": \"{{ $('1. Form — Event Details + Session URLs').item.json['Session 3 Recording URL'] }}\",\n  \"target_lang\": \"en\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"x-wayinvideo-api-version","value":"v2"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"d619ce01-e46d-4d06-9db8-615a1e028f2a","name":"9. Merge — All 3 Summaries","type":"n8n-nodes-base.merge","position":[2320,416],"parameters":{"numberInputs":3},"typeVersion":3.2},{"id":"c5e79431-17a4-40af-9a1b-65aca3defcb9","name":"10. AI Agent — Build Digest Email","type":"@n8n/n8n-nodes-langchain.agent","position":[2560,416],"parameters":{"text":"=You are a professional event communications writer. Write a post-event digest email for the attendees.\n\nEvent Name: {{ $('1. Form — Event Details + Session URLs').item.json['Event Name'] }}\nSender: {{ $('1. Form — Event Details + Session URLs').item.json['Sender Name'] }}\n\nSESSION 1 — {{ $('1. Form — Event Details + Session URLs').item.json['Session 1 Title'] }}\nSummary: {{ $('6. WayinVideo — Get Session 1 Summary').item.json.data.summary }}\nKey Sections: {{ $('6. WayinVideo — Get Session 1 Summary').item.json.data.highlights.map(h => h.desc).join(', ') }}\nTags: {{ $('6. WayinVideo — Get Session 1 Summary').item.json.data.tags.join(', ') }}\nRecording URL: {{ $('1. Form — Event Details + Session URLs').item.json['Session 1 Recording URL'] }}\n\nSESSION 2 — {{ $('1. Form — Event Details + Session URLs').item.json['Session 2 Title'] }}\nSummary: {{ $('7. WayinVideo — Get Session 2 Summary').item.json.data.summary }}\nKey Sections: {{ $('7. WayinVideo — Get Session 2 Summary').item.json.data.highlights.map(h => h.desc).join(', ') }}\nRecording URL: {{ $('1. Form — Event Details + Session URLs').item.json['Session 2 Recording URL'] }}\n\nSESSION 3 — {{ $('1. Form — Event Details + Session URLs').item.json['Session 3 Title'] }}\nSummary: {{ $('8. WayinVideo — Get Session 3 Summary').item.json.data.summary }}\nKey Sections: {{ $('8. WayinVideo — Get Session 3 Summary').item.json.data.highlights.map(h => h.desc).join(', ') }}\nRecording URL: {{ $('1. Form — Event Details + Session URLs').item.json['Session 3 Recording URL'] }}\n\nWrite a professional post-event digest email. Return a JSON object with a single key called \"html_email\" containing the complete HTML email body as a string.\n\nThe HTML must follow this EXACT structure:\n\n<div style=\"font-family:Arial,sans-serif;max-width:600px;margin:0 auto;color:#222;\">\n<div style=\"background:#1a1a1a;padding:32px;text-align:center;\">\n<h1 style=\"color:#fff;font-size:24px;margin:0;\">[Event Name]</h1>\n<p style=\"color:#aaa;margin:8px 0 0;font-size:14px;\">Post-Event Session Digest</p>\n</div>\n<div style=\"padding:24px;\">\n<p style=\"font-size:16px;\">Hi there,</p>\n<p>Thank you for attending <strong>[Event Name]</strong>! Here is your complete session digest with key takeaways from each session.</p>\n</div>\n<div style=\"border-top:2px solid #e5e5e5;padding:24px;\">\n<h2 style=\"font-size:18px;font-weight:bold;color:#1a1a1a;margin-bottom:8px;\">SESSION 1: [Session 1 Title]</h2>\n<p><strong>Key Takeaway:</strong> [1 strong sentence from Session 1 summary]</p>\n<p><strong>What Was Covered:</strong></p>\n<ul style=\"padding-left:20px;line-height:1.8;\">[3-4 bullet points from Session 1 key sections]</ul>\n<a href=\"[Session 1 Recording URL]\" style=\"display:inline-block;margin-top:12px;padding:10px 20px;background:#1a1a1a;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;\">Watch Full Recording →</a>\n</div>\n<div style=\"border-top:2px solid #e5e5e5;padding:24px;\">\n<h2 style=\"font-size:18px;font-weight:bold;color:#1a1a1a;margin-bottom:8px;\">SESSION 2: [Session 2 Title]</h2>\n<p><strong>Key Takeaway:</strong> [1 strong sentence from Session 2 summary]</p>\n<p><strong>What Was Covered:</strong></p>\n<ul style=\"padding-left:20px;line-height:1.8;\">[3-4 bullet points from Session 2 key sections]</ul>\n<a href=\"[Session 2 Recording URL]\" style=\"display:inline-block;margin-top:12px;padding:10px 20px;background:#1a1a1a;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;\">Watch Full Recording →</a>\n</div>\n<div style=\"border-top:2px solid #e5e5e5;padding:24px;\">\n<h2 style=\"font-size:18px;font-weight:bold;color:#1a1a1a;margin-bottom:8px;\">SESSION 3: [Session 3 Title]</h2>\n<p><strong>Key Takeaway:</strong> [1 strong sentence from Session 3 summary]</p>\n<p><strong>What Was Covered:</strong></p>\n<ul style=\"padding-left:20px;line-height:1.8;\">[3-4 bullet points from Session 3 key sections]</ul>\n<a href=\"[Session 3 Recording URL]\" style=\"display:inline-block;margin-top:12px;padding:10px 20px;background:#1a1a1a;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;\">Watch Full Recording →</a>\n</div>\n<div style=\"padding:24px;border-top:2px solid #e5e5e5;\">\n<p>We hope you found these sessions valuable. Feel free to share the recordings with your team.</p>\n<p style=\"margin-top:16px;\">Best regards,<br><strong>[Sender Name]</strong></p>\n</div>\n</div>\n\nRULES:\n- Use double quotes for all HTML attributes\n- Inline CSS only — no external fonts, no images\n- Fill in ALL placeholders with real data from session summaries above\n- Return ONLY a valid JSON object: {\"html_email\": \"<div>...</div>\"}","options":{},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"d171c5ba-d2a6-4f3d-8e1c-f46fb483ceaa","name":"Main — Overview & Setup1","type":"n8n-nodes-base.stickyNote","position":[0,0],"parameters":{"width":440,"height":864,"content":"## Post-Event Session Digest Email Sender\n**WayinVideo + OpenAI + Gmail**\n\n### How it works\nFill in the form with your event name, up to 3 session recording URLs, attendee email addresses, and a sender name. The workflow submits all three session recordings to WayinVideo AI simultaneously. After 90 seconds, it fetches all three AI-generated summaries, merges them into one item, and passes everything to an OpenAI GPT-4o-mini agent. The agent writes a professional HTML digest email with key takeaways per session. Gmail sends the final email to all attendees automatically.\n\n### Setup\n1. Get your WayinVideo API key from your WayinVideo dashboard under API settings\n2. Open nodes **2, 3, and 4** (Submit Session nodes) — replace `YOUR_WAYINVIDEO_API_KEY` in each Authorization header\n3. Open nodes **6, 7, and 8** (Get Summary nodes) — replace `YOUR_WAYINVIDEO_API_KEY` in each Authorization header\n4. In node **11. OpenAI — GPT-4o-mini Model**: connect your OpenAI credential via n8n Credentials\n5. In node **13. Gmail — Send Digest Email**: connect your Gmail account via OAuth2\n6. Activate the workflow and open the Form URL to test with a real event recording\n\n### Customization tips\n- Upgrade `gpt-4o-mini` to `gpt-4o` in node 11 for higher-quality email writing\n- Add a BCC field in the Gmail node to copy your internal team on every digest sent\n- Add a 4th session by duplicating nodes 4 and 8 and adding a 4th input to the Merge node"},"typeVersion":1},{"id":"ad85df0e-719f-4b24-9b5a-c50601bc073a","name":"Section — Form Input1","type":"n8n-nodes-base.stickyNote","position":[432,256],"parameters":{"color":5,"width":372,"height":120,"content":"## Section 1 — Form Input\nEvent organiser fills in the event name, up to 3 session recording URLs with titles, attendee email addresses, and sender name. Submitting the form triggers the entire workflow."},"typeVersion":1},{"id":"4d25affd-005b-4c04-a538-cb32c7b7ba87","name":"Section — WayinVideo Submission1","type":"n8n-nodes-base.stickyNote","position":[848,64],"parameters":{"color":5,"width":560,"height":120,"content":"## Section 2 — Submit All 3 Sessions to WayinVideo\nAll three session recording URLs are submitted in parallel to the WayinVideo Summaries API. Each call returns a task ID used to fetch the AI-generated summary later."},"typeVersion":1},{"id":"81f9f1ca-a7ce-4b1e-a3f1-6d2f262b4acf","name":"Section — Wait for Processing1","type":"n8n-nodes-base.stickyNote","position":[1296,272],"parameters":{"color":5,"width":364,"height":120,"content":"##  Section 3 — Wait 90 Seconds\nPauses the workflow to allow WayinVideo time to process all three session recordings before fetching results."},"typeVersion":1},{"id":"58921017-5a84-4c02-88fb-45532dd06c94","name":"Section — Fetch Summaries1","type":"n8n-nodes-base.stickyNote","position":[1680,80],"parameters":{"color":5,"width":612,"height":120,"content":"## Section 4 — Fetch All 3 Summaries\nPolls the WayinVideo results endpoint for each session using the task IDs from Section 2. All three fetch requests run in parallel."},"typeVersion":1},{"id":"d7696cf8-be93-4452-a4a5-7aacb325fab9","name":"Section — Merge, AI Write & Send1","type":"n8n-nodes-base.stickyNote","position":[2320,272],"parameters":{"color":5,"width":960,"height":120,"content":"## Section 5 — Merge, Write & Send Email\nMerges all three summaries into one item. OpenAI agent writes a professional HTML digest email using the session data. Gmail sends it to all attendees."},"typeVersion":1},{"id":"eff0e04b-bf91-49b2-b0e6-26710bbfb038","name":"Warning — No Retry on Summary Fetch1","type":"n8n-nodes-base.stickyNote","position":[1616,800],"parameters":{"color":3,"width":724,"height":176,"content":"## ⚠️ WARNING — No Retry Logic for Slow Processing\nIf WayinVideo has not finished processing after 90 seconds (common for longer videos), the summary fetch nodes will return empty or incomplete data and the email may be sent with blank session content.\n\n**Fix:** Add an IF node after each Get Summary node to check if `data.summary` is non-empty before proceeding. If empty, add a Wait + retry loop."},"typeVersion":1},{"id":"3e2edde4-a9e3-4e5f-a2c9-990e527228ae","name":"Warning — Blank Session URLs Cause Failure1","type":"n8n-nodes-base.stickyNote","position":[640,800],"parameters":{"color":3,"width":656,"height":176,"content":"## ⚠️ WARNING — All 3 Session URLs Are Required\nNodes 3 and 4 always submit Session 2 and Session 3 URLs even if those fields are left blank in the form. A blank URL will cause WayinVideo to return an error and the workflow will stop.\n\n**Fix:** Add an IF node before nodes 3 and 4 to check if the session URL field is non-empty before submitting. Skip the node entirely if the field is blank."},"typeVersion":1},{"id":"eba65b01-1809-4ca0-aaa4-beb6b6ad6faa","name":"11. OpenAI — GPT-4o-mini Model1","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[2560,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{},"builtInTools":{}},"typeVersion":1.3},{"id":"58b11dd9-63c9-4591-9c3c-fdf44a4ac7e2","name":"12. Output Parser — Structured HTML Email1","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2752,624],"parameters":{"jsonSchemaExample":"{\n  \"html_email\": \"<div style=\\\"font-family:Arial,sans-serif;\\\"><h1>Event Name</h1><p>Session content here...</p></div>\"\n}"},"typeVersion":1.3},{"id":"2ff4f22a-f81d-4566-9232-1810738d81cf","name":"8. WayinVideo — Get Session 3 Summary","type":"n8n-nodes-base.httpRequest","position":[1872,608],"parameters":{"url":"=https://wayinvideo-api.wayin.ai/api/v2/summaries/results/{{ $('4. WayinVideo — Submit Session 3').item.json.data.id }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"x-wayinvideo-api-version","value":"v2"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"7831acc5-19df-4753-88b8-febeaa759ddf","name":"6. WayinVideo — Get Session 1 Summary","type":"n8n-nodes-base.httpRequest","position":[1856,224],"parameters":{"url":"=https://wayinvideo-api.wayin.ai/api/v2/summaries/results/{{ $('2. WayinVideo — Submit Session 1').item.json.data.id }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"x-wayinvideo-api-version","value":"v2"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"0e94d7ab-ec08-4694-bb16-61266c8cd75e","name":"13. Gmail — Send Digest Email","type":"n8n-nodes-base.gmail","position":[2944,416],"webhookId":"ba9ab524-5ab4-44f5-9831-6c2de4422389","parameters":{"sendTo":"={{ $('1. Form — Event Details + Session URLs').item.json['Attendee Email Addresses'] }}","message":"={{ $json.output.html_email }}","options":{"senderName":"={{ $('1. Form — Event Details + Session URLs').item.json['Sender Name'] }}"},"subject":"=Your Complete Session Digest — {{ $('1. Form — Event Details + Session URLs').item.json['Event Name'] }}"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"support@entellustech.com"}},"typeVersion":2.1},{"id":"c0449823-b7b8-4ff5-b3d0-529351f5b523","name":"7. WayinVideo — Get Session 2 Summary","type":"n8n-nodes-base.httpRequest","position":[1856,416],"parameters":{"url":"=https://wayinvideo-api.wayin.ai/api/v2/summaries/results/{{ $('3. WayinVideo — Submit Session 2').item.json.data.id }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"x-wayinvideo-api-version","value":"v2"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"8a5fe283-46d8-45af-8c2c-406db83b8f55","name":"5. Wait — 90 Seconds","type":"n8n-nodes-base.wait","position":[1392,400],"webhookId":"wait-digest-90s","parameters":{"amount":90},"typeVersion":1.1}],"pinData":{},"connections":{"5. Wait — 90 Seconds":{"main":[[{"node":"6. WayinVideo — Get Session 1 Summary","type":"main","index":0},{"node":"7. WayinVideo — Get Session 2 Summary","type":"main","index":0},{"node":"8. WayinVideo — Get Session 3 Summary","type":"main","index":0}]]},"9. Merge — All 3 Summaries":{"main":[[{"node":"10. AI Agent — Build Digest Email","type":"main","index":0}]]},"11. OpenAI — GPT-4o-mini Model1":{"ai_languageModel":[[{"node":"10. AI Agent — Build Digest Email","type":"ai_languageModel","index":0}]]},"2. WayinVideo — Submit Session 1":{"main":[[{"node":"5. Wait — 90 Seconds","type":"main","index":0}]]},"3. WayinVideo — Submit Session 2":{"main":[[{"node":"5. Wait — 90 Seconds","type":"main","index":0}]]},"4. WayinVideo — Submit Session 3":{"main":[[{"node":"5. Wait — 90 Seconds","type":"main","index":0}]]},"10. AI Agent — Build Digest Email":{"main":[[{"node":"13. Gmail — Send Digest Email","type":"main","index":0}]]},"6. WayinVideo — Get Session 1 Summary":{"main":[[{"node":"9. Merge — All 3 Summaries","type":"main","index":0}]]},"7. WayinVideo — Get Session 2 Summary":{"main":[[{"node":"9. Merge — All 3 Summaries","type":"main","index":1}]]},"8. WayinVideo — Get Session 3 Summary":{"main":[[{"node":"9. Merge — All 3 Summaries","type":"main","index":2}]]},"1. Form — Event Details + Session URLs":{"main":[[{"node":"2. WayinVideo — Submit Session 1","type":"main","index":0},{"node":"3. WayinVideo — Submit Session 2","type":"main","index":0},{"node":"4. WayinVideo — Submit Session 3","type":"main","index":0}]]},"12. Output Parser — Structured HTML Email1":{"ai_outputParser":[[{"node":"10. AI Agent — Build Digest Email","type":"ai_outputParser","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":21,"nodeTypes":{"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.stickyNote":{"count":8},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.httpRequest":{"count":6},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"isaWOW","username":"isawow","bio":"","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/8e8c1f17a2be80c0d1b0248585660dff3062cefeda523bbafeafcdb813f52ffa?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1225,"icon":"file:form.svg","name":"n8n-nodes-base.formTrigger","codex":{"data":{"alias":["table","submit","post"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"On form submission"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form Trigger","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":33,"name":"Social Media"},{"id":49,"name":"AI Summarization"}],"image":[]}}