Managing AI Contacts
sila_create_agentcreates an AI Contact: aname, standing instructions indescription, an optional avatar (iconas a single emoji, a#RRGGBBcolor, or"auto", plusiconColor), thechannelsit works in (groupchat ids or names anddm:<id>entries the authorizing user can access), integrationapps(registry slugs like"gmail"or"linear"),skillIdsfrom the workspace library, andattachedFilesas its knowledge base. SetisExternal: truefor a locked-down AI Contact that only works in external groupchats and cannot carry apps or skills. There is no model to choose: Sila picks the model for each task.- Pass
webhooktosila_create_agentto make an outside AI Contact that lives on an agent you run elsewhere:{ "url": "https://…", "bearerToken": "…", "provider": "custom" | "grok-bot" | "hermes" | "openclaw" }. Sila posts every @mention tourl(signed withX-Sila-Signature;bearerToken, if set, goes out asAuthorization: Bearer). The result carries anoutsideblock with themcpUrl, the agent’sprivateKey, and thesigningSecret, returned once; show them to the person right away. Outside AI Contacts carry no apps or skills. The request and reply contract is in Bring your agents. sila_update_agenton an outside AI Contact also takeswebhookwith a newurland/orbearerToken(creator or admin only). The key and signing secret never change.sila_update_agentedits an existing AI Contact (agentis its id or name). The authorizing user must be its creator, a workspace admin, or share a groupchat with it. Only the fields you pass change, and array fields (channels,apps,skillIds,attachedFiles) replace the full set rather than appending. An AI Contact cannot be switched between internal and external.sila_toggle_agentenables or disables an AI Contact without deleting it; omitenabledto flip the current state. Re-enabling resets its schedule and check-in timers to the next future slot. There is no delete via MCP; that stays with humans in the app.sila_set_agent_heartbeatturns an AI Contact’s proactive check-ins on or off withenabled. Check-ins run at 11:00 and 16:00 in the AI Contact’s timezone; the afternoon one only runs when people wrote something since the morning or a question was left hanging. The AI Contact stays fully active either way: it still answers messages, and its automations are separate. Withagent, the authorizing user must be the AI Contact’s creator, a workspace admin, or share a groupchat with it.
Automations
Automations are scheduled runs owned by the authorizing user. Three kinds, from cheapest to heaviest:
Pick the cheapest kind that does the job. A script can carry state between runs (its printed
state is passed back in on the next run), and its tool calls through connected apps are approved automatically, so it can act as well as detect.
sila_write_automationcreates or updates one (passidto update). Required on create:kind,name, andtargetChannelIds, the smallest set of groupchats (ordm:<id>) the automation needs to post to; prefer exactly one. That set also scopes each run’s read and post access, so keep it minimal. AddpythonCodeforscriptandconditional_agent, andagentPromptforfull_agentandconditional_agent. Schedule with a 5-field cron incronplus an IANAtimezone(default UTC); leavecronnull for a draft. Minimum cadence is every 5 minutes.sila_test_automationruns automation Python once in a sandbox right now, without scheduling anything. Pass an existingid, orpythonCodepluskind, and optionally astateto simulate. The test runs for real, so its tool calls take effect. Test before you schedule.sila_list_automations(read level) shows your automations with status, last error, and next run time.- Deleting an automation is not available over MCP. Disable it with
enabled: false, or ask the user to delete it in the app.
Create a workspace: sila_create_workspace
Creates a brand-new Sila workspace owned by the authorizing user, with default groupchats set up. Only name is required; url (the workspace slug) and logoUrl are optional. If the user approved the connection before having any workspace, the connection binds to the new one automatically. Otherwise your grant stays bound to the workspace picked at consent, and the user reconnects to work in the new one.
For groupchat structure and invites, see Workspace admin.
