Apps

Caity

Ask Caity, the AI assistant, about your organizations' pages, repositories, deployments, tasks, files and more, and have it make changes you confirm.

Caity at si.cactive.com.au is the platform's AI assistant. It runs Claude and other models on Amazon Bedrock, in the region the location registry assigns to Bedrock for the default location, and calls the platform API and the MCP server as you, with your own permissions in each organization.

Models

The model picker lists the models platform administrators have enabled in the platform's model catalog; new chats start on the catalog's default. You can switch models between messages. A conversation keeps its model; if that model is later disabled, the conversation continues on the default and says so. If the account can't use a model yet (no access on Bedrock), an open-weight model answers in its place and the conversation says so; it goes back to the chosen model once that works.

Organization context

The picker in the header sets the organization a chat works in; new chats start in the one you picked last. Caity's tools act on that organization unless you name another one you belong to. Each message also tells Caity who you are, your organizations and roles, and the current time.

What Caity can look up

ToolScopeWhat it doesArguments
search_pagesknowledge:readSearch the organization's Notes (its pages and databases) by title and text. Call this when the user asks about their documentation, notes, runbooks, specs or anything written down in the knowledge base, then open the most relevant results with read_page.query
read_pageknowledge:readRead a Notes page as Markdown. Databases come with their rows as a table; a database row comes with its property values. Use the pageId from search_pages or from a link the user gives.pageId
list_repositoriesgit:readList the organization's git repositories. Call this first when the user mentions code or a repository without naming it exactly.none
get_repositorygit:readShow a repository's description, default branch, branches, and open issue and pull request counts.repo
list_filesgit:readList the files and folders at a path in a repository. Use it to find your way around a codebase before reading files.repo, path, ref
read_filegit:readRead a text file from a repository, with line numbers. Returns at most 2000 lines per call; for longer files pass startLine to continue.repo, path, ref, startLine, endLine
list_commitsgit:readList recent commits on a branch, newest first (first-parent history). With path, only commits that touched that file or folder: use it for who changed something and when.repo, ref, path, limit, cursor
get_commitgit:readShow one commit: its message, the files it changed and the diff against its first parent.repo, sha
list_projectsprojects:readList the organization's Serverless App Services (apps deployed on the platform; projects in the API and to some people) with framework, production branch and current production deployment.none
list_deploymentsdeployments:readList recent deployments, newest first, for one Serverless App Service (project) or the whole organization: target, status, branch and commit, URL, build time and error. Call this when the user asks what's deployed, why a deploy failed, or about an app's releases.project, limit
get_deployment_logslogs:readRead a deployment's build log (install and build output, the place to look when a deployment failed), or its runtime logs: server function output from the last hour, newest first, optionally filtered.deploymentId, kind, query
list_agentsagents:readList the organization's self-hosted agents: devices (status, capabilities, network access, last seen), network requests waiting for approval, and recent jobs with their status and errors.none
find_toolschat:useList the platform's other tools the user can use in this chat's scope (beyond your own), with their inputs: in an organization Tasks, Notes, Drive, Documents, Maps, Cloud data, customer records, Tenant, agent jobs, connectors and more; in Personal their own Drive, Documents, Sheets, Slides and Video files, Photos, Health, Mirage, Weather and Food (the apps they allow). Without app or query: which apps are available and how many tools each has. With app: that app's tools. With query: tools matching the words. Then run one with use_tool.app, query

The rest of the platform

Beyond its own tools, Caity reaches the tools of the MCP server through two of its own: find_tools lists the ones you can use in an organization, grouped by app, with their inputs, and use_tool runs one. The list comes from the MCP server for you and that organization, so it holds only what your role's scopes allow there:

RoleToolsIncludes
Viewer41Reading Notes, Tasks, Drive, Maps, Cloud data and agent jobs; your own Drive files and folders, sharing, and flight watches
Developer64Also creating and changing issues, sprints and spaces, Notes pages and context, database items and bucket objects, and agent jobs
Admin, owner78Also Tenant: members, groups, roles, sign-ins and policies, with invites, blocks and session revocation

Custom roles add their scopes. Mail, calendar and contacts tools join the list as the MCP server gains them.

