Webhook Widget

Example

The day ahead

Four scheduled views from one response.

entriestimelinebudget
The day ahead Large
json
{
  "v": 1,
  "refresh": 3600,
  "accessibility": "Four meetings today, next is standup at 9",
  "entries": [
    {
      "at": "2026-08-11T09:00:00Z",
      "view": {
        "type": "vstack",
        "align": "leading",
        "spacing": 0,
        "padding": 18,
        "bg": "#FFFFFF",
        "children": [
          {
            "type": "text",
            "text": "NOW",
            "style": "caption2",
            "weight": "bold",
            "color": "blue"
          },
          {"type": "spacer", "minLength": 6},
          {
            "type": "text",
            "text": "Standup",
            "style": "title",
            "weight": "bold",
            "color": "primary"
          },
          {
            "type": "text",
            "text": "09:00 – 09:15",
            "style": "headline",
            "color": "blue"
          },
          {
            "type": "text",
            "text": "Team sync",
            "style": "subheadline",
            "color": "secondary"
          },
          {"type": "spacer", "minLength": 14},
          {"type": "divider"},
          {"type": "spacer", "minLength": 10},
          {
            "type": "text",
            "text": "LATER",
            "style": "caption2",
            "weight": "bold",
            "color": "tertiary"
          },
          {"type": "spacer", "minLength": 6},
          {
            "type": "hstack",
            "spacing": 8,
            "align": "center",
            "children": [
              {
                "type": "vstack",
                "children": [],
                "w": 6,
                "h": 6,
                "corner": 3,
                "bg": "tertiary"
              },
              {
                "type": "text",
                "text": "Design review",
                "style": "body",
                "color": "secondary"
              }
            ]
          },
          {
            "type": "hstack",
            "spacing": 8,
            "align": "center",
            "children": [
              {
                "type": "vstack",
                "children": [],
                "w": 6,
                "h": 6,
                "corner": 3,
                "bg": "tertiary"
              },
              {
                "type": "text",
                "text": "1:1",
                "style": "body",
                "color": "secondary"
              }
            ]
          },
          {
            "type": "hstack",
            "spacing": 8,
            "align": "center",
            "children": [
              {
                "type": "vstack",
                "children": [],
                "w": 6,
                "h": 6,
                "corner": 3,
                "bg": "tertiary"
              },
              {
                "type": "text",
                "text": "Retro",
                "style": "body",
                "color": "secondary"
              }
            ]
          },
          {"type": "spacer"}
        ]
      }
    },
    {
      "at": "2026-08-11T11:30:00Z",
      "view": {
        "type": "vstack",
        "align": "leading",
        "spacing": 0,
        "padding": 18,
        "bg": "#FFFFFF",
        "children": [
          {
            "type": "text",
            "text": "NOW",
            "style": "caption2",
            "weight": "bold",
            "color": "purple"
          },
          {"type": "spacer", "minLength": 6},
          {
            "type": "text",
            "text": "Design review",
            "style": "title",
            "weight": "bold",
            "color": "primary"
          },
          {
            "type": "text",
            "text": "11:30 – 12:30",
            "style": "headline",
            "color": "purple"
          },
          {
            "type": "text",
            "text": "With Priya, Sam",
            "style": "subheadline",
            "color": "secondary"
          },
          {"type": "spacer", "minLength": 14},
          {"type": "divider"},
          {"type": "spacer", "minLength": 10},
          {
            "type": "text",
            "text": "LATER",
            "style": "caption2",
            "weight": "bold",
            "color": "tertiary"
          },
          {"type": "spacer", "minLength": 6},
          {
            "type": "hstack",
            "spacing": 8,
            "align": "center",
            "children": [
              {
                "type": "vstack",
                "children": [],
                "w": 6,
                "h": 6,
                "corner": 3,
                "bg": "tertiary"
              },
              {
                "type": "text",
                "text": "1:1",
                "style": "body",
                "color": "secondary"
              }
            ]
          },
          {
            "type": "hstack",
            "spacing": 8,
            "align": "center",
            "children": [
              {
                "type": "vstack",
                "children": [],
                "w": 6,
                "h": 6,
                "corner": 3,
                "bg": "tertiary"
              },
              {
                "type": "text",
                "text": "Retro",
                "style": "body",
                "color": "secondary"
              }
            ]
          },
          {"type": "spacer"}
        ]
      }
    },
    {
      "at": "2026-08-11T14:00:00Z",
      "view": {
        "type": "vstack",
        "align": "leading",
        "spacing": 0,
        "padding": 18,
        "bg": "#FFFFFF",
        "children": [
          {
            "type": "text",
            "text": "NOW",
            "style": "caption2",
            "weight": "bold",
            "color": "teal"
          },
          {"type": "spacer", "minLength": 6},
          {
            "type": "text",
            "text": "1:1",
            "style": "title",
            "weight": "bold",
            "color": "primary"
          },
          {
            "type": "text",
            "text": "14:00 – 14:30",
            "style": "headline",
            "color": "teal"
          },
          {
            "type": "text",
            "text": "With Alex",
            "style": "subheadline",
            "color": "secondary"
          },
          {"type": "spacer", "minLength": 14},
          {"type": "divider"},
          {"type": "spacer", "minLength": 10},
          {
            "type": "text",
            "text": "LATER",
            "style": "caption2",
            "weight": "bold",
            "color": "tertiary"
          },
          {"type": "spacer", "minLength": 6},
          {
            "type": "hstack",
            "spacing": 8,
            "align": "center",
            "children": [
              {
                "type": "vstack",
                "children": [],
                "w": 6,
                "h": 6,
                "corner": 3,
                "bg": "tertiary"
              },
              {
                "type": "text",
                "text": "Retro",
                "style": "body",
                "color": "secondary"
              }
            ]
          },
          {"type": "spacer"}
        ]
      }
    },
    {
      "at": "2026-08-11T16:30:00Z",
      "view": {
        "type": "vstack",
        "align": "leading",
        "spacing": 0,
        "padding": 18,
        "bg": "#FFFFFF",
        "children": [
          {
            "type": "text",
            "text": "NOW",
            "style": "caption2",
            "weight": "bold",
            "color": "orange"
          },
          {"type": "spacer", "minLength": 6},
          {
            "type": "text",
            "text": "Retro",
            "style": "title",
            "weight": "bold",
            "color": "primary"
          },
          {
            "type": "text",
            "text": "16:30 – 17:30",
            "style": "headline",
            "color": "orange"
          },
          {
            "type": "text",
            "text": "Sprint 42",
            "style": "subheadline",
            "color": "secondary"
          },
          {"type": "spacer", "minLength": 14},
          {"type": "divider"},
          {"type": "spacer", "minLength": 10},
          {
            "type": "text",
            "text": "LATER",
            "style": "caption2",
            "weight": "bold",
            "color": "tertiary"
          },
          {"type": "spacer", "minLength": 6},
          {"type": "spacer"}
        ]
      }
    }
  ]
}
Built for the large — a tighter slot gets its own tree from the server, not this one shrunk.

How it works

The response contains four entries, each with a time and a view. The device switches to each view when that time arrives, without another request.

iOS refreshes a widget on its own schedule, not yours. Answering one fetch with the whole day means the widget is right at 09:00, 11:30, 14:00 and 16:30 however few refreshes it is granted, instead of being wrong between polls.

Use the entry control above the preview to step through what the phone will show at each of those times.

Put it on your Home Screen

This example is served live, with timestamps generated at the moment of the request. Add the URL as a hook in the app and it will work on a real phone.

URL
https://webhookwidget.com/demo/agenda

Open the raw response →

Next

Launch countdown — Five ways to display the same date.
All examples