Skip to main content

Compare custom plugin types

There are several ways to build a plugin - which is right for your application?

Written by Ryan Kulp
Updated over 2 weeks ago

From easiest to hardest:

Difficulty

Public

Server required?

OAuth required?

Language

Private Plugin

no

no

no

Recipe

yes

no

no

Screenshot

no

yes

no

any

3rd Party

yes

yes

yes

any

BYOS

no

yes

no

any

Private Plugin

The simplest way to write a custom plugin is as a Private Plugin. Feed it data via HTTP polling or webhooks, even Oauth2. Design a beautiful dashboard with (or without) our Framework UI and we handle the rest.

Private plugins can remain private forever, shared offline via exporting, or "Unlisted" for with a hidden URL.

Recipe

Recipes are simply Private Plugins that have been approved by the TRMNL team to be listed publicly.

As recipe master, any changes you make will automatically propagate to others who have installed your recipe.

Screenshot

Another way to get custom content to a TRMNL is to leverage the Screenshot plugin.

Point this plugin to any website that looks decent in your TRMNL device's screen dimensions and TRMNL will periodically poll it to generate images. Common use cases for this plugin include publicly posted schedules, PDFs, school lunch menus, or even news sites.

Third Party Plugin

A third party plugin is the most flexible - and the most complex - custom plugin type.

You provide a web application that connects to TRMNL via our simplified OAuth2 authentication flow, and in return get per-user settings management, and full control over generated markup. TRMNL servers will periodically poll your application to generate images for the device.

While third party require the most effort, they have a couple unique benefits:

  • User's full name + email is shared with you (for building a newsletter, etc)

  • You can control how often you allow data to be refreshed, keeping your server and API costs under control, by simply throttling inbound markup requests

BYOS

For complete control over your TRMNL device you can Bring Your Own Server. This capability bypasses all plugin functionality provided above.

Did this answer your question?