What Caity can change

Caity changes things only when you ask, as you, and the platform records each change in the audit log under your name, marked as made through Caity (for example you@example.com (Caity)).

Changes through use_tool, and redeploys, wait for you: the answer shows what will happen, with the tool's input, and Confirm or Cancel. Nothing runs until you confirm; the answer then continues from the result. Sending a new message instead leaves the change undone. Reads run at once.

Code changes go to a new branch and a pull request: Caity never commits to a repository's default branch, so you review and merge the change as a pull request. Before opening one, Caity can run the branch's checks (install, then the typecheck, lint, test and build scripts, or si.json checks) on the platform's build machines and fix what fails; nothing is deployed. Promoting or rolling back production, settings and everything else without a tool stay with you; Caity explains what to do and where.

ToolScopeWhat it doesArguments
create_branchgit:writeCreate a branch in a repository, from the default branch or another branch or commit. Use it before committing changes the user asked for; commit_files can also create the branch in the same step.repo, name, from
commit_filesgit:writeCommit file changes to a branch in one commit: full new contents for each written file, and paths to delete. Never commits to the default branch: pass newBranch to create a branch from branch for the change, then open a pull request. Read a file before rewriting it, and write whole files.repo, branch, newBranch, message, description, files, delete
run_checksgit:writeInstall dependencies and run a branch's typecheck, lint, test and build scripts (or si.json checks) in a sandbox on the platform's build machines, and wait for the result (usually a few minutes). Nothing is deployed. Run it after committing changes and before open_pull_request; if a step fails, read the output, fix the code with commit_files and run it again.repo, branch
open_pull_requestgit:writeOpen a pull request from a branch into the default branch (or another target) for the user to review and merge.repo, source, target, title, description
redeploydeployments:writeBuild a deployment's commit again (same branch, target and Serverless App Service), e.g. after fixing an environment variable. Production builds go live when ready, as pushes do. The user confirms it in the chat first: your turn ends there, and you continue once they decide.deploymentId
use_toolchat:useRun one of the platform tools listed by find_tools, with its input. Reads run at once. Changes wait for the user to confirm them in the chat: your turn ends there, and you continue once they decide.tool, arguments

Every tool also takes org, the slug of another organization you belong to. A tool whose scope your role lacks in that organization returns an error, and Caity tells you which permission is missing. The message shows each tool call as it runs.

Personal spaces

Your personal space in Drive and your Mirage servers belong to you, not to an organization, and Caity can't reach them by default. To let it search and read your personal files, and read your Mirage mentions, unread channels and messages, turn on Personal spaces in Caity's Settings (in the sidebar); turn the setting off to stop. It only reads, except that it can send a Mirage message as you, after you confirm the exact message in the chat. It never reaches your direct messages, which are end to end. Other MCP clients, keys and the phone assistant never reach personal spaces.

Conversations

Conversations are saved to your account and listed in the sidebar, most recently active first. A new chat is titled from the first line of your first message, then a short title written by the catalog's titles model replaces it (unless you renamed the chat first). Rename it or move it to another organization from its menu, or delete it with its messages.

  • Stop (or Esc) ends a response.
  • Regenerate answers your last message again, replacing the previous answer.
  • Only one response runs per conversation at a time.

Long conversations keep going: when one reaches its model's compaction threshold (set per model in the catalog), the earlier turns are summarized and Caity continues from the summary. The conversation marks where that happened; everything stays visible to you. Models without a threshold stop at their context window.

A response can use up to 25 tool steps and must finish within 14 minutes. If a model declines a request on a safety classifier and the catalog names a fallback for it, that turn and the rest of the conversation continue on the fallback, and the answer is marked Answered by that model.

Keyboard shortcuts

ActionKeys
SendEnter
New lineShift Enter
Stop respondingEsc
New chat⌘/Ctrl Shift O
Search chats⌘/Ctrl K
Toggle sidebar⌘/Ctrl B
Focus message box/
Toggle dark modeD
Show shortcuts?

From other clients

To use your platform data from Claude Code, Claude Desktop or another MCP client instead, connect it to the MCP server.