Reference
Integration action reference
Every provider and action supported by the unified integration surface, plus the separate repository-native VCS boundary.
The unified integration domain supports six providers — slack, github,
notion, linear, jira, and figma — plus all for applicable
cross-provider reads. Its connected-app actions (apps, find, read,
capabilities, edit) also reach microsoft, google_workspace, dropbox
and box. The provider connection and the authenticated user's access still
determine what can be returned.
Use this page when constructing a direct call. For the human workflow, see Connecting GitHub, Slack, and the rest.
Provider values
| Value | Connected product |
|---|---|
slack | Slack |
github | GitHub knowledge/integration data |
notion | Notion |
linear | Linear |
jira | Jira |
figma | Figma |
microsoft | Microsoft 365: Word, Excel and OneDrive (connected-app actions) |
google_workspace | Google Docs, Sheets and Drive (connected-app actions) |
dropbox | Dropbox (connected-app actions) |
box | Box (connected-app actions) |
all | Applicable cross-provider reads |
Action matrix
| Action | Provider | Purpose |
|---|---|---|
status | Any provider | Connection and sync status |
connected | Use all; the action always reads all providers | List connected integrations |
search | Any provider or all | Search provider content |
stats | Any provider or all | Counts and activity statistics |
activity | Any provider or all | Recent provider activity |
contributors | Any provider or all | Contributor activity |
knowledge | Any provider or all | Retrieve provider-backed knowledge |
summary | Any provider or all | Summarize a bounded date range |
channels | slack | List/search channels |
discussions | slack | Retrieve channel threads and discussions |
sync_users | slack | Refresh Slack user mappings |
repos | github | List/search connected repositories |
issues | github, linear, or jira | Query issue records with provider filters |
files | figma | List/search Figma files |
create_page | notion | Create a Notion page |
search_pages | notion | Search Notion pages |
get_page | notion | Read one Notion page |
update_page | notion | Update a Notion page |
create_database | notion | Create a Notion database |
list_databases | notion | List Notion databases |
query_database | notion | Query a database with filters and sorts |
team_activity | Any provider or all, in team mode | Aggregate connected activity for the team |
team_search | Use all, in team mode | Cross-provider team search |
apps | all or one app | Connected apps and whether agents may edit each |
find | all or one app | Live search for items by name across connected apps |
read | Any | Read one item live |
capabilities | Any | One app's operations and the arguments each needs |
edit | Any | Change one item; applies when the person allows agent edits |
Frequently used fields include query, limit, since, until, days,
and workspace_id, but each action consumes only its compatible subset. The
complete field map below makes those boundaries explicit.
Slack
Slack supports the common read actions plus channels, discussions, and
sync_users. Use search for matching messages and discussions when thread
structure and replies matter. A connected workspace does not grant access to
channels the connected Slack account cannot read.
integration(provider="slack", action="search", query="rate-limit decision")
integration(provider="slack", action="discussions", query="billing")GitHub
GitHub supports the common reads, repos, and issues. Use the separate
vcs domain when you need repository-native detail or mutation: pull request
diffs, comments, checks, reviews, merges, issue creation/updates, commits,
branches, tags, trees, blobs, notifications, links, automations, webhooks, or
repository ingest.
integration(provider="github", action="issues", query="timeout")
vcs(provider="github", action="get_pull_diff", repo_ref="owner/repo", number=42)The integration domain covers connected product knowledge. The VCS domain is the operational repository API.
Notion
Notion has the broadest provider-specific surface:
- Page reads:
search_pages,get_page - Page writes:
create_page,update_page - Database reads:
list_databases,query_database - Database writes:
create_database
Page content is Markdown. Depending on the operation, use page_id,
parent_page_id, parent_database_id, database_id, title, content,
properties, filter, and sorts. Supported content types are
NotionTask, NotionMeeting, NotionWiki, NotionBugReport,
NotionFeature, NotionJournal, and NotionPage.
Writes should identify the intended parent explicitly. Do not infer a database or page from a similarly named search result.
Linear and Jira
Both support common reads and issues.
| Provider | Issue filters |
|---|---|
| Linear | team_id, status, priority, assignee |
| Jira | project_key, status, priority, issue_type, assignee |
Jira issue_type accepts the installation's names, commonly Bug, Story, Task,
or Epic. These integration actions query connected issues; they are not the
same records as ContextStream's native entity(kind="ticket", …) objects.
Figma
Figma supports the common reads plus files. Narrow file listings with
figma_project_id. The schema currently accepts file_key, but no public
integration action consumes it; do not infer a single-file read operation from
that field. Figma is a knowledge/search integration here, not a design-file
editing API.
Connected apps
These actions go through the integration runtime, the same boundary the
composer's @ uses. The person's grant on each connection decides what an
agent may read and whether its edits apply: on an app the person connected,
Agents can edit applies edits directly; otherwise an edit waits for
approval in ContextStream or is refused.
integration(provider="all", action="apps")
integration(provider="all", action="find", query="Q3 budget")
integration(provider="all", action="read", connection_id="<id>", resource_id="<id>", resource_type="file", container="<drive id>")
integration(provider="all", action="read", reference_id="<id of an attached item>")
integration(provider="all", action="capabilities", connection_id="<id>")
integration(provider="all", action="edit", connection_id="<id>", operation="excel.range.update", arguments={...})findreturns each item'sconnection_id,resource_id,type,mimeTypeandcontainer. Pass them toreadasresource_id,resource_type,mime_typeandcontainer, and it reads the item the way it opens: a workbook's sheets, a document's text, a channel's history.readwithreference_idreads an item the person attached in the composer. An attached item with no live read (a PDF in OneDrive, a folder) is still found through search.capabilitieslists the operations available now, read and edit, with the argument schema each takes. Edits that check a revision (expected_etag,expected_revision) take the revision from the latestread.editis recorded under the session id frominitand sent once. The result says whether the change was applied and confirmed, is waiting for approval, or was refused. A refusal because the item changed means read it again and retry with the new revision. When the app has not confirmed a change, reuse the sameidempotency_keyto retry, so it can never apply twice.
Team-wide actions
team_activity and team_search require team mode and a team-capable account.
They aggregate only providers and records the caller is authorized to see.
Choosing team mode changes the execution scope; it does not widen the
underlying provider permissions.
Complete input field map
| Fields | Used for |
|---|---|
provider, action | Required routing values |
workspace_id | Optional workspace scope |
query, limit | Search text and result bounds where supported |
days, since, until | Summary, statistics, activity, and team-activity windows |
node_type, max_tokens | Knowledge filtering and summary size |
database_id, page_id, parent_page_id, parent_database_id | Notion object and parent selection |
title, content, properties, description | Notion page/database content and metadata |
filter, sorts | Notion database queries; each sort has property and direction |
event_type, status, priority, has_due_date, tags | Notion page-search filters |
team_id, assignee | Linear issue filters |
project_key, issue_type | Jira issue filters |
figma_project_id | Figma file-list filter |
connection_id, resource_id, reference_id | The connected-app account, an item from find, or an attached item |
resource_type, mime_type, container | What find said about an item, so read can open it |
operation, arguments, base_revisions, idempotency_key | A read or edit operation from capabilities, its arguments, and edit safety |
project_id, file_key | Accepted by the current schema but not consumed by a public action |
Fields omitted by an action are not universal filters merely because the
consolidated schema accepts them. Generate requests from the current
tools/list schema and this action map.
ChatGPT and other clients
ChatGPT is a client surface, not an integration provider value. Connect it
through the supported ChatGPT gateway or custom MCP flow described in
ChatGPT and desktop apps. GitLab and
Bitbucket likewise belong to the separate vcs provider list, not this
integration enum.