whiteboards

designComponent

Design ONE reusable, on-brand SLIDE COMPONENT and add it to the org's component library so every future branded deck (autoDesignWhiteboard designProfile:'branded-executive') can use it. This is the self-improving design loop: an agent AUTHORS the component as a declarative template (a gradient/shadow/curve SVG skin + a native editable PPTX shape + reflowing bound-text slots), RENDERS it, a vision critic COMPARES the render to your brief and lists gaps, and it FIXES + re-renders until polished — then validates and stores it. Use it to grow the deck component catalogue beyond the built-ins (e.g. a 'kpi.delta' stat with an up/down arrow, a 'quote.card', a 'logo.strip'). Browse-first: if a component with this key already exists it is reused (pass force:true to redesign). Provide example sampleSlots so it can lay out real content, and a projectId for the small preview board it builds. Returns the stored component, the per-round critique trail, and the preview board id. It uses a few AI calls + renders (no flat credit charge); the new component is then free to reuse forever.

post/tools/designComponent

Request

  • Base URL: https://api.stablebaseline.io/functions/v1/cloud-serve/api/v1
  • URL: https://api.stablebaseline.io/functions/v1/cloud-serve/api/v1/tools/designComponent
  • Auth: HTTP bearer

Request body

keystring required

The component key, lowercase dotted, e.g. 'kpi.delta'. This is how decks reference it; reused if it already exists.

titlestring required

A short human title, e.g. 'KPI with delta arrow'.

descriptionstring required

What the component IS, WHEN to use it, and what it should LOOK like (the richer the better — this drives both the designer and the critic).

projectIdstring required

Project to create the small preview board in (where the render iterations are shown).

sampleSlotsobject required

Example slot content to render with, e.g. { value: '47%', label: 'Revenue growth', delta: '+12 pts' }. The slot keys become the component's editable fields.

boxColsnumber

Optional width in grid columns (2-12, default 4).

boxRowsnumber

Optional height in grid rows (2-12, default 5).

categorystring

Optional catalogue category (e.g. 'data', 'narrative', 'comparison').

tagsstring[]

Optional search tags.

referenceImageUrlstring

Optional URL of a reference image the component should match; the critic compares the render to it.

brandKitIdstring

Optional brand kit id (from listBrandKits) to theme the component. If omitted, the organisation's effective brand is used.

forceboolean

Redesign even if a component with this key already exists (default false = reuse).

Response

Tool result (shape varies per tool — refer to the tool's docs for the exact return value).

object required

Changes

No recorded changes to this operation across all 1 revision of this API.