inklet docs
Pushing content

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

ConditionError
assets missing or not an arrayConfigurationError — "Auto Push requires an assets array."
assets emptyConfigurationError — "Auto Push requires at least one Asset."
More than 50 assetsConfigurationError
An asset fails validationConfigurationError, naming the asset index
No usable display on the accountApiError, 422, code: "no_compatible_display"
The PAT owner is on FreePermissionDeniedError, 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.

On this page