NO. 1 MOST POPULAR PLUGIN
Build your own
Customizable options
Strategy
How will data be shared with our server?
Polling URL(s)
(Polling strategy only) From where should TRMNL fetch data? (JSON, XML, plaintext)
Example: https://myapp.ai/dashboard?api_key=xxx
Polling Verb
How should our API request data?
Polling Headers
(Polling strategy only) What HTTP headers should be included?
Example: authorization=bearer xxx&content-type=application/json
Polling Body
(Polling strategy only) What body payload should be included?
Example: {"sortBy":"date"}
Enable OAuth Authentication?
(Polling strategy only) Connect to third-party services requiring OAuth2
OAuth Redirect URL
Add this URL to your OAuth app's "Redirect URIs" or "Callback URLs"
OAuth Settings
Configure your OAuth provider credentials and settings
OAuth Provider
Select a pre-configured provider to auto-fill OAuth settings, or configure manually
OAuth Client ID
From your OAuth provider app settings
Example: your-client-id
OAuth Client Secret
Keep this secret!
Example: your-client-secret
Authorization URL
OAuth2 authorization endpoint
Example: https://accounts.provider.com/oauth2/authorize
Token URL
OAuth2 token endpoint
Example: https://accounts.provider.com/oauth2/token
OAuth Scopes
List of scopes
Example: read user:email
Enable PKCE?
Use Proof Key for Code Exchange (required by some providers like Twitter/X)
Custom Auth Params
Extra parameters for the authorization URL
Example: {"token_access_type": "offline"}
Custom Token Headers
Extra headers for the token request
Example: {"Notion-Version": "2022-06-28"}
Token Endpoint Base URL
Only needed if token endpoint is on a different domain than authorization
Example: https://swd.weatherflow.com
Custom Token Params
Extra body parameters for the token request
Example: {"type": "web_server"}
Scope Separator
Character used to join multiple scopes
Token Auth Method
How to send client credentials during token exchange
Token Body Format
Content type for token request body
Refresh Token URL
Different endpoint for token refresh (optional)
Example: https://api.example.com/oauth/refresh
Token Response Metadata
Extra fields to extract from the token response
Example: ["workspace_id", "owner"]
Authorization Method
How to send client credentials to the authorization endpoint
Refresh Token Params
Extra parameters for token refresh requests
Example: {"grant_type": "refresh_token"}
Token Field Name
Field name in the OAuth response containing the access token
Example: access_token
Expiry Field Name
Field name in the OAuth response containing the expiration
Example: expires_in
Expiry Strategy
How to interpret the expiration value
Fixed Expiry (ms)
Fixed token expiry in milliseconds (when not provided in response)
Example: 3600000
Form Fields
Learn how to build form fields here, or click here to verify syntax inline.
Example: - keyname: lookback_period
field_type: select
options:
- '1'
- '7'
- '14'
- '30'
name: Lookback Period
description: Time span of displayed data
help_text: In days
Static Data
(Static strategy only) Input valid JSON data
Example: {"upcoming_holidays":[{"date":"2025-02-14","name":"Holiday to Taj Mahal, India"},{"date":"2025-06-11","name":"Visiting Japan"},{"date":"2025-12-20","name":"Northern Lights Norway!"}]}
Remove bleed margin?
Defaults no. If "yes" is selected, padding around your markup will be removed.
Enable Dark Mode?
Inverts black/white pixels. Will modify entire screen. Add class "image" to img tags as needed.
Webhook URL
(Webhook strategy only) Paste this URL into your webhook integration
Knowledge base Learn about this plugin in our knowledge base
Our growing library supports work and personal needs, from your daily calendar to upcoming movies. New tools are added weekly.