AI Pricing Data Pipeline

A loop fetches live AI provider pages over HTTP, an LLM analyzes them, and the flow assembles a report.

integration26 steps3.6s real runrecorded 2026-07-28
Step 0/26 · real run: 3.6s

Click a node for real config and output

Replays the recorded run on the canvas

Deterministic replay of a real Heym run recorded on 2026-07-28. Every step, output, and timing is genuine. Nothing is simulated.

Paste it straight onto your Heym canvas.

What happens in this run

A classic integration pipeline with a real loop: a scheduled trigger seeds a source list, HTTP nodes fetch live AI provider pages one by one, set and variable nodes collect the results, and an LLM assembles the final report. The trace shows exactly how Heym threads real data through each iteration, with the actual per-node latencies from the recorded run. Teams reach for this data pipeline pattern when they need web data extraction without an API, scheduled market and price monitoring, or lightweight ETL jobs that turn messy pages into clean, structured records ready for sheets, databases, and alerts.

1weeklySchedulecron node · 0ms

Input

Trigger node, no upstream input.

Output

from weeklySchedule

{
  "cron": "0 9 * * 1",
  "triggered_at": "2026-07-28T12:23:34.888653+00:00"
}
2aiProviderSourcesset node · 2ms

Input

from weeklySchedule

{
  "cron": "0 9 * * 1",
  "triggered_at": "2026-07-28T12:23:34.888653+00:00"
}

Output

from aiProviderSources

{
  "sources": [
    {
      "name": "OpenAI Pricing",
      "url": "https://openai.com/api/pricing/"
    },
    {
      "name": "Anthropic Claude Pricing",
      "url": "https://platform.anthropic.com/docs/en/about-claude/pricing"
    },
    {
      "name": "Google Gemini API Pricing",
      "url": "https://ai.google.dev/gemini-api/docs/pricing"
    },
    {
      "name": "Mistral Pricing",
      "url": "https://mistral.ai/pricing"
    }
  ]
}
3initResultsvariable node · 0ms

Input

from aiProviderSources

{
  "sources": [
    {
      "name": "OpenAI Pricing",
      "url": "https://openai.com/api/pricing/"
    },
    {
      "name": "Anthropic Claude Pricing",
      "url": "https://platform.anthropic.com/docs/en/about-claude/pricing"
    },
    {
      "name": "Google Gemini API Pricing",
      "url": "https://ai.google.dev/gemini-api/docs/pricing"
    },
    {
      "name": "Mistral Pricing",
      "url": "https://mistral.ai/pricing"
    }
  ]
}

Output

from initResults

