Ably is a real-time messaging platform helping developers build live features, including chat and data synchronization, with global scalability and robust reliability for modern applications
Ably is a real-time messaging platform helping developers build live features, including chat and data synchronization, with global scalability and robust reliability for modern applications On Nagent, Ably is exposed as a fully-configurable developer tools integration that any agent can call — 25 actions, and API key authentication. No code is required to wire Ably into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Ably to automate the kinds of tasks developer tools 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 Ably 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 Ably, with input parameters and output schema. Drop these into any step of an agent built in Helix.
ABLY_BATCH_PRESENCEThis tool enables querying the presence states of multiple channels in a single API request. The API retrieves the member presence details of the specified channels in parallel.
Input parameters
Comma-separated list of channel names to query presence for
Character used to separate channel names (default is comma)
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
ABLY_BATCH_PRESENCE_HISTORYThis tool enables querying presence history for multiple channels in a single API request. It uses the GET endpoint at https://rest.ably.io/presence to retrieve the member presence history details of the specified channels in parallel.
Input parameters
End time in milliseconds since epoch
Maximum number of messages to return per channel (default 100, max 1000)
Start time in milliseconds since epoch
List of channel names to query presence history for
Direction of results (backwards or forwards)
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
ABLY_DELETE_CHANNEL_SUBSCRIPTIONThis tool allows you to unsubscribe devices or clients from push notifications for specific channels. The operation is asynchronous, so immediate requests after deletion may briefly still return the subscription.
Input parameters
Optional channel name to filter subscriptions. If not provided, subscriptions across all channels for the specified device_id or client_id will be deleted.
Client ID to filter subscriptions. At least one of device_id or client_id must be provided. Cannot be used together with device_id.
Device ID to filter subscriptions. At least one of device_id or client_id must be provided. Cannot be used together with client_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
ABLY_GET_CHANNEL_DETAILSThis tool retrieves metadata and details for a specific channel in Ably. It returns a ChannelDetails object containing information about the channel's status, occupancy, and other metadata. The endpoint provides visibility into channel activity, including metrics such as connections, presence, publishers, and subscribers, and requires appropriate permissions.
Input parameters
The ID of the channel to retrieve details for
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
ABLY_GET_CHANNEL_HISTORYThis tool retrieves the message history for a specified Ably channel. It uses the GET /channels/{channelId}/messages endpoint to return a paginated list of messages in chronological order, subject to parameters such as 'channelId', 'limit', 'direction', 'start', and 'end'. The tool is useful for auditing, recovering missed messages, analyzing channel activity, and debugging message flows. Authentication is required via basic or token authentication.
Input parameters
The end of the query interval as a time in milliseconds since the epoch
The maximum number of records to return. A limit greater than 1,000 is invalid
The start of the query interval as a time in milliseconds since the epoch
The direction of this query. The direction determines the order of the returned result array
The ID of the channel to retrieve history for
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
ABLY_GET_CHANNEL_PRESENCETool to obtain the set of members currently present for a channel. Use when you need to check which clients are currently connected and active on a specific Ably channel.
Input parameters
Maximum number of presence members to return. Default is 100.
Response format enum.
Filter presence members by client ID
The Channel's ID for which to retrieve presence information
Filter presence members by connection 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
ABLY_GET_MESSAGE_VERSIONSTool to retrieve all historical versions of a specific message from an Ably channel. Use when you need to track message history, including the original message and all subsequent updates or delete operations. Each version includes metadata such as timestamp, action type, and client ID.
Input parameters
The message serial identifier (format: timestamp-counter@connectionId:counter)
The ID of the channel containing 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
ABLY_GET_PRESENCE_HISTORYThis tool retrieves the history of presence messages for a specified channel in Ably. It allows you to query presence events on a channel within a given time period.
Input parameters
The end of the query interval as a time in milliseconds since the epoch. Defaults to current time.
The maximum number of records to return. Maximum value is 1000.
The start of the query interval as a time in milliseconds since the epoch
The direction of results. Can be either 'backwards' or 'forwards'.
The channel name to get presence history for
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
ABLY_GET_PUSH_DEVICETool to get the full details of a device registration for push notifications. Use when you need to retrieve information about a specific device registered for push notifications, including its platform, state, recipient details, and metadata. Requires the device ID.
Input parameters
Response format options for the API
Device's ID. Unique identifier for the device registration.
The version of the API you wish to use. If not specified, the default version 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
ABLY_GET_SERVICE_TIMEThis tool retrieves the current server time from Ably's service in milliseconds since the epoch. It is particularly useful for time synchronization and generating valid TokenRequest timestamps to prevent replay attacks. The endpoint supports multiple content types, handles HTTP errors, network issues, and is a fundamental tool for ensuring accurate timing in Ably applications.
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
ABLY_GET_STATSThis tool retrieves your application's usage statistics from Ably. The stats endpoint returns a paginated list of your application's usage statistics by minute, hour, day, or month. It supports optional parameters such as start, end, direction, limit, and unit to filter and format the returned data. The stats include metrics for: - Message counts and data transferred - Connection counts - Channel usage - API request counts - Push notification metrics - Token request counts
Input parameters
Latest time in milliseconds since epoch for stats retrieval. Times are rounded down based on the unit parameter. If omitted, defaults to current time
Time interval granularity for stats aggregation. Must be 'minute', 'hour', 'day', or 'month'. Defaults to 'minute'
Maximum number of stats records to return (1-1000). Defaults to 100. Use with pagination for larger datasets
Earliest time in milliseconds since epoch for stats retrieval. Times are rounded down based on the unit parameter. If omitted, stats are retrieved from the beginning of available data
Query direction determining result order. 'backwards' returns newest first (default), 'forwards' returns oldest first
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
ABLY_LIST_CHANNELSTool to enumerate all active channels in the Ably application. Use when you need to discover available channels or monitor channel activity. Returns paginated results and is heavily rate-limited. Can return either channel names only or full channel details with occupancy data.
Input parameters
Channel enumeration options.
Maximum number of channels to return. Default is 100, maximum is 1000.
Response format options for the API.
Filter to return only channels whose name starts with the given prefix
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
ABLY_LIST_PUSH_CHANNELSTool to list all channels with at least one subscribed device. Use when you need to discover which channels have active push notification subscriptions in your Ably application.
Input parameters
Response format enum for Ably API.
The version of the Ably API you wish to use. When not specified, the default API version is 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
ABLY_LIST_PUSH_CHANNEL_SUBSCRIPTIONSThis tool retrieves a list of all push notification channel subscriptions. It allows you to view all active push notification subscriptions for channels in your Ably application. Allows filtering by channel, deviceId, and clientId, supports pagination with limit parameter, and returns detailed push notification subscription information including channel, deviceId, and clientId.
Input parameters
The maximum number of records to return. Maximum value is 1000.
Filter to restrict to subscriptions associated with that channel. At least one of channel, client_id, or device_id must be specified.
Filter to restrict to subscriptions associated with that clientId. Cannot be used with device_id unless concat_filters is True. At least one of channel, client_id, or device_id must be specified.
Filter to restrict to subscriptions for that deviceId. Cannot be used with client_id unless concat_filters is True. At least one of channel, client_id, or device_id must be specified.
When set to true, allows combining client_id and device_id filters to find all subscriptions matching either filter
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
ABLY_LIST_REGISTERED_PUSH_DEVICESTool to list all devices registered for receiving push notifications in your Ably application. Use when you need to view, filter, or audit push notification device registrations. Supports filtering by deviceId and clientId, with pagination via limit parameter.
Input parameters
The maximum number of records to return. Default is 100, maximum is 1000
Response format options.
Optional filter to restrict to devices associated with that clientId
Optional filter to restrict to devices associated with that deviceId
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
ABLY_PATCH_PUSH_DEVICE_REGISTRATIONTool to partially update specific attributes of an existing device registration in Ably's push notification system. Use when you need to modify device properties like formFactor, clientId, platform, or push recipient details without replacing the entire registration.
Input parameters
Unique identifier for the device generated by the device itself
The response format you would like (json, jsonp, msgpack, html)
Optional trusted client identifier for the device
Device's ID - the unique identifier for the device to update
Optional metadata object for this device. The metadata for a device may only be set by clients with push-admin privileges and will be used more extensively in the future with smart notifications
Enum for platform types.
Enum for push state.
Enum for form factor types.
Secret value for the device
The version of the API you wish to use
Model for push recipient details.
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
ABLY_PUBLISH_BATCH_MESSAGESTool to batch publish messages to multiple channels in parallel. Use when you need to send the same set of messages to multiple channels simultaneously for efficient broadcasting.
Input parameters
Array of channel names to publish messages to. Maximum 100 channels.
Array of messages to publish. Maximum 1000 messages.
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
ABLY_PUBLISH_MESSAGE_TO_CHANNELThis tool will allow users to publish a message to a specified Ably channel using a POST request. It covers the essentials like channel name, message data, optional event name/type, and additional metadata for push notifications. It is an independent and fundamental operation within Ably's real-time messaging platform.
Input parameters
Optional client identifier to associate with the message.
The name of the channel to publish the message to.
Optional event name/type for the message.
Optional unique message ID for idempotent publishing.
The message payload. Can be a string or a JSON object.
Optional push notification configuration.
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
ABLY_PUBLISH_PUSH_NOTIFICATIONTool to publish a push notification directly to device(s) via Ably's Push Notifications API. Use when you need to send push notifications to specific devices identified by device ID, client ID, or platform-specific tokens. The API returns HTTP 204 on success with no response body.
Input parameters
Push notification payload details.
Push recipient details for a device. Must specify at least one identifier (client_id, device_id, device_token, or registration_token).
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
ABLY_PUBLISH_PUSH_NOTIFICATIONS_BATCHTool to batch publish push notifications directly to specific recipients. Use when you need to send multiple push notifications efficiently in a single request. Supports up to 10,000 notifications per batch.
Input parameters
Array of push notification items to publish. Maximum 10,000 notifications per request.
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
ABLY_REGISTER_PUSH_DEVICETool to register a device for receiving push notifications in Ably. Use when you need to enable push notifications for a specific device across various platforms including iOS (APNs), Android (FCM/GCM), and web browsers (Web Push). The device must be registered before it can receive push notifications through Ably's push notification system.
Input parameters
Unique identifier for the device generated by the device itself. This is a client-generated ID that uniquely identifies the device.
Optional metadata object for this device. The metadata may only be set by clients with push-admin privileges and will be used for smart notifications.
Platform of the push device. Must be one of: ios, android, or browser.
Optional trusted client identifier for the device. Used to associate the device with a specific client in your Ably app.
State types for push devices.
Form factor of the push device. Must be one of: phone, tablet, desktop, tv, watch, car, or embedded.
Secret value for the device. Used for device authentication.
Push recipient details for the device. Contains transport type and platform-specific configuration like device tokens or web push endpoints.
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
ABLY_REQUEST_ACCESS_TOKENRequest an access token for Ably authentication. Use this when you need to generate a token with specific capabilities and client identifiers for secure authentication. The token can be used to authenticate clients with limited permissions and time-bound access.
Input parameters
Time-to-live for the token in milliseconds. Defaults to 60 minutes (3600000ms) if not specified.
Random nonce string for token request uniqueness. Prevents replay attacks. If not provided, Ably generates one.
The key name comprises of the app ID and key ID of an API key. Format: appId.keyId (e.g., 'rLhKFg.1Hf06Q')
Optional client identifier to associate with this token. When set, the token can only be used by the specified client ID.
Token request timestamp in milliseconds since epoch. If not provided, Ably will use the current server time. Used for token request validation.
JSON-stringified capability text specifying permissions. Use '{"*":\["*"\]}' for full access, or specify specific channels and operations. Must be a valid JSON string.
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
ABLY_UNREGISTER_ALL_PUSH_DEVICESTool to unregister matching devices for push notifications. Use when you need to remove device registrations from Ably's push notification system. You can filter by deviceId or clientId, but not both simultaneously.
Input parameters
Optional filter to restrict to devices associated with that clientId. Cannot be used with device_id.
Optional filter to restrict to devices associated with that deviceId. Cannot be used with client_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
ABLY_UNREGISTER_PUSH_DEVICETool to unregister a single device from push notifications in Ably. Use when you need to remove a device's push notification registration. This permanently removes the device from receiving push notifications until it is registered again.
Input parameters
Enum for response format options
The unique identifier of the device to unregister from push notifications. This is the device ID that was used when the device was originally registered.
The version of the Ably API you wish to use. Example: '1.2'
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
ABLY_UPDATE_PUSH_DEVICETool to update (upsert) a device registration for push notifications in Ably. Use when registering a new device or updating an existing device's push notification configuration. This is an upsert operation - if the device doesn't exist, it will be created; if it exists, it will be updated.
Input parameters
Unique identifier for the device generated by the device itself. This should match device_id.
Optional metadata object for this device. May only be set by clients with push-admin privileges.
Platform of the push device (ios, android, or browser).
Optional trusted client identifier for the device.
Device's ID. This is the unique identifier for the device being registered/updated.
Push device state types.
Form factor of the push device (phone, tablet, desktop, tv, watch, car, or embedded).
Secret value for the device.
Push recipient details for the device, including transport type and device/registration tokens.
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 84 agents privately built on Nagent that already use Ably.
Build on Nagent
Connect Ably 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 Ably, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Ably is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Ably is connected, you configure its 25 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Ably 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 Ably event fires, the agent kicks off automatically.
Every Ably 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 Ably ships with 25 pre-built developer tools actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Ably together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Ably-based workflows tailored to your business.