Publish directly to an AWS IoT Rules Engine rule using Basic Ingest topics ($aws/rules/rule-name/...) to avoid standard message broker publish costs
domain: iot · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Grant the device or application an IoT policy with publish permission on $aws/rules/* (or scope to a specific rule with $aws/rules/rule_name/*)
Publish to a topic whose first three levels are $aws/rules/rule_name, followed by any custom topic segments your rule's SQL statement expects (e.g. $aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights)
If the rule is invoked only via Basic Ingest, the FROM clause in the rule's SQL is optional; keep FROM if the same rule is also invoked through normal message broker topics
Publish with QoS 1 if you need delivery acknowledgment; you receive a PUBACK once the message reaches the rules engine, which does not guarantee the rule's actions succeeded
Configure an error action on the rule to catch and handle failures, since Basic Ingest bypasses the pub/sub broker and cannot fan out to multiple subscribers
Known gotchas
Basic Ingest topics are reserved: clients and rules cannot subscribe to them, so use them only for one-way ingestion into a single rule, not for multi-subscriber distribution
The $aws/rules/rule_name prefix is excluded from the 8-segment and 256-character topic limits and is not visible to the topic() SQL function
A Basic Ingest message referencing an inactive or nonexistent rule generates a CloudWatch error log and a RuleNotFound metric instead of any error back to the publisher
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?