{
  "name": "collectedPages",
  "value": [
    {
      "provider": "OpenAI Pricing",
      "url": "https://openai.com/api/pricing/",
      "content": "Redirecting...\n"
    },
    {
      "provider": "Anthropic Claude Pricing",
      "url": "https://platform.anthropic.com/docs/en/about-claude/pricing",
      "content": "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n<body>\r\n<center><h1>301 Moved Permanently</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"
    },
    {
      "provider": "Google Gemini API Pricing",
      "url": "https://ai.google.dev/gemini-api/docs/pricing",
      "content": "\n\n\n\n\n\n\n\n\n<!doctype html>\n<html \n      lang=\"en\"\n      dir=\"ltr\">\n  <head>\n    <meta name=\"google-signin-client-id\" content=\"157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com\"><meta name=\"google-signin-scope\"\n          content=\"profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/devprofiles.full_control.firstparty\"><meta property=\"og:site_name\" content=\"Google AI for Developers\">\n    <meta property=\"og:type\" content=\"website\"><meta name=\"theme-color\" content=\"#1967d2\"><meta charset=\"utf-8\">\n    <meta content=\"IE=Edge\" http-equiv=\"X-UA-Compatible\">\n    <meta name=\"viewport\" con
…

Large output truncated for display.

4processProvidersloop node · 5 passes · 0ms

Input

from initResults

{
  "name": "collectedPages",
  "value": [
    {
      "provider": "OpenAI Pricing",
      "url": "https://openai.com/api/pricing/",
      "content": "Redirecting...\n"
    },
    {
      "provider": "Anthropic Claude Pricing",
      "url": "https://platform.anthropic.com/docs/en/about-claude/pricing",
      "content": "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n<body>\r\n<center><h1>301 Moved Permanently</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"
    },
    {
      "provider": "Google Gemini API Pricing",
      "url": "https://ai.google.dev/gemini-api/docs/pricing",
      "content": "\n\n\n\n\n\n\n\n\n<!doctype html>\n<html \n      lang=\"en\"\n      dir=\"ltr\">\n  <head>\n    <meta name=\"google-signin-client-id\" content=\"157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com\"><meta name=\"google-signin-scope\"\n          content=\"profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/devprofiles.full_control.firstparty\"><meta property=\"og:site_name\" content=\"Google AI for Developers\">\n    <meta property=\"og:type\" content=\"website\"><meta name=\"theme-color\" content=\"#1967d2\"><meta charset=\"utf-8\">\n    <meta content=\"IE=Edge\" http-equiv=\"X-UA-Compatible\">\n    <meta name=\"viewport\" con
…

from collectPage

{}

Output

from processProviders

{
  "results": [
    {
      "name": "collectedPages",
      "value": [
        {
          "provider": "OpenAI Pricing",
          "url": "https://openai.com/api/pricing/",
          "content": "Redirecting...\n"
        },
        {
          "provider": "Anthropic Claude Pricing",
          "url": "https://platform.anthropic.com/docs/en/about-claude/pricing",
          "content": "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n<body>\r\n<center><h1>301 Moved Permanently</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"
        },
        {
          "provider": "Google Gemini API Pricing",
          "url": "https://ai.google.dev/gemini-api/docs/pricing",
          "content": "\n\n\n\n\n\n\n\n\n<!doctype html>\n<html \n      lang=\"en\"\n      dir=\"ltr\">\n  <head>\n    <meta name=\"google-signin-client-id\" content=\"157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com\"><meta name=\"google-signin-scope\"\n          content=\"profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/devprofiles.full_control.firstparty\"><meta property=\"og:site_name\" content=\"Google AI for Developers\">\n    <meta property=\"og:type\" content=\"website\"><meta name=\"theme-color\" content=\"#1967d2\"><meta charset=\"utf-8\">\n    <meta
…

Large output truncated for display.

5fetchPagehttp node · 5 passes · 2.1s

Input

from processProviders

{
  "results": [
    {
      "name": "collectedPages",
      "value": [
        {
          "provider": "OpenAI Pricing",
          "url": "https://openai.com/api/pricing/",
          "content": "Redirecting...\n"
        },
        {
          "provider": "Anthropic Claude Pricing",
          "url": "https://platform.anthropic.com/docs/en/about-claude/pricing",
          "content": "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n<body>\r\n<center><h1>301 Moved Permanently</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"
        },
        {
          "provider": "Google Gemini API Pricing",
          "url": "https://ai.google.dev/gemini-api/docs/pricing",
          "content": "\n\n\n\n\n\n\n\n\n<!doctype html>\n<html \n      lang=\"en\"\n      dir=\"ltr\">\n  <head>\n    <meta name=\"google-signin-client-id\" content=\"157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com\"><meta name=\"google-signin-scope\"\n          content=\"profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/devprofiles.full_control.firstparty\"><meta property=\"og:site_name\" content=\"Google AI for Developers\">\n    <meta property=\"og:type\" content=\"website\"><meta name=\"theme-color\" content=\"#1967d2\"><meta charset=\"utf-8\">\n    <meta
…

Output

from fetchPage

{}
6extractPageInfoset node · 5 passes · 5ms

Input

from fetchPage

{}

Output

from extractPageInfo

{}
7collectPagevariable node · 5 passes · 1ms

Input

from extractPageInfo

{}

Output

from collectPage

{}
8analyzeUpdatesllm node · 1.5s

Input

from processProviders

{
  "results": [
    {
      "name": "collectedPages",
      "value": [
        {
          "provider": "OpenAI Pricing",
          "url": "https://openai.com/api/pricing/",
          "content": "Redirecting...\n"
        },
        {
          "provider": "Anthropic Claude Pricing",
          "url": "https://platform.anthropic.com/docs/en/about-claude/pricing",
          "content": "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n<body>\r\n<center><h1>301 Moved Permanently</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"
        },
        {
          "provider": "Google Gemini API Pricing",
          "url": "https://ai.google.dev/gemini-api/docs/pricing",
          "content": "\n\n\n\n\n\n\n\n\n<!doctype html>\n<html \n      lang=\"en\"\n      dir=\"ltr\">\n  <head>\n    <meta name=\"google-signin-client-id\" content=\"157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com\"><meta name=\"google-signin-scope\"\n          content=\"profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/devprofiles.full_control.firstparty\"><meta property=\"og:site_name\" content=\"Google AI for Developers\">\n    <meta property=\"og:type\" content=\"website\"><meta name=\"theme-color\" content=\"#1967d2\"><meta charset=\"utf-8\">\n    <meta
…

Output

from analyzeUpdates

{
  "has_important_changes": false,
  "summary": "No content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.",
  "changes": [],
  "slack_message": ":robot_face: Weekly AI Provider Update\n\nSummary:\nNo content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.\n\nImportant changes:\nNone\n\nWhy it matters:\n- Developer impact: No impact.\n- Business impact: No impact.\n\nSuggested actions:\nContinue monitoring.",
  "model": "zai-glm-4.7"
}
9notifyAITeamconsoleLog node · 4ms

Input

from analyzeUpdates

{
  "has_important_changes": false,
  "summary": "No content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.",
  "changes": [],
  "slack_message": ":robot_face: Weekly AI Provider Update\n\nSummary:\nNo content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.\n\nImportant changes:\nNone\n\nWhy it matters:\n- Developer impact: No impact.\n- Business impact: No impact.\n\nSuggested actions:\nContinue monitoring.",
  "model": "zai-glm-4.7"
}

Output

from notifyAITeam

{
  "has_important_changes": false,
  "summary": "No content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.",
  "changes": [],
  "slack_message": ":robot_face: Weekly AI Provider Update\n\nSummary:\nNo content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.\n\nImportant changes:\nNone\n\nWhy it matters:\n- Developer impact: No impact.\n- Business impact: No impact.\n\nSuggested actions:\nContinue monitoring.",
  "model": "zai-glm-4.7",
  "logMessage": {
    "has_important_changes": false,
    "summary": "No content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.",
    "changes": [],
    "slack_message": ":robot_face: Weekly AI Provider Update\n\nSummary:\nNo content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.\n\nImportant changes:\nNone\n\nWhy it matters:\n- Developer impact: No impact.\n- Business impact: No impact.\n\nSuggested actions:\nContinue monitoring.",
    "model": "zai-glm-4.7"
  }
}
10finalOutputoutput node · 0ms

Input

from notifyAITeam

{
  "has_important_changes": false,
  "summary": "No content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.",
  "changes": [],
  "slack_message": ":robot_face: Weekly AI Provider Update\n\nSummary:\nNo content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.\n\nImportant changes:\nNone\n\nWhy it matters:\n- Developer impact: No impact.\n- Business impact: No impact.\n\nSuggested actions:\nContinue monitoring.",
  "model": "zai-glm-4.7",
  "logMessage": {
    "has_important_changes": false,
    "summary": "No content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.",
    "changes": [],
    "slack_message": ":robot_face: Weekly AI Provider Update\n\nSummary:\nNo content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.\n\nImportant changes:\nNone\n\nWhy it matters:\n- Developer impact: No impact.\n- Business impact: No impact.\n\nSuggested actions:\nContinue monitoring.",
    "model": "zai-glm-4.7"
  }
}

Output

from finalOutput

{
  "result": {
    "has_important_changes": false,
    "summary": "No content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.",
    "changes": [],
    "slack_message": ":robot_face: Weekly AI Provider Update\n\nSummary:\nNo content was provided for analysis this week. No critical pricing or model changes detected from the monitored sources.\n\nImportant changes:\nNone\n\nWhy it matters:\n- Developer impact: No impact.\n- Business impact: No impact.\n\nSuggested actions:\nContinue monitoring.",
    "model": "zai-glm-4.7"
  }
}

26 recorded steps · 3.6s of real execution · recorded 2026-07-28

Where teams use this pattern

  • Competitor or vendor price monitoring
  • Turning unstructured pages into structured records
  • Nightly data-collection jobs that feed dashboards or sheets

This demo is based on the AI Provider Pricing Monitor template. Import it with your own credentials to make it yours.

Browse more ready-made flows in the template gallery.

Don’t have Heym yet?

Heym is Self Hosted and Source Available, clone it and spin up the canvas locally in under a minute, then run the workflow you just watched.

$ git clone https://github.com/heymrun/heym.git
$ cd heym && cp .env.example .env
$ ./run.sh
✓ Ready at http://localhost:4017
Need every variable? See the environment reference.