如何使用n8n自动化宏观数据工作流 banner image

Implementation

How-To Guides

如何使用n8n自动化宏观数据工作流

建立自动化宏观数据管道在n8n获取FXMacroData指标在一个时间表,过发布日历事件,并路由结果到Slack,Google Sheets或任何webhook所有没有写服务器基础设施.

其他语言版本 English

n8n是一个自主托管的开源工作流自动化平台,允许您通过视觉节点编辑器连接API,数据库和SaaS工具. 无需后端基础设施.对于宏观数据工作流,n8n是自然的:按时间表拉出指标读数,根据即将发布的日历事件进行过,并将结果推向Slack,Google Sheets,数据数据库或任何下游webhook. 所有这些都可视觉配置,并且在24/7运行,而无需专用服务器过程. 本指南将从头开始在n8N中构建一个完整的FXMacroData自动化的工作流.

你将要建造什么

  • 计划工作流程 每个平日早上运行,获取货币对的最新宏观指标
  • 一个HTTP请求节点管道 调用FXMacroData公告终端点并解析JSON响应
  • 发布日历预警分支 检测即将发生的高影响力事件,并向Slack或Discord发送早期警告
  • 一个Google Sheets日志分支 将每一个新读数添加到一个电子表格,以追踪历史
  • 一个条件过器 只在最后一次运行后变化值时发动下游操作

预先要求

  • 在 n8n 个案例中 没有 其他 云帐户 (免费层次工作) 或通过 npx n8n 没有人知道.
  • 汇率数据API键 登记在 订阅许多美元指标是公开访问的,没有密钥
  • 缓解或分歧网链URL (可选) 用于通知步骤;您可以跳过这些步骤,只使用Google Sheets分支
  • 谷歌表格 OAuth 连接 (可选) 通过n8n的内置Google凭证配置,如果您想要电子表格记录

现在我们要做什么?

步骤1 启动n8n,创建一个空白的工作流

最快的方法是通过 npx如果您更喜欢Docker或云版本,节点配置相同跳转到创建工作流程.

# Local quick-start (Node.js 18+ required)
npx n8n

# Or with Docker
docker run -it --rm \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

打开 http://localhost:5678 在浏览器中创建帐户,然后点击 + 新的工作流程 您将看到一个空白的画布这是管道居住的地方.

存储您的API密钥作为n8n凭证,因此它永远不会嵌入到节点配置中. 在n8N中,进入 设置 → 凭证 → 添加凭证 并且保存你的钥匙:

Name:  FXMacroData API Key
Header Name: (leave blank — we use query params)
Value: YOUR_FXMACRODATA_API_KEY

您将在下一步中引用此存储的凭证.


现在我们要做什么?

步骤2 添加一个时间表触发节点

没有人知道. 时间表触发器 对于宏观数据工作流程,每天触发30分钟前伦敦开放 (07:30 UTC) 确保新读数可在当天的第一个高流动性会议之前.

按下 没有 按下画布上的按,搜索 时间表触发器设置如下:

// 调度触发节点设置

触发间隔: 定制 (cron)

cron表达式: 30 7 * * 1-5

// 运行周一至周五,时间为7:30 UTC

为了测试,切换触发器到 操作手册 暂时 这让您可以在单击即可从画布上运行整个工作流程,而不需要等待时间表.

提示:使用发布日历来精确你的时间表

您可以预先从"全球之声"上查看本周的最新版本. 发布日历终点 星期一早上使用N8N. 如果 节点在没有计划公告的日子里跳过获取步骤. 这种模式在下面的步骤5中显示.


现在我们要做什么?

步骤3 为FXMacroData配置HTTP请求节点

加入一个 HTTP 请求 节点在时间表触发器之后 (点击 没有 通过触发器的输出连接器,搜索 HTTP 请求) 这个节点将API调用到FXMacroData,并直接返回JSON响应到工作流中.

用以下设置配置节点:

// HTTP请求节点 获取最新的欧元政策利率

方法: 获取

标签: 根据该报告,该公司将在2012年1月份的交易中获得资金支持.

认证: 没有 (我们通过键作为查询参数下面)

查询参数:

关键字:

响应格式: 没有

对于n8n的HTTP请求节点,有一个专门的 查询参数 表添加一个行:

Name:  api_key
Value: {{ $credentials.fxmacrodataApiKey.value }}
       (or paste your key directly for quick testing)

按下 执行节点 您应该看到类似的输出:

{
  "currency": "EUR",
  "indicator": "policy_rate",
  "date": "2025-06-12",
  "val": 3.40,
  "prior": 3.65,
  "announcement_datetime": "2025-06-12T13:15:00Z"
}

没有什么. announcement_datetime 使用它作为除重键,这样你的工作流程永远不会在同一版本上双重发出警报.

在一个工作流中获取多个指标

要抽取几个指标 (例如政策利率,CPI和同一种货币的失业率),在触发后添加并行HTTP请求节点,每个终点一个,并将其输出与一个合并. 合并 节点设置为 结合 在转换步骤之前的模式.


