All integrations

Slite

DOCS & KNOWLEDGE · FILES & DOCS

Workspace notes, documentation audits, groups, and answers from Ask in the workspace they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

slite_delete_ask_indexWRITE

Delete one indexed object from a custom Ask data source by `rootId` plus `id`, so Ask stops citing it. There is no undo: restoring it means indexing it again. The object's own content lives in whatever system supplied it, so this destroys the index entry rather than the source of truth via DELETE /ask/index

write
slite_delete_notes_by_noteidWRITE

Delete a note, answering 204 with no body. This destroys the note rather than hiding it -- use Archive or restore a note if you may want it back, which is reversible and this is not via DELETE /notes/{noteId}

write
slite_get_askREAD

Ask Slite's AI a question against the workspace's notes and get an answer with the notes it cited. `wait=false` answers 202 with a `threadId` instead of blocking -- poll it with Get an Ask thread. `parentNoteId` narrows the search to one note's subtree and `assistantId` picks a configured assistant via GET /ask

read
slite_get_ask_indexREAD

Page through the objects indexed under one custom Ask data source (`rootId`), each with its id, title, URL and last-update date. The data source itself is created in the Slite UI, not here, and a workspace whose plan does not include custom Ask sources answers 402 via GET /ask/index

read
slite_get_groupsREAD

Search the workspace's groups by name. `query` is REQUIRED, so this searches rather than lists. Cursor-paginated via GET /groups

read
slite_get_groups_by_groupidREAD

Read one group by id: its name and description. A group is what Set a note's owner can hand a note to instead of a person via GET /groups/{groupId}

read
slite_get_knowledge_management_notesREAD

Page through the workspace's notes for a documentation audit, filtered by verification state, owner, channel and how recently they were edited. Cursor-paginated: pass the returned `nextCursor` back as `cursor`. Content is not included -- read a note to get it via GET /knowledge-management/notes

read
slite_get_knowledge_management_notes_emptyREAD

The documentation-audit listing narrowed to notes with no content -- titles somebody created and never filled in. Filterable by owner and channel, cursor-paginated via GET /knowledge-management/notes/empty

read
slite_get_knowledge_management_notes_inactiveREAD

The documentation-audit listing narrowed to notes nobody has touched recently -- the stale-documentation candidates. Filterable by owner and channel, cursor-paginated via GET /knowledge-management/notes/inactive

read
slite_get_knowledge_management_notes_publicREAD

The documentation-audit listing narrowed to notes shared PUBLICLY -- readable by anyone holding the link, from outside the workspace. Same filters and same cursor pagination; this is the list to review when auditing what has been published via GET /knowledge-management/notes/public

read
slite_get_meREAD

Return who this API key belongs to: display name, email, and the organization's name and domain. The cheapest read on the surface and the one this integration probes a pasted key with via GET /me

read
slite_get_notesREAD

List notes, optionally only those under one parent (`parentNoteId`) or owned by one member (`ownerId`), ordered by last edit or by sidebar position. Cursor-paginated. Content is not included -- use Get a note for that via GET /notes

read
slite_get_notes_by_noteidREAD

Read one note including its content, as `md`, `html` or `sliteml` (`format`). `css=inline` inlines styles into the HTML form and `compact=true` trims the response. A note too large to return answers 413 via GET /notes/{noteId}

read
slite_get_notes_by_noteid_childrenREAD

List the notes nested under one note, ordered by title, sidebar position or last edit. `includeDescendants=true` walks the whole subtree instead of one level. Cursor-paginated via GET /notes/{noteId}/children

read
slite_get_search_notesREAD

Full-text search across notes, PAGE-numbered rather than cursored (`page`, `hitsPerPage`), with each match wrapped in `highlightPreTag` / `highlightPostTag`. Narrow by subtree (`parentNoteId` plus `depth`), review state, last-edit date, and `includeArchived` via GET /search-notes

read
slite_get_threads_by_threadidREAD

Read an Ask thread by id: its rounds, its status (`processing`, `completed`, `failed` or `needs-approval`) and, once finished, the answer and the notes it cited. Answers 202 while still processing, with `retryAfterSeconds` saying how long to wait before polling again. Ask the workspace a question with `wait=false` is what mints a thread id via GET /threads/{threadId}

read
slite_get_usersREAD

Search workspace members by name or email. `query` is REQUIRED, so this searches rather than lists -- there is no call that returns every member. `includeArchived=true` also returns deactivated ones. Cursor-paginated via GET /users

read
slite_get_users_by_useridREAD

Read one workspace member by id: display name, email, organization role, whether they are a guest, and `archivedAt` when they have been deactivated via GET /users/{userId}

read
slite_post_ask_indexWRITE

Add or replace one object -- markdown or HTML -- in a custom Ask data source so Ask can cite it, keyed by `id` within `rootId`. Posting the same `id` again REPLACES the previous version, and `updatedAt` is what Slite reads to judge freshness. `rootId` must name a custom data source created in the Slite UI first via POST /ask/index

write
slite_post_notesWRITE

Create a note from a `title` plus a body in ONE of `markdown`, `html` or `sliteml`. WITHOUT `parentNoteId` the note lands in the caller's own personal channel rather than anywhere the team can see it. `templateId` applies a template, `listPosition` places it among its siblings (`top`, `bottom`, or a number -- higher comes first), and `attributes` fills a parent collection's columns in column order via POST /notes

write
slite_put_notes_by_noteidWRITE

Replace a note's title and/or its body. The content field you send REPLACES the whole document rather than appending to it, so send the complete note; pass exactly one of `markdown`, `html` or `sliteml` via PUT /notes/{noteId}

write
slite_put_notes_by_noteid_archivedWRITE

Archive a note (`archived: true`) or restore it (`archived: false`). Archiving takes it out of the sidebar and out of searches that do not ask for archived notes, and is REVERSIBLE -- which is the difference between this and Delete a note via PUT /notes/{noteId}/archived

write
slite_put_notes_by_noteid_flag_as_outdatedWRITE

Flag a note as outdated with a `reason`, moving it into the Outdated review state that the documentation-audit listings surface and that its owner is asked to clear via PUT /notes/{noteId}/flag-as-outdated

write
slite_put_notes_by_noteid_ownerWRITE

Assign a note to a `userId` or to a `groupId` -- the owner the documentation-audit listings filter on and whoever Slite asks to re-verify it. One or the other, not both via PUT /notes/{noteId}/owner

write
slite_put_notes_by_noteid_tiles_by_tileidWRITE

Push data into one embedded tile on a note, by tile id: its title, content, link, icon and a coloured status label. The tile is added in the Slite editor first; this replaces what it displays via PUT /notes/{noteId}/tiles/{tileId}

write
slite_put_notes_by_noteid_verifyWRITE

Mark a note verified `until` a date, which is what keeps it out of the outdated and verification-expired documentation-audit listings until then via PUT /notes/{noteId}/verify

write

Put Slite behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.