Interactive integration replay

Live Weather Brief

A keyless Open-Meteo request fetches current Paris conditions and exposes clean JSON for the next automation step.

3

executed nodes

3

recorded steps

436ms

actual runtime

2026-07-28

recorded on

Live Weather Brief
Read-only replay

Recorded run

Ready to replay · 436ms actual runtime

0/3
Click any node to inspect it

Replay the recorded run

Inputs are locked to the original execution so every replay stays honest and repeatable.

City coordinates

recorded input
Paris, France

Use the transport bar above to pause, seek, or change speed.

Real Heym run recorded on 2026-07-28. The replay is deterministic; node outputs and timings are the original execution data.

Inside the workflow

What happens in this run

This is the fastest useful HTTP workflow to understand on the Heym canvas. A text input identifies the city, the HTTP node calls Open-Meteo without an API key, and the output node makes the complete response available to whatever comes next. The recorded run returned a successful response with current temperature, weather code, wind speed, units, and coordinates. Replace the fixed coordinates with expressions and this same three-step pattern can power travel briefs, morning digests, or event alerts.

1City coordinatestextInput node · 1ms

Input

Trigger node, no upstream input.

Output

from City coordinates

{
  "headers": {
    "content-type": "application/json",
    "x-simple-response": "false",
    "connection": "keep-alive",
    "user-agent": "Bun/1.3.10",
    "accept": "*/*",
    "host": "localhost:10105",
    "accept-encoding": "gzip, deflate, br, zstd",
    "content-length": "52"
  },
  "query": {},
  "body": {
    "text": "Paris, France"
  },
  "text": "Paris, France"
}
2OpenMeteoForecasthttp node · 432ms

Input

from City coordinates

{
  "headers": {
    "content-type": "application/json",
    "x-simple-response": "false",
    "connection": "keep-alive",
    "user-agent": "Bun/1.3.10",
    "accept": "*/*",
    "host": "localhost:10105",
    "accept-encoding": "gzip, deflate, br, zstd",
    "content-length": "52"
  },
  "query": {},
  "body": {
    "text": "Paris, France"
  },
  "text": "Paris, France"
}

Output

from OpenMeteoForecast

{
  "status": 200,
  "headers": {
    "date": "Tue, 28 Jul 2026 15:57:27 GMT",
    "content-type": "application/json; charset=utf-8",
    "transfer-encoding": "chunked",
    "connection": "keep-alive",
    "content-encoding": "deflate"
  },
  "body": {
    "latitude": 48.84,
    "longitude": 2.3599997,
    "generationtime_ms": 0.05078315734863281,
    "utc_offset_seconds": 0,
    "timezone": "GMT",
    "timezone_abbreviation": "GMT",
    "elevation": 46,
    "current_units": {
      "time": "iso8601",
      "interval": "seconds",
      "temperature_2m": "°C",
      "weather_code": "wmo code",
      "wind_speed_10m": "km/h"
    },
    "current": {
      "time": "2026-07-28T15:45",
      "interval": 900,
      "temperature_2m": 31.8,
      "weather_code": 0,
      "wind_speed_10m": 4.3
    }
  },
  "request": {
    "method": "GET",
    "url": "https://api.open-meteo.com/v1/forecast?latitude=48.85&longitude=2.35&current=temperature_2m,weather_code,wind_speed_10m",
    "headers": {
      "host": "api.open-meteo.com",
      "accept": "*/*",
      "accept-encoding": "gzip, deflate, zstd",
      "connection": "keep-alive",
      "user-agent": "Heym (+https://heym.run)",
      "traceparent": "00-9414be71a466acf9e499dfa9a01310ba-8311e7872930ce42-03"
    }
  }
}
3Forecast JSONoutput node · 3ms

Input

from OpenMeteoForecast

{
  "status": 200,
  "headers": {
    "date": "Tue, 28 Jul 2026 15:57:27 GMT",
    "content-type": "application/json; charset=utf-8",
    "transfer-encoding": "chunked",
    "connection": "keep-alive",
    "content-encoding": "deflate"
  },
  "body": {
    "latitude": 48.84,
    "longitude": 2.3599997,
    "generationtime_ms": 0.05078315734863281,
    "utc_offset_seconds": 0,
    "timezone": "GMT",
    "timezone_abbreviation": "GMT",
    "elevation": 46,
    "current_units": {
      "time": "iso8601",
      "interval": "seconds",
      "temperature_2m": "°C",
      "weather_code": "wmo code",
      "wind_speed_10m": "km/h"
    },
    "current": {
      "time": "2026-07-28T15:45",
      "interval": 900,
      "temperature_2m": 31.8,
      "weather_code": 0,
      "wind_speed_10m": 4.3
    }
  },
  "request": {
    "method": "GET",
    "url": "https://api.open-meteo.com/v1/forecast?latitude=48.85&longitude=2.35&current=temperature_2m,weather_code,wind_speed_10m",
    "headers": {
      "host": "api.open-meteo.com",
      "accept": "*/*",
      "accept-encoding": "gzip, deflate, zstd",
      "connection": "keep-alive",
      "user-agent": "Heym (+https://heym.run)",
      "traceparent": "00-9414be71a466acf9e499dfa9a01310ba-8311e7872930ce42-03"
    }
  }
}

Output

from Forecast JSON

{
  "result": {
    "OpenMeteoForecast": {
      "status": 200,
      "headers": {
        "date": "Tue, 28 Jul 2026 15:57:27 GMT",
        "content-type": "application/json; charset=utf-8",
        "transfer-encoding": "chunked",
        "connection": "keep-alive",
        "content-encoding": "deflate"
      },
      "body": {
        "latitude": 48.84,
        "longitude": 2.3599997,
        "generationtime_ms": 0.05078315734863281,
        "utc_offset_seconds": 0,
        "timezone": "GMT",
        "timezone_abbreviation": "GMT",
        "elevation": 46,
        "current_units": {
          "time": "iso8601",
          "interval": "seconds",
          "temperature_2m": "°C",
          "weather_code": "wmo code",
          "wind_speed_10m": "km/h"
        },
        "current": {
          "time": "2026-07-28T15:45",
          "interval": 900,
          "temperature_2m": 31.8,
          "weather_code": 0,
          "wind_speed_10m": 4.3
        }
      },
      "request": {
        "method": "GET",
        "url": "https://api.open-meteo.com/v1/forecast?latitude=48.85&longitude=2.35&current=temperature_2m,weather_code,wind_speed_10m",
        "headers": {
          "host": "api.open-meteo.com",
          "accept": "*/*",
          "accept-encoding": "gzip, deflate, zstd",
          "connection": "keep-alive",
          "user-agent": "Heym (+https://heym.run)",
          "tracep
…

3 recorded steps · 436ms of real execution · recorded 2026-07-28

Put the pattern to work

Where teams use this pattern

  • Daily weather summaries in Slack, email, or a dashboard
  • Travel and event workflows that react to current conditions
  • Learning HTTP response mapping with a real, keyless API

Start from the Open-Meteo Weather Snapshot template.

Browse more ready-made flows in the template gallery.

Run this workflow on your own Heym

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.