现在我们要做什么?

步骤4 用代码节点解析和转换响应

加入一个 代码 接着接下来 HTTP 请求节点,以提取您关心的字段,并丰富有效负载. n8n 的代码节点运行 JavaScript,并通过 $input.all()现在我们要做什么?

// Code node: parse FXMacroData announcement response
const items = $input.all();

return items.map(item => {
  const d = item.json;

  // Determine direction relative to prior value
  const direction =
    d.val > d.prior ? "↑ Hawkish signal" :
    d.val < d.prior ? "↓ Dovish signal"  : "→ Unchanged";

  const surpriseText =
    d.consensus != null
      ? `Consensus was ${d.consensus}; actual ${d.val > d.consensus ? "beat" : "missed"}.`
      : "";

  return {
    json: {
      currency:              d.currency,
      indicator:             d.indicator,
      value:                 d.val,
      prior:                 d.prior,
      direction,
      surprise:              surpriseText,
      announcement_datetime: d.announcement_datetime,
      summary: `${d.currency.toUpperCase()} ${d.indicator.replace(/_/g, " ")}: ` +
               `${d.val} (prior ${d.prior}) — ${direction}`
    }
  };
});

这就产生了一个清洁,丰富的对象. summary 现在,该字段已经准备好直接粘贴到Slack消息或电子表格行中.


五步 没有

步骤 5 添加一个IF节点的条件过器

只有当发布版本真正新时,你才会想要发射下游操作,而不是如果API返回相同的内容. announcement_datetime 您已经在之前的运行中处理了. 如果 代码节点后一个节点.

使用n8n. 静态数据 (通过代码节点访问) $getWorkflowStaticData 对于最后一个人来说, announcement_datetime 在跑步之间:

// Code node: deduplication guard — place before the IF node
const staticData = $getWorkflowStaticData("global");

return $input.all().map(item => {
  const ts = item.json.announcement_datetime;
  const isNew = ts !== staticData.lastSeen;

  // Update state only if this is a new release
  if (isNew) {
    staticData.lastSeen = ts;
  }

  return { json: { ...item.json, isNew } };
});

然后配置 如果 节点:

// 如果节点 只有当发布是新的时继续

情况: 现在我们将把它放在一个小区中. true

// 真实分支 → 通知 / 记录

// 错误的分支 → 停止 / 没有

连接一个 没有 没有新版本打印的日子,工作流就会清洁无误地结束.


现在我们要做什么?

步骤6 发送通知到Slack或Discord

