Built-in tool

Manage apps

Create, preview, save, deploy and share an interactive app in this chat, with its own data and file storage.

Freeno per-call chargeNo API key needed

Endpoint

Parameters

NameTypeRequiredNote
actionstring · requiredstringrequired

One of: create, get, list, read-source, preview, save, deploy, versions, rollback, share and 17 more

opstring · optionalstringoptional

write-data: what to do.

One of: insert, update, upsert, delete, increment

rowsstring · optionalstringoptional

write-data insert/upsert: the row(s).

appIdstring · optionalstringoptional—
countboolean · optionalbooleanoptional—
filesobject · optionalobjectoptional

save: complete UTF-8 contents of changed files. Other files are preserved. Supply versionId from create/read-source as the base; no shell or string-escaping script is needed.

forceboolean · optionalbooleanoptional

refresh: also refresh results that are still inside their refreshEvery window.

limitnumber · optionalnumberoptional—
orderobject · optionalobjectoptional—
pathsobject · optionalobjectoptional

read-source: exact relative source paths. Omit for the entry files and file listing.

querystring · optionalstringoptional—
titlestring · optionalstringoptional—
whereobject · optionalobjectoptional

query-data, write-data: field equals value.

fieldsobject · optionalobjectoptional

define-collection: field name → {type, required?, default?, values?, dims?}. Rows have id, owner, created_at and updated_at built in.

offsetnumber · optionalnumberoptional—
presetstring · optionalstringoptional

define-collection: who sees and changes rows. Every preset keeps the rows in one store for the whole app, so a shared or central database is any preset; the preset named shared means every visitor reads and changes everyone's rows. Pick the least open that works: what visitors submit (forms, sign-ups, applications) is inbox.

One of: private, private_editors_read, inbox, unlisted, public_read, shared, editors_write, editors_only

toolIdstring · optionalstringoptional—
uniqueobject · optionalobjectoptional

define-collection: unique keys, like [["email"]] or [["idea_id","owner"]] (one per visitor).

valuesobject · optionalobjectoptional

write-data update: fields to set; increment: amounts to add.

confirmboolean · optionalbooleanoptional

drop-collection, define-collection, write-data: true only when the user asked to delete existing data.

diagramstring · optionalstringoptional

diagram: the diagram spec {title, layout, nodes, edges?, stages?, lanes?, sources?}. Read the build-apps guide reference/diagrams.md first. Creates a static app when appId is omitted.

filtersobject · optionalobjectoptional—
uploadsobject · optionalobjectoptional

add-files: files to copy into the app, each a chat upload (its Attachment ID) or generated media (its URL). Each becomes a shared app file at /__connie/files/<id>.

widgetsstring · optionalstringoptional

diagram: optional widgets.js registering custom blocks with ConnieDiagram.widget(name, render).

capacityobject · optionalobjectoptional

define-collection: at most max rows (per value of by).

frameworkstring · optionalstringoptional

create: vite (default) is a React/Vite TypeScript app; static is plain HTML/CSS/JS served as-is, with no build.

One of: vite, static

versionIdstring · optionalstringoptional—
bindingIdsobject · optionalobjectoptional

refresh: only these shared bindings. Omit for every binding with refreshEvery.

collectionstring · optionalstringoptional

define-collection, drop-collection, query-data, write-data: the collection name (lowercase, digits, underscores).

editorOnlyobject · optionalobjectoptional

define-collection: fields only the app's editors may set (status, approved, is_winner, score).

onConflictstring · optionalstringoptional

write-data upsert: the unique key, like "asin" or "idea_id,owner".

publicWhenobject · optionalobjectoptional

define-collection (public_read, shared, editors_write): rows are public only when they match, like {"approved": true}; others stay with their owner and editors.

dataBindingobject · optionalobjectoptional—
guestBudgetstring · optionalstringoptional—
deploymentIdstring · optionalstringoptional—
invocationIdstring · optionalstringoptional—
operationKeystring · optionalstringoptional—
publicFieldsobject · optionalobjectoptional

define-collection: fields everyone may read on rows they otherwise cannot see.

toolBindingsobject · optionalobjectoptional—
executionUserIdstring · optionalstringoptional—
toolPolicyRevisionnumber · optionalnumberoptional—

Get started

How to use this tool

  1. Connect your AI

    Add Connie to ChatGPT, Claude or Slack once, and this tool comes with it. There’s no API key or account to set up.

  2. Ask for the outcome

    Describe what you need in plain words. Your AI runs this tool when the job calls for it, along with any others it needs.

  3. Make it a workflow

    Add it as a step in a workflow that runs the same way every time, on a schedule or when something happens.

  4. Stay in control

    Choose whether it runs on its own or asks first. When it asks, you see an Allow or Deny card before any credits are spent.