Skip to content

Destination - Cloudflare Queues #655

@Swahjak

Description

@Swahjak

Is your feature request related to a problem? Please describe.

We run our integration platform on Cloudflare Workers with CF Queues for async processing. Outpost's filtering and subscription management capabilities would be perfect for our event fan-out needs, but we can't deliver events directly to our existing CF Queues infrastructure.

Currently, to get events from Outpost into CF Queues, we'd need to:

  1. Set up a webhook destination pointing to a CF Worker
  2. Have that Worker validate and forward to the Queue

This adds an extra network hop, additional Worker invocations (cost), and another failure point in the delivery chain.

Describe the solution you'd like

Add a cloudflare_queues destination type that publishes directly to Cloudflare Queues via the Queues HTTP API.

Configuration fields:

  • account_id (required) - Cloudflare Account ID
  • queue_id (required) - Queue ID to publish to

Credential fields:

  • api_token (required, sensitive) - Cloudflare API Token with queues:write permission

API endpoint:

POST https://api.cloudflare.com/client/v4/accounts/{account_id}/queues/{queue_id}/messages
Authorization: Bearer {api_token}
Content-Type: application/json

{
  "messages": [{ "body": <event_payload> }]
}

The implementation would follow the existing AWS SQS pattern — both are managed queue services with HTTP APIs.

Describe alternatives you've considered

  1. Webhook → Worker → Queue proxy: Works but adds latency, cost, and complexity
  2. AWS SQS or GCP Pub/Sub: Would require moving off Cloudflare infrastructure or running hybrid, adding operational overhead
  3. Build custom event router: We're evaluating this but would prefer to use Outpost if it supported our infrastructure

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions