Plugin Data API
Retrieve parsed plugin JSON data for your own templates.
No matter how many customizations we add to native plugins, there will always be a good reason to change them. Instead of cluttering our interface and adding complexity for other users, TRMNL offers a "data only" mode for native plugins.
How it works
First, set up + hide an instance of the plugin you want to re-build yourself. This instructs TRMNL to sync and parse data on your behalf.
Connect a plugin, for example the Weather, Stock Prices, Calendar, etc
Navigate to Playlists and "hide" the plugin (click the eyeball icon) if you don't want to see it's native version on your device. This is important because only plugins on a Playlist will sync fresh data.
Next, build a Private Plugin.
Navigate to Plugins > Private Plugin, select "Plugin Merge" as the Strategy
Click Edit Markup

Parsed data will appear inside a <plugin_keyname>_<plugin_setting_id>
node of the "Merge Variables" dropdown. You may need to click "Force Refresh" from the private plugin settings view to ensure data has been fetched.

Reference as many connected plugins as you'd like. When TRMNL refreshes those plugins per your Playlist Schedule, updated values will map over to your private plugin with the Plugin Merge strategy.
Markup Quickstart
If you only want to make small changes to the TRMNL native design, steal that markup here:
https://github.com/usetrmnl/plugins/ (raw inside
lib
, let us know what else you need)https://usetrmnl.com/plugins/demo (rendered output, requires login)
In the raw/GitHub option, note that native plugins leverage the ERB templating language, so markup <% variable %>
references will need to be replaced with Liquid {{ variable }}
and so forth.
In the /demo
option, click the plugin you're rebuilding and all layouts will appear with sample data. If you've connected a plugin natively, your latest cached JSON will be embedded instead of demo data.
Another tip on the /demo
option is to add ?data=true
to the URL, for example https://usetrmnl.com/plugins/google_calendar?data=true
to see how TRMNL combines your own JSON data with our native ERB markup. If you have multiple instances that you'd like to check out, also append &plugin_setting_id=<id-here>
to render a specific plugin instance on the demo page.
Last updated