Skip to main content
All tool names use snake_case. Optional fields can be omitted entirely.

Rooms

Returns a paginated list of rooms with engagement metrics.Response includes: id, title, userId, companyId, totalEngagements, lastEngagedAt, totalViews, totalUniqueViews, engagements breakdown, and design fields.
Creates a new room. Resolve the company and owner first — call list_companies and list_users before this tool.
Returns the full structure of a room: sections, pages, groups, blocks (with extracted text content), and action items inside each action-plan block. Use this before suggesting edits or next best actions.
Returns engagement data for a room: progress, assignees, and section/step viewership.
Updates room properties. All fields optional.

Sections

access options: visible (default) · restricted · locked · hidden
Permanently deletes the section and all its pages, groups, and blocks.

Pages


Groups

Deletes the group and all its blocks.

Blocks

Adds blocks to a group. Each element of columns is a vertical stack; multiple elements appear side by side.Block types: text · image · embed · link · pdf · action-plan
  • text: content field accepts Markdown (headings, bold, lists, tables, etc.)
  • image / pdf: provide any public url — the file is fetched and stored automatically
  • embed / link: provide url
  • action-plan: no extra fields needed; use create_action_items to add tasks
Single column
Two side-by-side columns

Assets

The organization’s asset library. To add a library asset to a room, pass its id as assetId in create_blocks — do not use libraryLink for that.
Searches and lists assets in the library. Provide llmQuery for natural-language semantic search (returns only high-relevance matches), or keyword to match asset titles by name. Omit both to list assets filtered by type, tag, creator, folder, and date range, newest first.
Lists the library’s folders with their IDs, so a folder name can be resolved to an ID before calling get_assets with folderId.If more than one folder shares the target name, ask the user which one to use.
Returns one intelligence artifact for a single library asset. Exactly one of includeIntelligenceGraph or includeParse must be set.Either may return null if that artifact hasn’t been generated yet for this asset.

Action items

Returns action items scoped to a room, page, or block. Paginated (default 100 per page, max 1000). If blockId is set, pageId is required.Response: items (each includes blockId), totalRecords, totalPages.
Item fields: title (required), description, status, dueDate, startDate, internal, assignees (email array)
All fields optional. assignees replaces the full list.

Forms

Returns paginated forms in the organization.Response includes: id, title, createdAt, answerCount, questionCount, user (creator: id, firstName, lastName, email).
Creates a form with optional questions.Question fields: type (required — text · email · number · link · date · date-range · date-time · date-time-range · file-upload · single-choice · multiple-choice), title, visibility (visible default · hidden), options (choice labels — single-choice/multiple-choice only), viewType (list default · dropdown — choice types only), placeholder / preFill (text-based types only: text, email, number, link), dateFormat (dd/mm/yyyy · mm/dd/yyyy — date types only)

Sessions

Returns visitor sessions (paginated). Each session represents one visit to a room.Response: results (each includes id, roomId, createdAt, location, browser, contact info, and room owner).

Workflows & webhooks

Triggers a configured automation.

Contacts

Returns contacts enriched with company associations and view counts.Response includes: id, email, fullName, title, headline, phone, linkedInUrl, avatar, isAccessGranted, source, addedAt, viewCount, and companies (id, name, domain, website, logo).

CRM

Updates properties on the primary contact associated with a room’s linked CRM deal. Works with HubSpot and Salesforce. Requires a HubSpot or Salesforce integration to be connected.Use exact CRM API field names — not display labels.

Slack

Sends a Slack message to a user (DM) or a channel. Requires a Slack integration connected for the org.Provide at least one of userEmail, channelId, or channelName.

Conversations

Searches the calling user’s own past REX conversations, most recently updated first, by keyword (case-insensitive fuzzy match over titles and message content). Omit search to list the most recent conversations.Response includes: id, title, updatedAt per match.

REX signals

Signals are the dated, actionable observations REX makes about a deal. Omitting roomId on query_signals and aggregate_signals searches every room you have access to. Status values are TODO · IN_PROGRESS · DONE · DISMISSED. Urgency values are LOW · MEDIUM · HIGH.
Returns a single signal by id, or null if it doesn’t exist for this org.Response includes: id, flowId, flowTitle, orgId, status, urgency, dismissReason, resolvedBy (user or agent), dateDone, dateDismissed, createdAt, updatedAt, and data — the signal content: title, description, justificationCapture (what triggered it), justificationImportance (why it matters), urgency, icon, recommendedActions (array of { action, actionDescription }, or null), dismissReasons (array of { reason } options offered to the user, or null).
Returns a paginated list of signals ({ results, totalRecords, totalPages }). Without roomId, searches across every room you can access.Each conditions entry is { field, operator, value }:Add several conditions to filter in one call, e.g. status=TODO AND urgency=HIGH. Each result is tagged with flowId/flowTitle, so an org-wide query is actionable without a second lookup.
Returns signal counts for the org or one room: the total plus a breakdown by status and by urgency. Every enum value is included even at zero, so the response shape is stable, e.g. { total: 7, byStatus: { TODO: 5, IN_PROGRESS: 1, DONE: 1, DISMISSED: 0 }, byUrgency: { LOW: 4, MEDIUM: 2, HIGH: 1 } }.Use this before query_signals when you only need to know where to look.
Creates new signals and/or updates existing ones for a room in a single batch. The only REX tool that writes.Create fields (each entry in create):Update fields (each entry in update):There’s no dedupe on title — a create call always creates a new signal, even if a similar one is already open.
Create one signal
Resolve one signal

REX knowledge graph

Read-only. Everything here is computed by REX from your calls, CRM, and room activity, and can’t be set externally.
Returns a serialized snapshot of the room’s Knowledge Graph — the same picture the room’s own REX views read from, in one call.Response includes: dealScore — the aggregate 0–5 health score with its analysis; meddpicc — all eight MEDDPICC dimensions, each scored 0–5 with its own analysis; insightCards — the four insight cards, each with a status (on_track · needs_attention · neutral) and summary; and findings — the quote-backed moments behind all of the above, each with a type, description, quote (the exact words said), and the meetingId and contactId it came from.MEDDPICC dimensions: metrics · economic_buyer · decision_criteria · decision_process · paper_process · identify_pain · champion · competitionInsight card categories: motivation · stance · obstacle · trajectoryFinding types: pain_point · concern · objection · blocker · urgency_signal · aha_moment · commitment · competitor_mention · unanswered_question · priorityA score with no evidence behind it yet returns notScored rather than 0.

Lookups

Searches by name or domain.
Returns active users in the organization. Use returned IDs as userId when creating rooms.(No parameters)
Returns room statuses. Each result has id, title, and defaultStatus.(No parameters)
(No parameters)