Submit an earnings call recording URL along with the company name, ticker, quarter, and the financial topics you want to extract — and the workflow scans the recording automatically. WayinVideo's Find Moments API locates up to 8 relevant moments in the call, each with a title, description, timestamp, and relevance score. GPT-4o-mini then analyzes every moment and writes an 8-section investor highlight including topic category, investor summary, key metrics mentioned, why it matters, sentiment with reasoning, and flags for attention. One Notion page is created per highlight in your Investor Intelligence database. Built for investment analysts, fund managers, IR teams, and financial content creators who want to organize earnings call intelligence without manually scrubbing through recordings.
⚠️ WayinVideo API key appears in 2 steps — replace
YOUR_WAYINVIDEO_API_KEYin both 2. WayinVideo — Submit Find Moments and 4. WayinVideo — Get Moments Results. Missing either one will cause the workflow to fail.
Estimated Setup Time: 20–25 minutes
Import the workflow — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import
Get your WayinVideo API key — Log in to your WayinVideo account → go to Account Settings → copy your API key
Add your WayinVideo API key to node 2 — Open node 2. WayinVideo — Submit Find Moments → find the Authorization header value Bearer YOUR_WAYINVIDEO_API_KEY → replace YOUR_WAYINVIDEO_API_KEY with your actual key
Add your WayinVideo API key to node 4 — Open node 4. WayinVideo — Get Moments Results → find the same Authorization header → replace YOUR_WAYINVIDEO_API_KEY with the same key
Connect OpenAI — Open node 9. OpenAI — GPT-4o-mini Model → click the credential dropdown → add your OpenAI API key → test the connection
Create your Notion database — In Notion, create a new database named Investor Intelligence → add these properties: Title (title), Company (text), Ticker Symbol (text), Quarter (text), Topic Category (select), Sentiment (select), Timestamp (text), Relevance Score (number), Recording URL (url), Call Date (date), Status (select — add "New" as a default option)
Get your Notion database ID — Open your Investor Intelligence database in Notion in a browser → the database ID is the 32-character string in the URL between the last / and the ? — it looks like xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connect Notion and set the database — Open node 11. Notion — Create Highlight Page → click the credential dropdown → add Notion OAuth2 → complete the OAuth flow to authorize n8n → in the pageId field, paste your Notion database URL or ID → make sure your Notion integration has access to the database (go to the database in Notion → three-dot menu → Add connections → find your n8n integration)
Activate the workflow — Toggle the workflow to Active → copy the Form URL from node 1. Form — Earnings Call + Details → open it in a browser to submit your first earnings call
Step 1 — Form: Earnings Call + Details
You open the form URL in a browser and fill in seven fields: the earnings call recording URL (Zoom, YouTube, Vimeo, or any direct link), the company name, the ticker symbol, the quarter or period (e.g. Q1 2025, FY2025), the call date, the financial topics you want to extract (e.g. "revenue growth guidance profit margin"), and optionally your investment thesis context (e.g. "Long-term growth play" or "Risk assessment"). Submitting the form starts the workflow.
Step 2 — HTTP: WayinVideo — Submit Find Moments
The recording URL and your financial topics query are sent to WayinVideo's Find Moments API. The request asks for up to 8 matching moments with export disabled since you only need the metadata. A project name is auto-generated from the company name, ticker, and quarter. WayinVideo accepts the job and returns a task ID.
Step 3 — Wait: 90 Seconds
The workflow pauses for 90 seconds before the first status check, giving WayinVideo time to scan the full recording. Earnings calls are typically 60–90 minutes long and benefit from this initial processing window.
Step 4 — HTTP: WayinVideo — Get Moments Results
A GET request checks the WayinVideo find-moments results endpoint using the task ID from step 2. It returns the current processing status and, once complete, the full clips array with title, description, timestamp, relevance score, and tags for each matched moment.
Step 5 — IF: Find Moments Complete?
This is the polling gate. If the status equals SUCCEEDED (YES path), the moments are ready and the workflow moves forward to clip extraction. If still processing (NO path), the workflow routes to 6. Wait — 30 Seconds Retry which pauses 30 seconds then loops back to step 4 to check again. This repeats until SUCCEEDED.
Step 6 — Wait: 30 Seconds Retry
When results are not yet ready, the workflow waits 30 seconds then returns to step 4 for another check. The loop continues automatically.
Step 7 — Code: Extract Highlight Clips
The clips array from WayinVideo is read and split into individual rows — one per matching moment. If no clips are returned, the step throws a clear error with a suggestion to try a broader query. Millisecond timestamps are converted to MM:SS format. The total clip count is also tracked and passed forward so GPT knows which highlight number it is writing (e.g. "Highlight 3 of 7"). All form inputs are carried forward alongside each clip's data.
Step 8 — AI Agent: Generate Investor Highlight
GPT-4o-mini receives the earnings call context and the specific moment's metadata: company, ticker, quarter, call date, financial topics, investment thesis, the moment title, description, timestamp range, relevance score, and tags. It writes eight labeled sections: TOPIC_CATEGORY, INVESTOR_SUMMARY, KEY_METRICS_MENTIONED, WHY_IT_MATTERS, SENTIMENT, SENTIMENT_REASONING, FLAGS_FOR_ATTENTION, and NOTION_PAGE_CONTENT. The Notion page content section is a fully formatted readable version of all other sections combined.
Step 9 — OpenAI: GPT-4o-mini Model
This is the language model powering the investor analysis. It runs with default settings for structured, consistent financial output.
Step 10 — Code: Parse Investor Analysis
All eight labeled sections are extracted from the AI output using regex. A Notion page title is assembled in the format Company Ticker — Quarter — TopicCategory — Highlight N. All fields are packaged and ready for the Notion API call.
Step 11 — Notion: Create Highlight Page
One Notion page is created in your Investor Intelligence database per financial highlight. The page title uses the structured format built in step 10. The full formatted Notion page content from GPT is written into the page body. Each page created corresponds to one timestamped moment from the earnings call.
The final result is up to 8 Notion pages — one per financial highlight found — each containing the investor summary, key metrics, sentiment, flags for attention, and the full page body ready to read, annotate, and share.
✅ Find Moments API — no full transcription — WayinVideo semantically searches the recording to find relevant moments directly, which is faster than transcribing and then text-searching the full call
✅ Up to 8 highlights per call — More moments per call than most WayinVideo workflows — suited for longer earnings calls with multiple important topics
✅ Nine financial topic categories — auto-assigned — Every highlight is automatically tagged with a category so your Notion database is filterable and sortable by topic type across all calls
✅ Investment thesis personalization — The optional investment thesis field is passed to GPT so the "Why It Matters" and "Flags" sections are framed around your specific analysis angle
✅ Sentiment with reasoning included — GPT assigns one of five sentiment labels and explains why — giving you a one-line justification you can include in your notes or investment memo
✅ Structured Notion page title — Every page is titled as Company Ticker — Quarter — Category — Highlight N so your Notion database is sortable and scannable without opening individual pages
✅ Highlight index passed to GPT — GPT knows it is writing "Highlight 3 of 7" so the analysis can reference position and relative importance within the full set of moments found
Increase the number of moments returned — In node 2. WayinVideo — Submit Find Moments, change "limit": 8 to a higher number such as 12 to find more matching moments per call — useful for very long conference call recordings covering many topics.
Add a retry limit to stop infinite polling — Before node 6. Wait — 30 Seconds Retry, add a Set step that increments a poll counter, then add a second IF check to stop after 15 polls and send a Gmail or Slack error notification instead of looping indefinitely.
Add Notion database properties per page — After node 11. Notion — Create Highlight Page, add a Notion update step that sets the database properties (Company, Ticker Symbol, Quarter, Sentiment, Topic Category, etc.) on the newly created page using the page ID returned — making your database filterable without opening each page.
Send a summary email after all highlights are created — After node 11. Notion — Create Highlight Page (on the last clip), add a Gmail step that sends a plain-text email listing all highlight titles, sentiments, and Notion page URLs so you have the full digest in your inbox.
Search for multiple topic queries in one run — In the form, allow comma-separated financial topics in the Financial Topics to Extract field, then add a code step after the form that submits a separate Find Moments request per topic and merges the results — covering revenue, margins, and risk in a single form submission.
WayinVideo returning an error on submission:
YOUR_WAYINVIDEO_API_KEY in node 2. WayinVideo — Submit Find Moments is replaced with your actual API key — not the placeholderNo moments found (empty clips array):
Workflow stuck in the polling loop:
Notion pages not being created:
pageId field in node 11 points to a valid Notion database — this must be a database, not a regular pageGPT not generating all eight sections:
Need help setting this up or want a custom version built for your team or agency?
📧 Email:[email protected]
🌐 Website:https://isawow.com