Skip to main content

Rocket.Chat

Rocket.Chat is an open-source team communication platform that provides channels, direct messages, threads, and integrations. Its REST API exposes message, thread, and channel operations, letting you read messages and message metadata for analysis or post and manage messages programmatically.

Rocket.Chat icon

Power end-to-end data operations for your Rocket.Chat API with Nexla. Our bi-directional Rocket.Chat connector is purpose-built for Rocket.Chat, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Rocket.Chat or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Rocket.Chat workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

The Rocket.Chat REST API authenticates user-scoped requests with a Personal Access Token. Each request that requires authentication sends two headers: X-Auth-Token (the personal access token) and X-User-Id (the user ID associated with the token). Personal access tokens do not expire, so they are well suited for automated integrations.

To generate a Rocket.Chat personal access token, follow these steps:

  1. Sign in to your Rocket.Chat workspace with the user account that Nexla will act as. This account should have the permissions required for the messages and channels you intend to read or write.

  2. Click your account avatar in the top-left corner, and select Profile.

  3. In the profile settings, open the Personal Access Tokens tab.

  4. Enter a descriptive name for the token (e.g., "Nexla Integration"), and choose whether to require two-factor authentication when the token is used by selecting either Ignore Two Factor Authentication or Require Two Factor Authentication.

  5. Enter your password or 2FA code to verify, then create the token.

  6. Copy both the generated access token and the user ID that are displayed, and store them securely. The token is shown only once and cannot be retrieved again after you leave the page.

The user ID is sent in the X-User-Id header and the access token in the X-Auth-Token header on each authenticated API request. If a token is compromised, revoke it from the same Personal Access Tokens screen and generate a new one. For complete details on authentication and available endpoints, see the Rocket.Chat API documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. This connector's endpoint templates are pre-configured and do not require a separate set of credential fields in Nexla. Supply your Rocket.Chat user ID and personal access token (obtained in Prerequisites) where the endpoint configuration requests the X-User-Id and X-Auth-Token request headers.

    Rocket.Chat authenticates user-scoped API requests with the X-User-Id and X-Auth-Token headers. Personal access tokens do not expire, so keep them confidential and revoke any token that may have been exposed.

    For details on authentication headers, request formats, and available endpoints, see the Rocket.Chat API documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Rocket.Chat connector tile, then select the credential that will be used to connect to your Rocket.Chat workspace, and click Next; or, create a new Rocket.Chat credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Rocket.Chat endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] Get Message

This endpoint template retrieves a single chat message by its message ID. Use this template when you need the full record for a specific message, including its text, author, and timestamps.

[Rest API] List Threads

This endpoint template retrieves the list of threads in a channel. Use this template to enumerate threaded conversations and collect their identifiers for subsequent message lookups.

[Rest API] Get Thread Messages

This endpoint template retrieves the messages that belong to a specific thread. Use this template when you need the full set of replies within a threaded conversation.

[Rest API] Get Deleted Messages

This endpoint template retrieves messages that have been deleted from a channel since a given point in time. Use this template to reconcile deletions when keeping a downstream copy of message data in sync.

[Rest API] Get Discussions of A Room

This endpoint template retrieves the discussions that belong to a given room. Use this template to enumerate the discussions started within a channel and collect their details.

[Rest API] Get Mentioned Messages

This endpoint template retrieves the messages in a channel that mention the authenticated user. Use this template to collect mentions for notification, reporting, or workflow-trigger use cases.

[Rest API] Get Message Read Receipts

This endpoint template retrieves the read receipts for a specific message, indicating which users have read it. Use this template when you need message-level read status for engagement analysis.

[Rest API] Get Pinned Messages

This endpoint template retrieves the messages that have been pinned in a channel. Use this template to collect highlighted or reference messages from a room.

[Rest API] Get Starred Messages

This endpoint template retrieves the messages that the authenticated user has starred in a channel. Use this template to collect saved or bookmarked messages for the user.

[Rest API] Report Message

This endpoint template reports a message to workspace moderators, supplying the message ID and an optional description of the reason. Use this template to flag messages for moderation review as part of an automated flow.

  • Provide the Messageid parameter to identify the message being reported, and the optional Description parameter to record the reason for the report.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Rocket.Chat data sources can also be manually configured to ingest data from any valid Rocket.Chat API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Rocket.Chat data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Rocket.Chat destination, and select the Send to Destination option from the menu. Select the Rocket.Chat connector from the list of available destination connectors, then select the credential that will be used to connect to your Rocket.Chat workspace, and click Next; or, create a new Rocket.Chat credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Rocket.Chat endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Post Message

This endpoint template posts new messages to a Rocket.Chat channel or direct message using records from a Nexset. Use this template to automatically send notifications or content generated by your Nexla flows.

  • Each record from your Nexset is sent as a JSON request body to create a new message. Include the target channel or room and the message text in the format required by the Rocket.Chat API.

[Rest API] Update Message

This endpoint template updates the text of an existing message using records from a Nexset. Use this template to edit previously posted messages as part of an automated flow.

  • Each record is sent as a JSON request body identifying the message to update and its new text.

[Rest API] Delete Chat Message

This endpoint template deletes a chat message using records from a Nexset. Use this template to remove messages programmatically based on data from your Nexla flows.

  • Each record is sent as a JSON request body identifying the message to delete.

[Rest API] React to Message

This endpoint template adds or removes an emoji reaction on a message using records from a Nexset. Use this template to apply reactions programmatically as part of a workflow.

  • Each record is sent as a JSON request body identifying the message and the emoji reaction to apply.

[Rest API] Pin Message

This endpoint template pins a message in a channel using records from a Nexset. Use this template to highlight messages programmatically.

  • Each record is sent as a JSON request body identifying the message to pin.

[Rest API] Unpin a message

This endpoint template removes a pin from a message using records from a Nexset. Use this template to unpin previously pinned messages programmatically.

  • Each record is sent as a JSON request body identifying the message to unpin.

[Rest API] Star Message

This endpoint template stars a message for the authenticated user using records from a Nexset. Use this template to bookmark messages programmatically.

  • Each record is sent as a JSON request body identifying the message to star.

[Rest API] Unstar Message

This endpoint template removes a star from a message for the authenticated user using records from a Nexset. Use this template to remove bookmarks programmatically.

  • Each record is sent as a JSON request body identifying the message to unstar.

[Rest API] Follow Message

This endpoint template follows a message thread using records from a Nexset. Use this template to subscribe to thread updates programmatically.

  • Each record is sent as a JSON request body identifying the message to follow.

[Rest API] Unfollow Message

This endpoint template unfollows a message thread using records from a Nexset. Use this template to unsubscribe from thread updates programmatically.

  • Each record is sent as a JSON request body identifying the message to unfollow.

Manual configuration

Rocket.Chat destinations can also be manually configured to send data to any valid Rocket.Chat API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Rocket.Chat APIs expect JSON request bodies for message operations. Include the identifiers required by each endpoint (such as the message ID, channel, or room ID) in the record data sent from your Nexset.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Rocket.Chat endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Rocket.Chat endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.