连接IF节点的 这是真的 输出到一个 放松 节点 (或一个 HTTP 请求 设置消息体使用 Code 节点的丰富字段:

// 缓慢节点设置

资源: 信息

操作: 发送

频道: 关于这些问题,

文本:

*新宏观发布*

没有任何的.

现在我们要做什么?

发表时间:

对于不一致,使用一个 HTTP 请求 节点与方法 POST 并且在Discord网链URL上, 设置为:

{
  "content": "📊 **New macro release**\n{{ $json.summary }}\n{{ $json.surprise }}\nPublished: {{ $json.announcement_datetime }}"
}

已经设置 机体含量类型 现在 简体中文 并且节点将自动处理序列化.


现在我们要做什么?

步骤7 登录发布到 Google 页面

随着Slack通知的同时,添加一个 谷歌表格 连接到IF节点的相同的True分支输出 (n8n允许多个节点接收相同的输出).

配置谷歌表节点:

// 谷歌表节点设置

资源: 文件中的表格

操作: 添加或更新行

电子表格: (选择您的谷歌表)

页面: 总体数据

列进行映射:

发布时间 → 发布日期

货币 → {{ $json.货币 }}

标志 → {{ $json.indicator }}

值 → {{ $json.value }}

之前 → {{ $json.prior }}

方向 → {{ $json.direction }}

您需要在下面的 n8n 中设置 Google OAuth 凭证. 设置 → 凭证 → 谷歌表格 OAuth2 API 在这个节点可以验证之前. 按照n8n的内置凭证设置指南需要大约两分钟.


现在我们要做什么?

步骤8 添加发布日历预警分支

一个独特的FXMacroData强大的模式是使用 发布日历终点 开始开火. 预先警告 让你的团队在数字击中之前准备位置.

添加第二个HTTP请求节点连接到时间表触发器 (与公告获取并行). 配置它来拉出当前一周的即将发布:

Method: GET
URL:    https://fxmacrodata.com/api/v1/calendar/eur
Params: api_key=YOUR_API_KEY

通过一个代码节点来过接下来的60分钟内发生的事件:

// Code node: filter calendar events due within the next hour
const nowMs  = Date.now();
const oneHrMs = 60 * 60 * 1000;

return $input.all().flatMap(item => {
  const events = Array.isArray(item.json) ? item.json : [item.json];

  return events
    .filter(ev => {
      const evMs = new Date(ev.release_datetime).getTime();
      return evMs > nowMs && evMs <= nowMs + oneHrMs;
    })
    .map(ev => ({
      json: {
        currency:         ev.currency,
        indicator:        ev.indicator,
        release_datetime: ev.release_datetime,
        alert: `⏰ *Upcoming release in <1 hour*\n` +
               `${ev.currency.toUpperCase()} ${ev.indicator.replace(/_/g, " ")}\n` +
               `Scheduled: ${ev.release_datetime}`
      }
    }));
});

将输出连接到一个Slack节点 (或Discord HTTP请求),它会发送 alert 现在我们要去 #macro-alerts 没有事件在一个小时内到期,过数组是空的,n8n简单地产生没有输出没有采取行动.

使用动态货币的表达方式

为了使工作流通通用, 替换硬码 eur 在URL中使用n8n表达式. 设置 工作流的顶部节点定义一个 currency 变量,然后引用它在两个HTTP请求节点:

https://fxmacrodata.com/api/v1/announcements/{{ $vars.currency }}/policy_rate?api_key=YOUR_API_KEY

然后可以为任何一个工作流模板运行. 14个支持货币 通过简单地改变变量值.


现在我们要做什么?

步骤9 启动和监控工作流程

一旦您测试了每个节点, 执行节点 按下按,通过点击运行整个工作流程. 执行工作流程 在工具中检查执行日志是否有错误 n8n的视觉调试器突出显示了哪个节点失败,并显示了该步骤的确切输入/输出.

为了将工作流进入生产,切换 活跃 现在n8n将在步骤2中定义的cron时间表上自动运行工作流.

监测检查清单

  • ✅ 没有 执行历史 在左侧下方可见 处决显示每次运行成功/失败
  • ✅ 没有 错误工作流程 在 设置一个单独的错误处理工作流程 设置 → 错误工作流程 如果任何节点抛出异常,就会被通知
  • ✅ 没有 如果失败,再尝试 在HTTP请求节点设置中启用此功能,以自动重试过渡网络错误
  • ✅ 没有 执行数据剪切 在n8n设置中设置保留窗口 (例如30天),以避免在自主托管实例上使用无限磁盘

现在我们要做什么?

步骤10 扩展到其他指标和货币

您构建的管道针对单个货币的单一指标.将其扩展到更广泛的宏观覆盖范围很简单,因为n8n的视觉分支直接映射到FXMacroData URL结构.每个终点都遵循相同的模式:

https://fxmacrodata.com/api/v1/announcements/{currency}/{indicator}?api_key=YOUR_API_KEY

要在一个工作流运行中获取多个指标,添加一个 分成批量 关节后的触发器,并给它一个列表 { currency, indicator } 每次代都会发出一个HTTP请求.下面的模式连续获取三个EUR读数:

// Set node: define the indicator list
// Add this as a "Set" node at the top, outputting a single item
// with a field named "indicators"

const indicators = [
  { currency: "eur", indicator: "policy_rate" },
  { currency: "eur", indicator: "inflation" },
  { currency: "eur", indicator: "unemployment" }
];

return [{ json: { indicators } }];

然后添加一个 分离 接下来,将这些元素连接到 HTTP 请求节点. 在 HTTP 请问 URL 中,引用当前项目的字段:

URL: https://fxmacrodata.com/api/v1/announcements/{{ $json.currency }}/{{ $json.indicator }}
Params: api_key=YOUR_API_KEY

您可以在任何货币的全指标目录查看. 没有任何信息. 是一样的 {currency}/{indicator} 路径结构适用于整个过程.

导入完整的工作流程为JSON

您可以将任何工作流出为JSON文件并共享. 菜单 → 下载 为了出口一个便携式 .json 团队成员可以通过 + 新工作流 → 从文件导入通过一个新的 API 关键, 添加自己的 API 密钥凭证, 并激活它.


总结:

总结

现在您在n8n中运行了一个全自动化宏观数据管道:

  • 在工作日cron时间表上触发 (或按要求)
  • 通过HTTP请求获取最新的FXMacroData指标,并进行查询参数认证
  • 解析和丰富JSON响应在代码节点中的方向信号
  • 对于最后一次见到的 announcement_datetime 为了防止双重通报
  • 在新版本打印时发送Slack或Discord通知
  • 添加每一个新的读数到Google Sheets日志进行历史分析
  • 预告日历预告,高影响力事件计划前一个小时

从这里开始,自然的下一步步骤包括向指标列表添加更多货币,将表格日志连接到Looker Studio仪表板以可视化,或与交易平台webhook集成,以便在新发布时直接触发订单警报. 完整的API文档 发现完整的指标目录,开始构建自己的宏观智能层.

AI Answer-Ready

Key Facts

Page
How To Automate Macro Data N8n
Section
Articles
Canonical URL
https://fxmacrodata.com/articles/how-to-automate-macro-data-n8n
Source
FXMacroData editorial and official publisher references
Last Updated
2026-04-22 12:36 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is this page about? This page explains How To Automate Macro Data N8n with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.

Blogroll