Azure Service Bus
Message Brokers integration · 31 node(s).
00Overview
Send, receive and schedule messages across Azure Service Bus queues and topics — publish to a topic and let its filter rules fan the message out to subscriptions, receive and settle messages from a queue or subscription in a single step, or work the dead-letter queue to find out why delivery failed. Create and configure queues, topics and subscriptions, add SQL and correlation filter rules, and read live message counts for monitoring and alerting. Sessions and scheduled delivery are supported, and deferred messages hand off cleanly from one flow to another.
Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.
01Connecting Azure Service Bus
- In the node's Authentication field, choose how to connect: Connection String (a namespace shared-access key, quickest to set up) or Microsoft Entra (service principal) (an Azure AD app granted a least-privilege data role).
- For Connection String, open the Azure portal → your Service Bus namespace → Shared access policies → RootManageSharedAccessKey and copy the Primary Connection String into the node's Connection String field — use the namespace-level policy, not a queue- or topic-scoped one, or the entity-management actions cannot run.
- For Microsoft Entra, register an app under Microsoft Entra ID → App registrations, add a Client secret, then on the namespace's Access control (IAM) assign that app an Azure Service Bus Data Sender, Data Receiver or Data Owner role — subscription Owner or Contributor is not enough for data access.
- Fill the node's Namespace (the host only, e.g.
myns.servicebus.windows.net, with nosb://prefix), plus Tenant ID, Client ID and Client Secret from the app registration. - Store the secret — the connection string or the client secret — as a Flomation environment secret (e.g.
azureservicebus_secret) and pick it in the node's matching Connection String or Client Secret field.
| Field | Type | Details | |
|---|---|---|---|
| Connection String | secret | Endpoint=sb://myns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=… — the NAMESPACE-level policy, not a queue's | |
| Authentication | string | Connection String, Microsoft Entra (service principal) | |
| Client Secret | secret | The app needs an Azure Service Bus Data role on the namespace — subscription Owner is not enough | |
| Tenant ID | string | Directory (tenant) ID — a GUID or your-tenant.onmicrosoft.com | |
| Client ID | string | Application (client) ID of the service principal |
${secrets.your_secret}.02Deadletter
Azure Service Bus: Peek Dead-Lettered
messagebrokers/azureservicebus/deadletter_peek · Action
Look at dead-lettered messages without consuming them — diagnosis without commitment. Pairs with Receive Dead-Lettered once you know what is in there.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Entity Type | string | choices: Queue, Topic Subscription | |
| Queue | string | orders | |
| Topic | string | order-events | |
| Subscription | string | billing | |
| Which Dead-Letter Queue | string | choices: Dead-Letter (the usual one), Transfer Dead-Letter (auto-forwarding failures) | |
| Max Messages | integer | 1 (max 100) | |
| From Sequence Number | string | Blank to continue from the last peek | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
Azure Service Bus: Receive Dead-Lettered
messagebrokers/azureservicebus/deadletter_receive · Action
Receive from the dead-letter queue of a queue or subscription, exposing the dead-letter reason and description that say why each message ended up there. Messages arrive here automatically once delivery attempts exceed MaxDeliveryCount (default 10), or on expiry. A dead-letter queue has no dead-letter queue of its own, so abandoning here simply redelivers. Settlement happens HERE, in this node, because a lock token belongs to the AMQP connection that took it — a downstream Complete node is impossible, and when this node's link closes the broker releases anything unsettled immediately. Defer is the one handoff that survives: its sequence numbers are durable, so another flow can pick the message up with Receive Deferred Messages.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Entity Type | string | choices: Queue, Topic Subscription | |
| Queue | string | orders | |
| Topic | string | order-events | |
| Subscription | string | billing | |
| Which Dead-Letter Queue | string | choices: Dead-Letter (the usual one), Transfer Dead-Letter (auto-forwarding failures) | |
| Max Messages | integer | 1 (max 100) — this is 'up to', never 'wait for': receiving fewer is normal | |
| Max Wait (seconds) | integer | 10 (max 300) — the ceiling on an empty queue; returns the moment anything arrives | |
| Receive Mode | string | choices: Peek-Lock (locks the message, settled below), Receive and Delete (destructive — gone before the flow sees it) | |
| Then | string | choices: Complete — remove from the queue, Abandon — release for immediate redelivery, Dead-Letter — move to the dead-letter queue, Defer — keep, retrievable later by sequence number | |
| Dead-Letter Reason | string | ValidationFailed | |
| Dead-Letter Description | string | Order had no customer reference | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
03Message
Azure Service Bus: Dead-Letter Messages
messagebrokers/azureservicebus/message_dead_letter · Action
Receive messages and dead-letter all of them with a reason and description — the receive-inspect-reject shape, in one step. This is the only dead-letter action that is not a disposition on a receive, and it still receives first for the same reason: a lock token cannot cross nodes, so there is nothing a standalone reject node could hold on to. To dead-letter conditionally, use Receive from Queue with Then = Dead-Letter behind a filter.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Entity Type | string | choices: Queue, Topic Subscription | |
| Queue | string | orders | |
| Topic | string | order-events | |
| Subscription | string | billing | |
| Max Messages | integer | 1 (max 100) — every message received here is dead-lettered | |
| Max Wait (seconds) | integer | 10 (max 300) | |
| Reason | string | ValidationFailed | |
| Description | string | Order had no customer reference | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
04Namespace
Azure Service Bus: Get Namespace
messagebrokers/azureservicebus/namespace_get · Action
Get the namespace's properties: name, SKU tier and messaging units. The natural test-connection probe — it proves the credentials and reachability without touching a queue, and the tier tells you the message size cap you are working under (256KB on Standard, 100MB on Premium).
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix |
Returns: id, result, sku, max_message_bytes, tool_result, success, error
05Queue
Azure Service Bus: Cancel Scheduled Messages
messagebrokers/azureservicebus/queue_cancel_scheduled · Action
Cancel messages that Schedule Message put on a queue's schedule, by their sequence numbers. Sequence numbers are the only identifier the broker accepts here — a message ID will not do.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Sequence Numbers | string | Required | [12,13] or 12,13 — as returned by Schedule Message |
Returns: id, result, tool_result, success, error
Azure Service Bus: Create Queue
messagebrokers/azureservicebus/queue_create · Action
Create a queue. Requires Session, Requires Duplicate Detection and Enable Partitioning are IMMUTABLE — they can only be set at creation, and changing your mind later means recreating the queue and losing its messages. Lock Duration cannot exceed 5 minutes whatever is asked for.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Lock Duration (seconds) | integer | 60 — how long a peek-lock holds. Capped at 300 by Service Bus; it cannot be raised further | |
| Max Delivery Count | integer | 10 — attempts before a message is dead-lettered automatically | |
| Default Message TTL (seconds) | integer | Blank for the maximum (about 10675199 days) | |
| Requires Session (IMMUTABLE) | boolean | FIFO per session. Cannot be changed after creation — the queue must be recreated | |
| Requires Duplicate Detection (IMMUTABLE) | boolean | Needs a caller-set Message ID to work. Cannot be added later | |
| Duplicate Detection Window (seconds) | integer | 600 | |
| Dead-Letter On Expiry | boolean | Move expired messages to the dead-letter queue instead of dropping them | |
| Auto-Delete On Idle (seconds) | integer | Blank to never auto-delete; minimum 300 when set | |
| Max Size (MB) | integer | 1024 | |
| Enable Partitioning (IMMUTABLE) | boolean | ||
| Forward To | string | Another queue or topic in this namespace — auto-forwarding | |
| Forward Dead-Lettered To | string | Another entity in this namespace | |
| Notes | string | Free text stored on the queue |
Returns: id, result, tool_result, success, error
Azure Service Bus: Delete Queue
messagebrokers/azureservicebus/queue_delete · Action
Delete a queue and every message in it, active, scheduled and dead-lettered alike. There is no undo and no recycle bin.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
Returns: id, result, tool_result, success, error
Azure Service Bus: Get Queue
messagebrokers/azureservicebus/queue_get · Action
Get a queue's configuration: lock duration, max delivery count, TTL, the session and duplicate-detection flags, and the size cap. For live message counts use Get Queue Runtime Properties instead — configuration and counts are different calls.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
Returns: id, result, tool_result, success, error
Azure Service Bus: Get Many Queues
messagebrokers/azureservicebus/queue_list · Action
List the queues in the namespace with their configuration. Needs a namespace-level connection string (or an Entra principal): an entity-scoped one cannot reach the management API at all. The management plane is rate-limited far harder than the data plane — do not call this in a tight loop.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Limit | integer | 50 (max 100) |
Returns: results, count, tool_result, success, error
Azure Service Bus: Peek Queue
messagebrokers/azureservicebus/queue_peek · Action
Look at a queue's messages without locking, removing or counting a delivery against them. The safe first question — nothing observed here is consumed. Peek also sees scheduled and deferred messages, which a receive cannot.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Max Messages | integer | 1 (max 100) | |
| From Sequence Number | string | Blank to continue from the last peek; a number to page from a fixed point | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
Azure Service Bus: Receive from Queue
messagebrokers/azureservicebus/queue_receive · Action
Receive messages from a queue and settle them in the same step: complete, abandon, dead-letter or defer. Settlement happens HERE, in this node, because a lock token belongs to the AMQP connection that took it — a downstream Complete node is impossible, and when this node's link closes the broker releases anything unsettled immediately. Defer is the one handoff that survives: its sequence numbers are durable, so another flow can pick the message up with Receive Deferred Messages.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Max Messages | integer | 1 (max 100) — this is 'up to', never 'wait for': receiving fewer is normal | |
| Max Wait (seconds) | integer | 10 (max 300) — the ceiling on an empty queue; returns the moment anything arrives | |
| Receive Mode | string | choices: Peek-Lock (locks the message, settled below), Receive and Delete (destructive — gone before the flow sees it) | |
| Then | string | choices: Complete — remove from the queue, Abandon — release for immediate redelivery, Dead-Letter — move to the dead-letter queue, Defer — keep, retrievable later by sequence number | |
| Dead-Letter Reason | string | ValidationFailed | |
| Dead-Letter Description | string | Order had no customer reference | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
Azure Service Bus: Receive Deferred Messages
messagebrokers/azureservicebus/queue_receive_deferred · Action
Retrieve deferred messages by sequence number. This is the one sanctioned handoff between flows: sequence numbers are durable and portable across connections and processes, where lock tokens are not. Defer in one flow, pick the message up in another.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Entity Type | string | choices: Queue, Topic Subscription | |
| Queue | string | orders | |
| Topic | string | order-events | |
| Subscription | string | billing | |
| Sequence Numbers | string | Required | [42,43] or 42,43 — from the messages a receive deferred |
| Receive Mode | string | choices: Peek-Lock (locks the message, settled below), Receive and Delete (destructive — gone before the flow sees it) | |
| Then | string | choices: Complete — remove from the queue, Abandon — release for immediate redelivery, Dead-Letter — move to the dead-letter queue, Defer — keep, retrievable later by sequence number | |
| Dead-Letter Reason | string | ValidationFailed | |
| Dead-Letter Description | string | Order had no customer reference | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
Azure Service Bus: Get Queue Runtime Properties
messagebrokers/azureservicebus/queue_runtime_properties · Action
Get a queue's live counts: active, dead-lettered, scheduled and transfer message counts, plus size in bytes. This is what a monitoring or alerting flow reads — a rising dead-letter count is usually the first sign anything is wrong.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
Returns: id, result, active_message_count, dead_letter_message_count, tool_result, success, error
Azure Service Bus: Schedule Message
messagebrokers/azureservicebus/queue_schedule · Action
Schedule a message to be enqueued on a queue at a future time. Outputs the sequence numbers the broker assigns — they are the ONLY handle Cancel Scheduled Messages accepts, so a scheduled message whose sequence number is not kept can never be cancelled.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Scheduled Enqueue Time | string | Required | 2026-07-17T09:30:00Z — RFC3339, in the future |
| Body | text | Required | {"order":123} — text or JSON. The 256KB Standard-tier cap covers headers and properties too, not just this |
| Content Type | string | application/json | |
| Message ID | string | Free-form. Only de-duplicates if the queue was CREATED with duplicate detection — the flag cannot be added later | |
| Session ID | string | Required if the entity was created with sessions; ignored if it was not | |
| Correlation ID | string | Usually the Message ID this is a reply to | |
| Subject | string | order.created — like an email subject line; correlation filters match on it | |
| Reply To | string | The queue a reply should be sent to | |
| To | string | Advisory only — Service Bus does not route on this | |
| Partition Key | string | Keeps related messages on one partition; ignored on a non-partitioned entity | |
| Time To Live (seconds) | integer | Blank for the entity's default. A longer TTL than the entity's is silently shortened to it | |
| Application Properties (JSON) | object | {"tenant":"acme"} — custom metadata; counts towards the size cap |
Returns: id, result, sequence_numbers, tool_result, success, error
Azure Service Bus: Send to Queue
messagebrokers/azureservicebus/queue_send · Action
Send one message to a Service Bus queue, with the full broker property set (message ID, session, correlation, subject, TTL, scheduled enqueue time) and custom application properties. On Standard the 256KB size cap covers headers and application properties as well as the body.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Body | text | Required | {"order":123} — text or JSON. The 256KB Standard-tier cap covers headers and properties too, not just this |
| Content Type | string | application/json | |
| Message ID | string | Free-form. Only de-duplicates if the queue was CREATED with duplicate detection — the flag cannot be added later | |
| Session ID | string | Required if the entity was created with sessions; ignored if it was not | |
| Correlation ID | string | Usually the Message ID this is a reply to | |
| Subject | string | order.created — like an email subject line; correlation filters match on it | |
| Reply To | string | The queue a reply should be sent to | |
| To | string | Advisory only — Service Bus does not route on this | |
| Partition Key | string | Keeps related messages on one partition; ignored on a non-partitioned entity | |
| Time To Live (seconds) | integer | Blank for the entity's default. A longer TTL than the entity's is silently shortened to it | |
| Application Properties (JSON) | object | {"tenant":"acme"} — custom metadata; counts towards the size cap | |
| Scheduled Enqueue Time | string | 2026-07-17T09:30:00Z — RFC3339. Use Schedule Message instead if you may need to cancel it |
Returns: id, result, tool_result, success, error
Azure Service Bus: Send Batch to Queue
messagebrokers/azureservicebus/queue_send_batch · Action
Send many messages to a queue in one AMQP transfer. Takes a JSON array of message objects ({"body":…, "message_id":…}) or plain strings. Batching is size-aware: the message that does not fit the 256KB envelope is named rather than silently dropped.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Messages (JSON array) | object | Required | [{"body":"first"},{"body":"second","subject":"order.created"}] — objects or plain-string bodies |
Returns: results, count, tool_result, success, error
Azure Service Bus: Update Queue
messagebrokers/azureservicebus/queue_update · Action
Update a queue's mutable properties. Read-modify-write: the queue is fetched first and only the fields set here are changed, because the management API takes a whole QueueProperties and would otherwise reset everything left blank to its default. The immutable flags (session, duplicate detection, partitioning) are not offered — they cannot change.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Queue | string | Required | orders — the queue name on its own, not a URL |
| Lock Duration (seconds) | integer | Blank to leave alone; capped at 300 by Service Bus | |
| Max Delivery Count | integer | Blank to leave alone | |
| Default Message TTL (seconds) | integer | Blank to leave alone | |
| Auto-Delete On Idle (seconds) | integer | Blank to leave alone | |
| Max Size (MB) | integer | Blank to leave alone | |
| Dead-Letter On Expiry | boolean | Untouched leaves it alone | |
| Forward To | string | Blank to leave alone | |
| Forward Dead-Lettered To | string | Blank to leave alone | |
| Notes | string | Blank to leave alone | |
| Status | string | choices: Leave unchanged, Active, Disabled (stops sends and receives) |
Returns: id, result, tool_result, success, error
06Rule
Azure Service Bus: Create Rule
messagebrokers/azureservicebus/rule_create · Action
Create a filter rule on a subscription — a SQL filter, a correlation filter, or a true/false filter, with an optional SQL action that rewrites matched messages. Filter rules are what make a topic worth using instead of N queues. Remember to delete the subscription's $Default rule afterwards: it matches everything, so while it exists the new filter narrows nothing.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
| Rule Name | string | Required | high-value-orders |
| Filter Type | string | choices: SQL expression, Correlation (property equality — cheaper), True (match everything), False (match nothing) | |
| SQL Filter | string | total > 100 AND region = 'UK' — matches on application properties and broker properties | |
| Correlation Filter (JSON) | object | {"subject":"order.created","application_properties":{"region":"UK"}} — every named field must match exactly | |
| SQL Action | string | SET priority = 'high' — optional; rewrites the message as it enters the subscription |
Returns: id, result, tool_result, success, error
Azure Service Bus: Delete Rule
messagebrokers/azureservicebus/rule_delete · Action
Delete a filter rule from a subscription. In practice this is how the $Default rule goes: add your real filter with Create Rule, then delete $Default so the subscription stops matching everything.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
| Rule Name | string | Required | $Default — or the name of a rule you added |
Returns: id, result, tool_result, success, error
Azure Service Bus: Get Many Rules
messagebrokers/azureservicebus/rule_list · Action
List a subscription's filter rules. Worth running whenever a filter seems to be ignored: every subscription is created with a $Default rule that matches everything, and while it exists any filter you add is redundant.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
| Limit | integer | 50 (max 100) |
Returns: results, count, tool_result, success, error
07Session
Azure Service Bus: Receive Session
messagebrokers/azureservicebus/session_receive · Action
Accept a session (or the next available one) and receive its messages in FIFO order, with access to the session state. Sessions are all-or-nothing: the entity must have been CREATED with sessions required, and an ordinary receive against a session-enabled entity fails. The session carries its own lock, which expires like a message lock.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Entity Type | string | choices: Queue, Topic Subscription | |
| Queue | string | orders | |
| Topic | string | order-events | |
| Subscription | string | billing | |
| Session ID | string | Blank to accept the next available session — waits until one is free, then times out | |
| Max Messages | integer | 1 (max 100) | |
| Max Wait (seconds) | integer | 10 (max 300) | |
| Receive Mode | string | choices: Peek-Lock (locks the message, settled below), Receive and Delete (destructive — gone before the flow sees it) | |
| Then | string | choices: Complete — remove from the queue, Abandon — release for immediate redelivery, Dead-Letter — move to the dead-letter queue, Defer — keep, retrievable later by sequence number | |
| Dead-Letter Reason | string | ValidationFailed | |
| Dead-Letter Description | string | Order had no customer reference | |
| Set Session State | text | Written back to the session after the messages are settled; leave blank to leave it alone | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, session_id, session_state, locked_until, tool_result, success, error
08Subscription
Azure Service Bus: Create Subscription
messagebrokers/azureservicebus/subscription_create · Action
Create a subscription on a topic. Every new subscription ships with a $Default rule that matches everything — add a filter with Create Rule and then DELETE $Default, or the filter will appear to do nothing. Requires Session is immutable here too.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
| Lock Duration (seconds) | integer | 60 — capped at 300 by Service Bus | |
| Max Delivery Count | integer | 10 — attempts before a message is dead-lettered automatically | |
| Default Message TTL (seconds) | integer | Blank for the topic default | |
| Requires Session (IMMUTABLE) | boolean | Cannot be changed after creation | |
| Dead-Letter On Expiry | boolean | ||
| Dead-Letter On Filter Errors | boolean | Dead-letter a message whose rule evaluation threw, rather than dropping it | |
| Auto-Delete On Idle (seconds) | integer | Blank to never auto-delete; minimum 300 when set | |
| Forward To | string | Another queue or topic in this namespace | |
| Forward Dead-Lettered To | string | Another entity in this namespace | |
| Notes | string | Free text stored on the subscription |
Returns: id, result, tool_result, success, error
Azure Service Bus: Delete Subscription
messagebrokers/azureservicebus/subscription_delete · Action
Delete a subscription and every message on it. The topic and its other subscriptions are untouched.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
Returns: id, result, tool_result, success, error
Azure Service Bus: Get Many Subscriptions
messagebrokers/azureservicebus/subscription_list · Action
List a topic's subscriptions with their configuration. Also the answer to "where did my messages go?" — a topic with no subscriptions discards everything sent to it.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Limit | integer | 50 (max 100) |
Returns: results, count, tool_result, success, error
Azure Service Bus: Peek Subscription
messagebrokers/azureservicebus/subscription_peek · Action
Look at a topic subscription's messages without locking or removing them. Nothing peeked is consumed, and no delivery is counted against it.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
| Max Messages | integer | 1 (max 100) | |
| From Sequence Number | string | Blank to continue from the last peek; a number to page from a fixed point | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
Azure Service Bus: Receive from Subscription
messagebrokers/azureservicebus/subscription_receive · Action
Receive messages from a topic subscription and settle them in the same step. Messages live on the subscription, not the topic — a topic cannot be received from. Settlement happens HERE, in this node, because a lock token belongs to the AMQP connection that took it — a downstream Complete node is impossible, and when this node's link closes the broker releases anything unsettled immediately. Defer is the one handoff that survives: its sequence numbers are durable, so another flow can pick the message up with Receive Deferred Messages.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
| Max Messages | integer | 1 (max 100) — this is 'up to', never 'wait for': receiving fewer is normal | |
| Max Wait (seconds) | integer | 10 (max 300) — the ceiling on an empty queue; returns the moment anything arrives | |
| Receive Mode | string | choices: Peek-Lock (locks the message, settled below), Receive and Delete (destructive — gone before the flow sees it) | |
| Then | string | choices: Complete — remove from the queue, Abandon — release for immediate redelivery, Dead-Letter — move to the dead-letter queue, Defer — keep, retrievable later by sequence number | |
| Dead-Letter Reason | string | ValidationFailed | |
| Dead-Letter Description | string | Order had no customer reference | |
| Parse JSON Body | boolean | Also expose the body decoded, as body_json |
Returns: results, count, received, tool_result, success, error
Azure Service Bus: Get Subscription Runtime Properties
messagebrokers/azureservicebus/subscription_runtime_properties · Action
Get a subscription's live counts: active, dead-lettered and transfer message counts. The topic-side twin of Get Queue Runtime Properties, and the read a monitoring flow is built on.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Subscription | string | Required | billing — messages live on the subscription, never on the topic |
Returns: id, result, active_message_count, dead_letter_message_count, tool_result, success, error
09Topic
Azure Service Bus: Create Topic
messagebrokers/azureservicebus/topic_create · Action
Create a topic. A topic on its own is a black hole: messages sent to a topic with no subscriptions are discarded and the send still reports success. Create at least one subscription before sending.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Default Message TTL (seconds) | integer | Blank for the maximum | |
| Max Size (MB) | integer | 1024 | |
| Requires Duplicate Detection (IMMUTABLE) | boolean | Cannot be added after creation | |
| Duplicate Detection Window (seconds) | integer | 600 | |
| Support Ordering | boolean | Forward to subscriptions in order | |
| Enable Partitioning (IMMUTABLE) | boolean | ||
| Auto-Delete On Idle (seconds) | integer | Blank to never auto-delete; minimum 300 when set | |
| Notes | string | Free text stored on the topic |
Returns: id, result, tool_result, success, error
Azure Service Bus: Delete Topic
messagebrokers/azureservicebus/topic_delete · Action
Delete a topic, all of its subscriptions, and every message on them. There is no undo.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
Returns: id, result, tool_result, success, error
Azure Service Bus: Get Many Topics
messagebrokers/azureservicebus/topic_list · Action
List the topics in the namespace with their configuration. Needs a namespace-level connection string or an Entra principal.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Limit | integer | 50 (max 100) |
Returns: results, count, tool_result, success, error
Azure Service Bus: Send to Topic
messagebrokers/azureservicebus/topic_send · Action
Send one message to a Service Bus topic, which fans it out to the subscriptions whose filter rules match. A topic with no subscriptions silently discards every message and still reports success — check Get Many Subscriptions if messages seem to vanish.
| Field | Type | Details | |
|---|---|---|---|
| Namespace | string | myns.servicebus.windows.net — the host only, no sb:// prefix | |
| Topic | string | Required | order-events |
| Body | text | Required | {"order":123} — text or JSON. The 256KB Standard-tier cap covers headers and properties too, not just this |
| Content Type | string | application/json | |
| Message ID | string | Free-form. Only de-duplicates if the queue was CREATED with duplicate detection — the flag cannot be added later | |
| Session ID | string | Required if the entity was created with sessions; ignored if it was not | |
| Correlation ID | string | Usually the Message ID this is a reply to | |
| Subject | string | order.created — like an email subject line; correlation filters match on it | |
| Reply To | string | The queue a reply should be sent to | |
| To | string | Advisory only — Service Bus does not route on this | |
| Partition Key | string | Keeps related messages on one partition; ignored on a non-partitioned entity | |
| Time To Live (seconds) | integer | Blank for the entity's default. A longer TTL than the entity's is silently shortened to it | |
| Application Properties (JSON) | object | {"tenant":"acme"} — custom metadata; counts towards the size cap | |
| Scheduled Enqueue Time | string | 2026-07-17T09:30:00Z — RFC3339. Use Schedule Message instead if you may need to cancel it |
Returns: id, result, tool_result, success, error
10Notes & Limitations
Behaviours and constraints worth knowing before you build with these nodes.
- Microsoft Entra authentication needs a data-plane role on the namespace — Azure Service Bus Data Sender, Receiver or Owner — because a subscription Owner or Contributor role alone does not grant permission to send or receive messages.
- Messages are limited to 256 KB on the Basic and Standard tiers; only a Premium namespace accepts payloads up to 100 MB.
- You receive messages from a subscription, not from a topic directly — a topic only fans each published message out to its subscriptions.
- A message published to a topic that has no matching subscription is silently discarded, so create the subscription and its rule before sending to it.
- The management actions that create or list queues, topics and subscriptions act only within the namespace you connect to, so point the node at the namespace that holds them.