At a glance
Building
widgetic.publish); the result says so, and how to publish. To look at a widget before it goes live, or to try a change without touching what live embeds show, ask the assistant to keep it as a draft.create_widget
create_widget
list_widget_data and get_widget_data. The widget goes to your default project unless you name one (see Where a new widget goes).replicate_widget
replicate_widget
wgc_…). The copy is the replica: the model does not run, nothing is built, no credits are used, and nothing is added to your library or published, so the assistant does not follow it with a build card or wait for a build. The link is only looked up in Widgetic’s own store and never fetched over the network; an expired, revoked or unknown link is refused, and the assistant asks you to copy the element again. A change you ask for is not made: the copy is offered as it was captured.get_widget
get_widget
show_widget
show_widget
revise_widget
revise_widget
publish_widget can bring one back. To try a change without touching what live embeds show, ask for it as a draft: embeds then keep showing the last published version until you publish.cancel_widget_creation
cancel_widget_creation
Where a new widget goes
create_widget and create_widget_batch make the widget in the workspace you are signed in to on widgetic.com, your own or a team’s: the same one the workflow, A/B test and translation tools use. The assistant cannot pick another one: switch workspace on widgetic.com first. If you tell the assistant which workspace you mean, it checks that you are signed in to it and starts nothing, and uses no credit, if you are not. replicate_widget makes nothing in a workspace: it only offers the copy the extension stored.
In your own workspace nothing is different: the widget goes to your default project, or to the project you name. In a team:
- Your role in the team has to allow making widgets there. If it does not, or if the team cannot be read just then, the call is refused before any credit is used, and the assistant says why.
- The widget goes to the team’s default project, or to the project you name: a project of the team with that name is used, and a new one is made when there is none and your role lets you make projects. A name that cannot be used never stops the build: the widget goes to the default project and the assistant says so.
- The team’s Brand Kit applies to the widget, and the credit is always your own; the team’s plan is read to see whether it allows the build.
- The answer says which team and which project the widget went to.
What a build can start from
create_widget and revise_widget take more than a description. When you attach a file or paste a Figma link, the assistant passes it along; you do not name anything yourself. Whatever cannot be read refuses the whole call before any credit is used, and the answer says which file or link and why.
Files you attach
Files you attach
.xlsx, each read for its columns and rows) and Markdown or text files (.md, .txt), whose words are read as your own brief, spec or copy. A widget loads a JSON file from its address; it cannot load a workbook, so for an Excel file the builder is given its first rows (a long sheet is better sent as CSV). Other kinds, such as the old .xls Excel format, are refused. A file reaches Widgetic only through a file service Widgetic trusts (ChatGPT’s, for example), never from an address typed into the chat; where your assistant cannot hand a file over that way, paste the text of a document into your description.Figma links
Figma links
Several widgets at once
A landing page, a course or an event is rarely one widget. Say what you want to make and the assistant can suggest the widgets that would fit (a scoreboard, a schedule, a gallery, cards for the team, a countdown), ask a few questions if it needs them, and, once you have chosen, start all of them in one go, each in its own canvas. The same works for a workflow: describe it, and the assistant offers to build the widgets its steps need, and can save a draft workflow that chains them (see Workflows). In a client that can draw them, the suggestions appear as a list you tick and the questions as a form with one field for each; in any other client the assistant shows the same as text and asks in the chat. Ticking a widget only tells the assistant which ones you want: the list builds nothing and uses no credits, and the assistant starts the batch when you agree.suggest_widgets
suggest_widgets
create_widget_batch
create_widget_batch
create_widget starts one: 1 credit for each widget, charged when its build starts, and published when it finishes unless you asked for drafts (a workflow needs published widgets). The assistant tells you how many widgets and credits that is and waits for your yes first, and it passes the total you agreed to, so nothing is started if the widgets would cost more. The call returns at once with one entry per widget; the builds usually finish within a few minutes, and the assistant follows each one until it is ready. A title that repeats a widget started in the last two minutes is returned as it is and charged nothing, so a retry after a lost answer starts only what is missing; after those two minutes a repeat is charged again, so if you are unsure, check your widgets before starting the batch again. If one widget cannot be started, the ones before it keep building and stay charged, and the rest are not started and not charged. A batch can be started once a minute. Each widget can use up to 5 images from your media library; for attached files or Figma links, the assistant starts that widget with create_widget instead.Two things you can ask for with the batch. A project: the widgets are filed in one project of yours with the name you give (a project you already have with that name is used, otherwise a new one is made, in the workspace you are signed in to, with the rules of Where a new widget goes); a name that cannot be used never stops the batch, the widgets then go to your default project and the assistant says so. A workflow: with a name for it, Widgetic saves a draft workflow that chains the widgets in the order you gave once every one of them is built and published, even if the conversation has closed by then. It is only a draft, made once, in the workspace you asked in: you publish it yourself, after trying it, and a widget that failed leaves it waiting (for up to three days) until you have it rebuilt. The name chains every widget of the batch, so the assistant passes it only when you chose exactly the widgets of one suggested workflow; for any other choice (two workflows, or a workflow beside other widgets) it starts the widgets without it and, once they are built and published, saves each workflow you chose with draft_workflow_from_widgets. If the draft is not made, draft_workflow_from_widgets makes it from the finished widgets.cancel_widget_batch
cancel_widget_batch
Finding and publishing
list_widgets
list_widgets
publish_widget
publish_widget
unpublish_widget
unpublish_widget
publish_widget brings it back with the same embed code; the answer names the version that was live, so the assistant can bring back that very one. A page that has already loaded the widget keeps showing it until it reloads: this recalls nothing that is already on a screen. It is refused, with the reason, while a running A/B test or a live or paused workflow uses the widget, because those would show a page that is not there; pause or stop them first. A build or a revision that finishes afterwards publishes the widget again, unless it was started as a draft. It uses no credits and needs the publish permission, and calling it on a widget that is already a draft changes nothing.list_widget_versions
list_widget_versions
publish_widget. It shows up to 20 at a time and can ask for older ones. It does not show what a version contains.Customizing and embedding
get_widget_customization_options
get_widget_customization_options
update_widget_customization
update_widget_customization
get_embed_code
get_embed_code
Managing widgets
duplicate_composition
duplicate_composition
list_widget_data
list_widget_data
get_widget_data
get_widget_data
rename_widget
rename_widget
delete_widget
delete_widget
Workflows
A workflow chains published widgets on one embed: a visitor sees the first, and when something happens on it (an entry they send, a goal the widget reports, an event your page sends, or a wait) the embed shows the next one in place. You describe it in words and the assistant writes it as a script: a start, the steps (each a published widget) and the moves between them, with rules that choose the next step. A workflow made this way opens in the workflow editor on widgetic.com, and the other way round.list_workflows
list_workflows
get_workflow_options
get_workflow_options
get_workflow
get_workflow
save_workflow takes: the start step, the steps and the moves between them, with the rules that choose the next step. It also gives the state, the revision, any problems and the names of the widgets. For a published workflow it returns the embed code and the snippet for events your page sends, and, when asked, how many visitors reached each step in the last 30 days. A draft drawn in the editor that a script cannot express is reported as unreadable, with the reasons. It only reads.save_workflow
save_workflow
publish_workflow. Every call without a workflow id creates another workflow, so after a failed call the assistant checks list_workflows before it tries again.draft_workflow_from_widgets
draft_workflow_from_widgets
save_workflow. A workflow holds up to 25 blocks, so a chain of more than 13 widgets cannot lead on from every step: the assistant is told which. Every widget must be built and published; if not, nothing is saved and the answer says which are not. It never publishes (visitors see nothing until publish_workflow), changes nothing that exists, and uses no credits.test_workflow
test_workflow
publish_workflow
publish_workflow
set_workflow_state
set_workflow_state
Media library
save_to_media_library
save_to_media_library
.xlsx) you attached or linked. Links must be HTTPS and are not followed through redirects; files up to 250 MB each, an SVG up to 2 MB, JSON and Excel files up to 10 MB. An SVG is rewritten from a list of safe elements before it is stored, so scripts and other active content are removed. A JSON or Excel file is read before it is saved and kept only if it holds a table: an Excel file is read from its first sheet (the values it stores, never a formula), and because a widget cannot load a workbook the builder is given its rows. They go into the folder you name (default “Assets”) and count against your storage allowance. Files that cannot be saved are listed with the reason; the others are still saved.list_media_library
list_media_library
manage_media_library
manage_media_library
list_media_library gave. A name keeps the file’s extension, so the assistant sends it without one, and a folder is made by naming it. Only the name and the folder change: the file’s address does not, so widgets that already use the file keep showing it. Each change stands alone: one that cannot be made (no such file, an empty name) is listed with its reason and the others are still made. The result shows each file as it is now and as it was, so a change can be put back, and a request that changes nothing writes nothing. It works on your own files only and uses no credits.delete_media_file
delete_media_file
Brand Kit
Your Brand Kit is the look every new widget starts from: a palette, a font for each of title, subtitle, body and caption, a corner radius, and a few style notes of your own. It belongs to your account and is the same wherever you set it (the Brand Kit page on widgetic.com, the API, the CLI or these tools). These tools read and change your own Brand Kit, the one a widget made in your own workspace starts from. A widget made in a team starts from the team’s kit, which these tools never read or change: that is done on widgetic.com. Font files and icons are added on widgetic.com too.get_brand_kit
get_brand_kit
update_brand_kit
update_brand_kit
A/B tests
An A/B test splits visitors between two to four of your published widgets on one embed and measures which version reaches a goal you choose. You set it up as a draft, start it when you are ready, read how it is doing, and stop it with an optional winner. A test made here opens on widgetic.com, and the other way round.list_ab_tests
list_ab_tests
get_ab_test_options
get_ab_test_options
get_ab_test
get_ab_test
continue, pick a winner or stop), the winner once there is one, and the embed code. Visitors see the versions only while the test is running. A draft has no visitor numbers yet. It only reads.save_ab_test
save_ab_test
set_ab_test_state. The versions of a saved test cannot be changed here, and a test that has already started cannot be edited. The assistant should read get_ab_test_options first. It uses no credits.set_ab_test_state
set_ab_test_state
start), pauses a running one (pause), or stops a running or paused one for good (stop, with winner_version_id when there is one). Starting splits real visitors between the versions on every page that carries the test’s embed code. Stopping cannot be undone: a stopped test cannot be started again. When you stop with a winner, put that widget’s own embed code (get_embed_code) on the page in place of the test’s tag, because a stopped test’s tag shows no widget. Asking for the state a test is already in changes nothing. Starting needs a connection approved with the publish permission. It uses no credits.Translations
A translation makes one of your widgets available in several languages on one embed: each language is its own copy, and visitors see the copy that matches their browser’s language while the translation is active. You make a translation, add more languages if you need them, and activate it when you are ready. A translation is made by a language model: the widget’s text, and the text inside its design, is sent to it to be translated, and the assistant is asked to tell you so before it starts one.set_translation_state activates the translation. Activating needs a connection approved with the publish permission. The widget must be one you made yourself.list_translations
list_translations
get_translation_options
get_translation_options
get_translation
get_translation
create_translation
create_translation
get_translation, and add more later with add_translation_languages. The new translation is ready but not shown to visitors until set_translation_state activates it. It uses no credits.add_translation_languages
add_translation_languages
get_translation. Visitors get a new language only while the translation is active. It uses no credits.set_translation_state
set_translation_state
activate makes the embed show each visitor the language of their browser; pause takes it away again. A translation can be activated once it is ready, or when it is paused; not while it is still being made. Nothing is deleted and each action can be undone. Asking for the state a translation is already in changes nothing. Activating needs a connection approved with the publish permission. It uses no credits.Account
get_profile
get_profile
get_account_usage
get_account_usage