Auto Push
inklet.push.auto lets inklet choose which compatible displays receive the content and how it is laid out.
Auto uses inklet AI and requires an active Pro subscription. A Free account
receives a PermissionDeniedError with code: "plan_upgrade_required";
manage the plan in the inklet portal.
Use Auto when you have something worth showing and no strong opinion about where it goes. inklet reads the assets, picks the compatible displays, and handles the layout.
const result = await inklet.push.auto({
idempotencyKey: "daily-brief-2026-08-15",
title: "Daily brief",
intent: "Make the key update easy to scan",
assets: [
inklet.assets.text("Revenue is up 12% week over week."),
inklet.assets.link("https://example.com/report"),
],
});Signature
inklet.push.auto(input: AutoPushInput, options?: CallOptions): Promise<AutoPushResult>Prop
Type
displayId is not accepted. Auto is defined by naming no target, which is what
lets the agent choose.
Which displays receive it
inklet decides, based on the assets, your account's displays, and their
declared capabilities. One Analysis can produce several Presentations — one per
display it routed to — which is why presentationIds is an array.
To see where it actually landed, wait for the Analysis and retrieve each Presentation:
const analysis = await inklet.analyses.wait(result.analysisId);
for (const id of analysis.presentationIds) {
const presentation = await inklet.presentations.retrieve(id);
console.log(presentation.displayId, presentation.title, presentation.state);
}Auto needs a display it can use. When the account has none bound with usable
geometry, push.auto fails immediately with 422 and
code: "no_compatible_display" — the Analysis is never created. Bind a
display, or use presentations.generate()
for a display-free result.
Errors specific to Auto
| Condition | Error |
|---|---|
assets missing or not an array | ConfigurationError — "Auto Push requires an assets array." |
assets empty | ConfigurationError — "Auto Push requires at least one Asset." |
| More than 50 assets | ConfigurationError |
| An asset fails validation | ConfigurationError, naming the asset index |
| No usable display on the account | ApiError, 422, code: "no_compatible_display" |
| The PAT owner is on Free | PermissionDeniedError, 403, code: "plan_upgrade_required" |
The validation errors throw locally, before a request is sent. Plan authorization is enforced by the inklet service when the Analysis is created, after the Content has been uploaded.