pebble
  • Tutorials
  • Get the SDK
  • Guides
  • Documentation
  • PebbleOS
  • Mobile App
  • Examples
  • Index 01
  • Community
  • Blog
  • More
Privacy
Cookies
Publish

Guides

  • Table of Contents
  • Alloy
  • Building with AI Agents
  • App Resources
  • Appstore Publishing
  • Best Practices
  • Communication
  • Debugging
  • Design and Interaction
  • Events and Services
  • Graphics and Animations
  • Pebble Packages
  • Pebble Timeline
    • Creating Pins
    • Local Pins
    • Subscriptions and Tokens
  • Plugins (Preview)
  • Tools and Resources
  • User Interfaces

Pebble Timeline

The Pebble timeline is a system-level display of chronological events that apps can insert data into to deliver user-specific data, events, notifications and reminders. These items are called pins and are accessible outside the running app, but are deeply associated with an app the user has installed on their watch.

Every user can view their personal list of pins from the main watchface by pressing Up for the past and Down for the future. The Pebble mobile app inserts pins for weather, calendar events and missed calls, and apps insert their own pins, such as sports scores or news items, from PebbleKit JS.

Contents

  • Creating Pins - How to create timeline pins with reminders, actions, and layouts.

  • Local Pins - How to insert pins into the timeline directly from PebbleKit JS, without a web server or timeline API keys.

  • Subscriptions and Tokens - The PebbleKit JS timeline subscription and token APIs, and what to use instead.

Adding Pins

Apps add pins from PebbleKit JS with Pebble.insertTimelinePin() and remove them with Pebble.deleteTimelinePin(). The Pebble mobile app creates the pin and syncs it to the watch. No timeline token, API key or appstore listing is needed, so sideloaded apps can add pins. See Local Pins for the API and Creating Pins for the pin format.

Note: The timeline web API is no longer available. The Pebble mobile app does not sync pins from a server, and Pebble.timelineSubscribe(), Pebble.timelineUnsubscribe() and Pebble.timelineSubscriptions() do not work. Use local pins instead.