đī¸ Network Requests
The Network module is how Omni widgets talk to the internet â it's the core of any dynamic data display. Whether you're pulling weather, news headlines, or hitting your own server API, it all goes through this module. The API is simple and gives you everything you need to fire off requests and handle responses.
đī¸ Config Read / Write
Omni provides 3 kinds of storage, each with a different scope:
đī¸ Component Control
When building widgets and Live Activities, you can use the APIs below to control widget refresh timing and to end a Live Activity programmatically.
đī¸ Widget Info
Widget is an auto-injected object that represents the currently running widget. Use it to get the widget's ID, type, and name, and â when running in the main app context â to trigger navigation or refreshes.
đī¸ Device Info
Get device model, system, screen, battery, network, and other basic info. All synchronous â no await needed.
đī¸ Location
Get the current coordinates and address (reverse geocoding). Requires the "Location" permission.
đī¸ Weather
Weather data comes from Apple Weather (WeatherKit) and refreshes hourly. Requires the "Location" permission.
đī¸ Health
Read data from the system Health app. Requires the "Health" permission â the first call shows the system prompt; if the user denies, subsequent calls fail.
đī¸ Calendar
Read system calendar events and lunar dates. Requires the "Calendar" permission.
đī¸ Date / Time
For the current time in JS, just use the standard Date object. This page only covers the special cases.
đī¸ File Manager
The FileManager module gives Omni widgets the ability to read and write files, with support for both iCloud and local storage.
đī¸ HTML Parsing
HTMLDoc is for extracting data from HTML text. If your API returns JSON directly, you don't need this â but if you need to scrape data from a webpage (Douban ratings, blog titles), this is your tool.
đī¸ Console
For debugging. All console.log output shows up in the "Console" panel at the bottom of the editor.