Roam HQ provides APIs for secure messaging, chat, file sharing, and collaboration with enterprise-grade security and compliance features.
Roam HQ provides APIs for secure messaging, chat, file sharing, and collaboration with enterprise-grade security and compliance features. On Nagent, Roam is exposed as a fully-configurable communication integration that any agent can call — 39 actions, and API_KEY, OAUTH2 authentication. No code is required to wire Roam into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Roam to automate the kinds of tasks communication teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Roam into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Roam, with input parameters and output schema. Drop these into any step of an agent built in Helix.
ROAM_ADD_GROUP_MEMBERSAdd one or more group members and/or admins to an existing Roam group. Use this tool when: - You need to add new members to an existing group - You need to promote existing members to admin status - You want to bulk add multiple users to a group Access conditions: - For adding members: The group must be public in the user's Roam, or the app must be a member - For adding admins: The app must be an admin of the group Returns empty response on success (HTTP 204).
Input parameters
The unique identifier of the group to add members to
List of user IDs to add as admins to the group
List of user IDs to add as members to the group
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_ADD_REACTIONAdd an emoji reaction to a message in a chat. Use this action when you want to react to a message with an emoji in a Roam chat. The action requires the message ID, chat ID, reaction name, and timestamp. Required scope: chat:send_message or chat:write Response codes: 200=success, 400=bad request, 401=invalid credentials, 405=unsupported method, 500=internal error
Input parameters
The unique ID of the chat containing the message. This is the chat identifier starting with C-.
The name of the reaction/emoji to add. Common values include 'smile', 'thumbsup', 'heart', etc.
Unix timestamp (in seconds) when the reaction was added.
The unique ID of the message to add the reaction to. This is the UUID of the message.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_CREATE_GROUPCreate a group address that can be used for chat. Groups which specify an admin will operate in an "Admin only" management mode, where only admins may change settings. Otherwise, all members have that capability. Groups require at least one member or admin.
Input parameters
The name of the group (max 64 characters).
List of admin email addresses or IDs. Groups with admins operate in 'Admin only' management mode.
List of member email addresses or IDs to add to the group.
Whether the group is private. Defaults to false.
The description of the group (max 1024 characters).
Whether threads are enforced in the group.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_CREATE_ROAM_SCIM_GROUPTool to create a new group in your Roam organization using SCIM 2.0. Use when you need to provision a new group for managing user access and permissions via the SCIM 2.0 protocol. The displayName is required and must be 64 characters or less.
Input parameters
Optional list of members to add to the group. Each member should be a dict with a 'value' field containing a Roam Person ID.
SCIM schema array. Defaults to \['urn:ietf:params:scim:schemas:core:2.0:Group'\]
The display name of the group. Maximum 64 characters.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_CREATE_USERCreate a new user in Roam via SCIM 2.0 protocol for automated user provisioning. Use when you need to add a new user to your Roam organization. The userName must match the primary email address exactly. The role defaults to 'User' but can be set to 'Admin' for administrative access. Note: Password attributes are not supported and will be ignored.
Input parameters
Name object containing the user's given name and family name.
User role in Roam organization.
Whether the user account is active. Set to false to archive/deprovision the user. Defaults to true.
List of email addresses for the user. The primary email must match userName.
SCIM schemas to include in the request. Defaults to standard User schema.
Username for the user. Must be the user's email address and must exactly match the primary email value.
External identifier for correlation with IdP records.
Full name of the user. Note: Roam auto-generates this from givenName + familyName, so this value may be ignored.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_DELETE_GROUPArchive a group in Roam using SCIM 2.0 protocol. This is a soft delete operation that archives the group. Use when you need to archive a group that is no longer needed while preserving data for audit purposes. Returns 204 No Content on successful deletion.
Input parameters
The unique identifier of the group to archive. This is the SCIM group ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_DELETE_USERArchive a user in Roam using SCIM 2.0 protocol. This is a soft delete operation that deprovisions the user. Use when you need to remove a user from the organization while preserving their data for audit purposes. Returns 204 No Content on successful deletion.
Input parameters
The unique identifier of the user to archive. This is the SCIM user ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_ADDRESS_INFOGet information about a chat address, which is the name for any entity that may participate in a chat, such as a user, visitor, or bot. Use this action to retrieve details like display name, email, profile image, and other information about a specific chat address. Required scope: chat:read
Input parameters
The chat address to fetch information for. This is a unique identifier for entities that may participate in a chat, such as users, visitors, or bots. Format: U-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_CHAT_HISTORYLists messages in a chat, filtered by date range (after/before). The ordering of results depends on the filter specified: - If no parameters provided: returns most recent messages, sorted in reverse chronological order. - If 'after' is specified: results sorted in forward chronological order. In Personal mode, only chats where the authenticated user is a participant are accessible. Use this action to retrieve message history from a specific chat.
Input parameters
The chat address (UUID) to fetch messages from.
The datetime to begin listing messages (UTC). Format: YYYY-MM-DD or RFC-3339 datetime. If specified, results are sorted in forward chronological order.
Number of messages to return. Default is 10, maximum is 200.
The datetime until which to list messages (UTC). Format: YYYY-MM-DD or RFC-3339 datetime. Defaults to 'now' if not specified.
Opaque pagination cursor from a previous response's nextCursor. Do not construct cursors manually.
Read replies of the message with this timestamp. Use to fetch replies to a specific message.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_MEETING_LINKTool to get a meeting link. Use when you need to retrieve information about a specific meeting link by its ID. Requires the 'meetinglink:read' scope.
Input parameters
The unique identifier (UUID) of the meeting link to retrieve.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_RESOURCE_TYPESReturns the list of SCIM 2.0 resource types supported by Roam. Use this action to discover what resource types are available in the Roam SCIM API. Currently returns User and Group resource types. This endpoint requires no parameters.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_ROAM_SCIM_CONFIGTool to retrieve Roam's SCIM service provider configuration. Use when you need to discover Roam's SCIM API capabilities including supported authentication schemes, bulk operations, filtering, and other service provider features. This endpoint returns the SCIM 2.0 ServiceProviderConfig resource which describes the supported features.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_SCIM_SCHEMARetrieves the definition of a specific SCIM 2.0 schema by its unique identifier (URN). This endpoint returns the complete schema definition including all attributes, their types, mutability, and other properties. Common schemas include: - urn:ietf:params:scim:schemas:core:2.0:User (User resource schema) - urn:ietf:params:scim:schemas:core:2.0:Group (Group resource schema) - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User (Enterprise User extension) Use this to understand the structure of SCIM resources and what attributes are available.
Input parameters
The unique identifier of the SCIM schema to retrieve. Common values: 'urn:ietf:params:scim:schemas:core:2.0:User' for User schema, 'urn:ietf:params:scim:schemas:core:2.0:Group' for Group schema.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_SCIM_USERTool to retrieve a single user by their Roam Person ID using SCIM 2.0 protocol. Use when you need to get detailed information about a specific user including their name, email, active status, and role in Roam. The user ID is the SCIM user ID (Person ID) that can be obtained from user list or user creation operations. Endpoint: GET /scim/v2/Users/{id}
Input parameters
The unique identifier of the user (Roam Person ID). This is the SCIM user ID returned by the API.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_TESTTest endpoint for API connectivity. Use this endpoint to verify that the Roam API is accessible and authentication is working correctly. Returns a confirmation message on successful connection.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_TOKEN_INFORetrieves information about the current Roam access token. Use this tool to: - Get the bot's chat address - Check the OAuth scopes granted to the current token - Retrieve information about the associated Roam workspace Returns the chat address, granted scopes, and Roam workspace information.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_GET_USER_INFOGet detailed information about a single user in your Roam workspace. Requires user:read scope. Additional scopes (user:read.email, user:read.status) needed for expanded fields.
Input parameters
The User ID to look up. Format: U-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Comma-separated list of additional fields to include. Supported values: 'status', 'available'. Requires corresponding scopes (user:read.status).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_CHATSLists all accessible chats, which consist of all DMs, MultiDMs, and Channels that your bot has been added to, in addition to all public channels. Supports pagination via cursor and limiting the number of results. Use this action to discover available chats before performing operations on them.
Input parameters
Number of chats to return (1-100, default: 10)
Pagination cursor from previous response to fetch the next page of results.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_GROUP_MEMBERSList members in a group in your Roam workspace. Use this tool when: - You need to see all members of a specific group - You want to check who has access to a group - You need to paginate through large groups Access conditions: - The group must be public in the user's Roam, OR - The app must be a member of the group Required scope: groups:read Returns a list of user IDs with pagination support via nextCursor.
Input parameters
The unique identifier of the group whose members to list
Number of members to return. Minimum: 1, Maximum: 100, Default: 10
Pagination cursor from a previous response to get the next page of results
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_GROUPSReturns a paginated list of groups in your Roam organization via SCIM 2.0. Use when you need to retrieve all groups in your Roam organization using the SCIM protocol. Supports pagination using startIndex and count parameters. Note: The filter parameter is currently ignored for the Groups endpoint.
Input parameters
The number of resources to return in a single page. Default is 100.
A SCIM filter expression. Currently ignored for Groups endpoint.
The 1-based index of the first result in the current page of results. Default is 1.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_LOBBIESLists active lobbies in your Roam account. Returns all lobby configurations with their IDs, display names, URLs, and active status. Use this action to discover available lobbies before performing operations on them.
Input parameters
Filter for lobbies with a specific handle (first path segment of the URL).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_MEETINGSLists all meetings in your home Roam, filtered by date range. Supports pagination via cursor and limiting the number of results. Returns meeting details including meeting ID, room, time, and participants. Use this action to discover available meetings in your Roam workspace.
Input parameters
Filter for meetings that started after this date/time (UTC). Format: YYYY-MM-DD or RFC-3339 datetime.
Number of meetings to return per response.
Filter for meetings that started before this date/time (UTC). Format: YYYY-MM-DD or RFC-3339 datetime. Defaults to now if not specified.
Opaque cursor from a previous response to fetch the next page of results. Do not construct cursors manually.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_RECORDINGSTool to list all recordings in your home Roam. Use when you need to retrieve recordings with optional date range filtering (after/before) or pagination. Supports filtering by date range and paginating through large result sets.
Input parameters
The datetime to begin listing recordings (YYYY-MM-DD or RFC-3339 format).
The number of recordings to return per response. Default is 10, max 100.
The datetime until which to list recordings (YYYY-MM-DD or RFC-3339 format).
Opaque pagination cursor from a previous response's nextCursor field.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_ROAM_SCIM_USERSTool to list users in your Roam organization using SCIM 2.0 protocol. Use when you need to retrieve a paginated list of users in your Roam workspace via the SCIM 2.0 API for identity provider integration. Supports pagination via startIndex and count parameters, as well as filtering by user attributes using SCIM filter expressions. Endpoint: GET /scim/v2/Users
Input parameters
The maximum number of users to return per page. Use this for pagination to control page size.
A SCIM filter expression to narrow down results. For example, 'userName eq "alice@example.com"' to find a specific user. Supports filtering by userName, name, emails, and active attributes.
The 1-based index of the first result to return. Use this for pagination to retrieve subsequent pages of results.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_SCHEMASTool to list all SCIM 2.0 schemas supported by Roam. Use when you need to discover available SCIM resource schemas. Returns the core User and Group schemas plus Roam's custom role extension schemas.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_TRANSCRIPTSLists all transcripts in your Roam workspace, filtered by date range. Supports pagination via cursor and limiting the number of results. Returns transcript metadata (id, meetingId, start, end, participants) without full content. Use this action to discover available transcripts before retrieving detailed content.
Input parameters
Filter for transcripts that started after this date/time (UTC). Format: YYYY-MM-DD or RFC-3339 datetime.
Number of transcripts to return.
Filter for transcripts that started before this date/time (UTC). Format: YYYY-MM-DD or RFC-3339 datetime.
Opaque cursor from a previous response to fetch the next page of results.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_USER_AUDIT_LOGTool to get a list of user audit log entries for the account. Use when you need to retrieve audit logs for compliance and security monitoring purposes. This action requires the 'userauditlog:read' scope and organization-level access. Required parameter: date (format: YYYY-MM-DD) Optional: limit for pagination, cursor for paginating through results.
Input parameters
Date to retrieve audit logs for. Format: YYYY-MM-DD.
Number of audit log entries to return. Must be between 1 and 100.
Pagination cursor from a previous response to fetch the next page of results.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LIST_USERSTool to list all users in the Roam workspace. Use when you need to retrieve a list of users with optional pagination and expanded fields like status. Required scope: user:read (add user:read.email for emails, user:read.status for presence status).
Input parameters
Number of users to return. Must be between 1 and 100.
Pagination cursor from a previous response to fetch the next page of results.
Comma-separated list of additional fields to include. Supported: 'status' (requires user:read.status scope).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_LOOKUP_USERLook up a user in your Roam workspace by their email address. Use when you need to find a user's details including their ID, name, and profile information. Required scopes: user:read and user:read.email.
Input parameters
The email address of the user to look up.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_PATCH_GROUPPartially updates a group using SCIM 2.0 protocol. Use this action to add or remove members from a group, or replace the group's display name. The PATCH operation supports 'add', 'remove', and 'replace' operations on group attributes. Example usage: - Add members: op='add', path='members', value=\[{'value': '686562', 'ref': 'Users/686562'}\] - Remove members: op='remove', path='members', value=\[{'value': '686562'}\] - Replace displayName: op='replace', path='displayName', value='New Group Name'
Input parameters
The unique identifier of the group (Roam AddressID).
Array of SCIM PATCH operations to perform on the group. Use 'add' or 'remove' for members, 'replace' for displayName.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_PATCH_USERPartially updates a user using SCIM 2.0 protocol. Use when you need to modify specific attributes of an existing user without replacing the entire resource. Currently, Roam only supports the 'replace' operation on the 'active' attribute, which allows archiving or reactivating a user. Other operations like 'add' or account 'remove' are not supported, and 'replace' on attributes other than 'active' will fail. Example usage: - Deactivate/archive user: op='replace', path='active', value=false - Reactivate user: op='replace', path='active', value=true Endpoint: PATCH /scim/v2/Users/{id}
Input parameters
The unique identifier of the user (Roam Person ID) to update.
Array of SCIM PATCH operations to perform on the user. Note: Roam only supports 'replace' operation on the 'active' attribute (to archive or reactivate a user).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_POST_CHATPost a message to a chat. Messages can be plain markdown text or rich Block Kit layouts with headers, sections, buttons, and more. Messages may be posted to a chat, a group, or addresses such as users or bots. Use syntax <@USER_ID> for mentions.
Input parameters
A Tagged ID (chat, group, or address). Can also be an array of user addresses to create a Multi-DM.
If true, post is performed synchronously and timestamp returned.
Markdown-formatted text content. Cannot be combined with blocks. Either text or blocks is required.
Colored vertical strip. Values: good, warning, danger, or hex (e.g., #5B3FD9). Only used with blocks.
Array of Item IDs (UUIDs) to attach. Cannot be combined with blocks.
Array of Block Kit block objects (header, section, context, divider, actions). Cannot be combined with text. Max 10 blocks, 8,000 bytes.
Defaults to true. Set false to disable markdown interpretation.
External identifier for threading messages. Max 64 characters. Mutually exclusive with thread_timestamp.
Reply to a specific thread. Mutually exclusive with thread_key.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_REMOVE_GROUP_MEMBERSTool to remove one or more members from a group in your Roam workspace. Use when you need to remove users from a specific group. Note: The group must be public in the user's Roam, or the app must be a member of the group to remove members. Admin role members cannot be removed yet.
Input parameters
The group address (TaggedUUID format, e.g., G-13137f22-926c-4323-baf7-9c953bdccf99)
List of member IDs to remove (TaggedUUID format, e.g., U-a86af3af-7d0b-4d4c-8392-85ffdf30881e)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_REPLACE_GROUPFully replaces a group's attributes using SCIM 2.0 protocol. Use when you need to completely replace all attributes of an existing group, including its display name and member list. This is a full update (PUT), not a partial update (PATCH). Note: Unlike PATCH which only modifies specified attributes, PUT requires sending all desired attributes. Any attributes not included will be reset to default values (e.g., members list will be replaced entirely).
Input parameters
The unique identifier of the group (Roam AddressID) to replace.
Optional list of members to replace the current group members. Each member should be a dict with a 'value' field containing a Roam Person ID. If not provided, existing members will be removed.
SCIM schema array. Defaults to \['urn:ietf:params:scim:schemas:core:2.0:Group'\]
The display name of the group. Maximum 64 characters.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_REPLACE_USERFully replaces (updates) a user's attributes in Roam via SCIM 2.0 protocol. Use when you need to update all user attributes at once. This is a full replacement operation - all required fields must be provided. Note: This is a PUT operation that completely replaces the user. For partial updates, use the patch user operation. Password attributes are not supported and will be ignored.
Input parameters
The unique identifier of the user to replace. This is the SCIM user ID.
Name object containing the user's given name and family name.
User role in Roam organization.
Whether the user account is active. Set to false to archive/deprovision the user. Defaults to true.
List of email addresses for the user. The primary email must match userName.
SCIM schemas to include in the request. Defaults to standard User schema.
Username for the user. Must be the user's email address and must exactly match the primary email value.
External identifier for correlation with IdP records.
Full name of the user. Note: Roam auto-generates this from givenName + familyName, so this value may be ignored.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_SEND_MESSAGESends the given message to the specified recipients. At this time, we only support sending to a single group recipient. You can obtain the group ID on the Group Settings page.
Input parameters
The message text to send
Sender info with id, name, and imageUrl fields
Text is markdown by default. Set to false to disable markdown interpretation
Array of recipient UUIDs (currently supports single group). You can obtain the group ID on the Group Settings page.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_SEND_TYPINGTool to notify other chat participants that you are typing. Use when you want to show a typing indicator to one or more users in a chat conversation. This is typically used before sending a message to let recipients know you're composing a response.
Input parameters
List of user IDs to notify that you are typing. These are the recipients of the typing indicator.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_UPDATE_MEETING_LINKUpdate settings for an existing meeting link in Roam. Use this action when you need to modify the name, start time, or end time of an existing meeting link. The meeting link ID is required to identify which meeting to update. Note: The host field cannot be updated; if provided, it must match the existing value. Returns 204 No Content on success.
Input parameters
The unique identifier of the meeting link to update (UUID)
Meeting end time in RFC3339 format (e.g., 2024-01-15T11:00:00Z)
The email address of the meeting host. Cannot be updated; must match existing value if provided.
The new name for the meeting
Meeting start time in RFC3339 format (e.g., 2024-01-15T10:00:00Z)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ROAM_UPLOAD_ITEMUpload a file to Roam so it can be sent as a chat attachment. Use when you need to upload a file, image, or document to Roam before sending it in a chat message. Returns an item ID that can be used with the chat.post endpoint. Supported file types: - Images (image/png, image/jpeg, image/gif, image/webp): Displayed inline with preview thumbnail - Other files (application/octet-stream): Download link only Maximum file size: 10 MB
Input parameters
The file to upload to Roam. FileUploadable object where 'name' should be the filename (e.g., 'document.pdf', 'image.jpg').
Custom filename for the uploaded file. If not provided, the original filename from the FileUploadable object will be used.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 41 agents privately built on Nagent that already use Roam.
Build on Nagent
Connect Roam to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Roam, and click "Connect Now." You'll authenticate with API_KEY, OAUTH2 — Nagent handles credential storage and refresh automatically. Once connected, Roam is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Roam is connected, you configure its 39 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Roam steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Roam event fires, the agent kicks off automatically.
Every Roam action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Roam ships with 39 pre-built communication actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Roam together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Roam-based workflows tailored to your business.