Minimal example
Build the smallest paperlesspaper Open Integration provider with static HTML and a tiny serverless API route.
paperlesspaper/openintegration-xkcd
3
openintegration-xkcd is a small sample provider built with static HTML and a serverless API route. You can build this shape by hand, with any static host, or with the optional Open Integration Toolkit.
A typical integration includes:
Use this approach when the integration is mostly a single rendered page with a tiny amount of server logic.

Local development workflow
For the XKCD sample, the deployed install URL is https://YOURDOMAIN.COM/config.json.
In the paperlesspaper app, install the integration by pasting the public config URL into the Integration Plugin flow.
Minimal build checklist
Public URL
Your manifest URL is public and fetchable from the browser.
CORS Headers
The manifest returns correct CORS headers.
Settings and context
The render page receives the INIT payload, merges host settings with local defaults, and treats all payload values as untrusted input.
Loading state
- the render page exposes
#website-has-loading-element - the render page exposes
#website-has-loadedonly after data, fonts, and images are settled
Local checks
Preview the integration locally and check both landscape and portrait layouts. The optional toolkit can automate this with check and render.
Optional: the settings page, if present, follows the iframe message contract