Quick Overview
This workflow polls the ForexLive RSS feed every five minutes, filters for forex-relevant headlines, uses OpenAI to generate structured risk analysis, deduplicates items in an n8n Data Table, and sends high-priority alerts to a Slack channel.
How it works
- Polls the ForexLive RSS feed on a */5 * * * * schedule and ingests newly published items.
- Normalizes each RSS item into consistent fields (title, description, link, and date) and checks the text for predefined forex and macroeconomic keywords.
- For relevant items, sends the title and description to OpenAI (GPT-4.1-mini) to return a strict JSON risk assessment including summary, impacted currency pairs, risk level, confidence score, and recommended action.
- Parses the OpenAI JSON response, merges it back with the original news data, and computes a final risk score, priority level, and a normalized deduplication key.
- Checks an n8n Data Table for the dedupe key and only continues when the item has not been seen before.
- Stores the processed item in the n8n Data Table and posts a formatted Slack message when the computed priority is HIGH.
Setup
- Add OpenAI credentials and ensure the OpenAI node is set to a model you have access to (currently GPT-4.1-mini).
- Add a Slack OAuth2 credential and select the target Slack channel (currently set to #forex-alert).
- Create or select an n8n Data Table for deduplication (currently forex_memory) with at least key and value string columns, and update the Data Table ID if needed.
- Confirm the RSS feed URL (https://www.forexlive.com/feed/) and adjust the polling cron schedule if you want a different frequency.