Cloud

Components Catalog

Use the following table to search for available inputs, outputs, and processors.

memory

Stores consumed messages in memory and acknowledges them at the input level.

Type
Support
Certified

none

Do not buffer messages. This is the default and most resilient configuration.

Support
Certified

system_window

Chops a stream of messages into tumbling or sliding windows of fixed temporal size, following the system clock.

Type
Support
Certified

aws_dynamodb

Stores key/value pairs as a single document in a DynamoDB table.

Type
Support
Community
AWS DynamoDB Amazon DynamoDB DynamoDB

aws_s3

Stores each item in an S3 bucket as a file, where an item ID is the path of the item within the bucket.

Support
Certified
AWS S3 Amazon S3 S3 Simple Storage Service

gcp_cloud_storage

Use a Google Cloud Storage bucket as a cache.

Support
Certified
GCP Cloud Storage Google Cloud Storage GCS

lru

Stores key/value pairs in a lru in-memory cache. This cache is therefore reset every time the service restarts.

Type
Support
Community

memcached

Connects to a cluster of memcached services, a prefix can be specified to allow multiple cache types to share a memcached cluster under different...

Type
Support
Community

mongodb

Use a MongoDB instance as a cache.

Support
Certified
Mongo

multilevel

Combines multiple caches as levels, performing read-through and write-through operations across them.

Type
Support
Certified

nats_kv

Caches key/value pairs in a NATS key-value bucket.

Support
Certified
NATS KV

noop

Noop is a cache that stores nothing, all gets returns not found. Why? Sometimes doing nothing is the braver option.

Support
Certified

redis

Use a Redis instance as a cache. The expiration can be set to zero or an empty string in order to set no expiration.

Support
Certified

redpanda

A Kafka cache implemented using the Franz Kafka client library.

Support
Certified

ristretto

Stores key/value pairs in a map held in the memory-bound Ristretto cache.

Type
Support
Community

sql

Uses an SQL database table as a destination for storing cache key/value items.

Type
Support
Certified Community

ttlru

Stores key/value pairs in a ttlru in-memory cache. This cache is therefore reset every time the service restarts.

Type
Support
Community

amqp_0_9

Connects to an AMQP (0.91) queue. AMQP is a messaging protocol used by various message brokers, including RabbitMQ.

Type
Support
Certified
RabbitMQ AMQP

aws_cloudwatch_logs

Consumes log events from AWS CloudWatch Logs.

Type
Support
Community
AWS CloudWatch Logs Amazon CloudWatch Logs

aws_dynamodb_cdc

Reads change data capture (CDC) events from DynamoDB Streams.

Type
Support
Certified
Amazon DynamoDB CDC

aws_kinesis

Receive messages from one or more Kinesis streams.

Type
Support
Certified
AWS Kinesis Amazon Kinesis Kinesis

aws_sqs

Consume messages from an AWS SQS URL.

Type
Support
Certified
AWS SQS Amazon SQS SQS Simple Queue Service

azure_blob_storage

Downloads objects within an Azure Blob Storage container, optionally filtered by a prefix.

Type
Support
Certified
Azure Blob Storage Microsoft Azure Storage

azure_cosmosdb

Executes a SQL query against Azure CosmosDB and creates a batch of messages from each page of items.

Support
Certified
Microsoft Azure Azure

azure_queue_storage

Dequeue objects from an Azure Storage Queue.

Type
Support
Certified
Azure Queue Storage Microsoft Azure Queue

azure_table_storage

Queries an Azure Storage Account Table, optionally with multiple filters.

Type
Support
Certified
Azure Table Storage Microsoft Azure Table

batched

Consumes data from a child input and applies a batching policy to the stream.

Type
Support
Certified

broker

Allows you to combine multiple inputs into a single stream of data, where each input will be read in parallel.

Type
Support
Certified

csv

Reads one or more CSV files as structured records following the format described in RFC 4180.

Type
Support
Certified
Comma-Separated Values

gateway

Receive messages delivered over HTTP.

Type
Support
Certified

gcp_bigquery_select

Executes a SELECT query against BigQuery and creates a message for each row received.

Support
Certified
GCP BigQuery Google Cloud GCP

gcp_pubsub

Consumes messages from a GCP Cloud Pub/Sub subscription.

Type
Support
Certified
GCP PubSub Google Cloud Pub/Sub GCP Pub/Sub Google Pub/Sub

gcp_spanner_cdc

Consumes change records from a Google Cloud Spanner change stream.

Type
Support
Certified
Google Cloud GCP

generate

Generates messages at a given interval using a Bloblang mapping executed without a context.

Type
Support
Certified

git

Clones a Git repository, reads its contents, then polls for new commits at a configurable interval.

Type
Support
Certified

http_client

Connects to a server and continuously performs requests for a single message.

Type
Support
Certified
HTTP REST API REST

http_server

Receive messages POSTed over HTTP(S). HTTP 2.0 is supported when using TLS, which is enabled when key and cert files are specified.

Type
Support
Certified
HTTP REST API REST Gateway

inproc

Directly connects to an output within the same process by a chosen ID, to link isolated streams when running in streams mode.

Type
Support
Certified

jira

Streams Jira issues, comments, or changelog entries via JQL with incremental polling.

Support
Certified
Atlassian Jira

kafka

Connects to Kafka brokers and consumes one or more topics.

Type
Support
Certified
Apache Kafka

kafka_franz

A Kafka input using the Franz Kafka client library.

Type
Support
Certified
Apache Kafka Kafka

microsoft_sql_server_cdc

Enables Change Data Capture by consuming from Microsoft SQL Server's change tables.

Type
Support
Certified

mongodb_cdc

Streams changes from a MongoDB replica set.

Type
Support
Certified
MongoDB CDC

mqtt

Subscribe to topics on MQTT brokers.

Type
Support
Certified

mysql_cdc

Streams data changes from a MySQL or MariaDB database, using the binary log to capture data updates.

Type
Support
Certified

nats

Subscribes to a NATS subject.

Type
Support
Certified
NATS.io

nats_jetstream

Reads messages from NATS JetStream subjects.

Type
Support
Certified
NATS JetStream NATS

oracledb_cdc

Enables Change Data Capture by consuming from OracleDB.

Type
Support
Certified
Oracle CDC OracleDB CDC Oracle Database CDC

otlp_grpc

Receive OpenTelemetry traces, logs, and metrics via OTLP/gRPC protocol.

Type
Support
Certified
OpenTelemetry OTLP OTel gRPC

otlp_http

Receive OpenTelemetry traces, logs, and metrics via OTLP/HTTP protocol.

Type
Support
Certified
OpenTelemetry OTLP OTel

pg_stream

Streams changes from a PostgreSQL database using logical replication.

Type
Input
Support
Certified

postgres_cdc

Streams changes from a PostgreSQL database using logical replication.

Type
Support
Certified

read_until

Reads messages from a child input until a consumed message passes a Bloblang query, at which point the input closes.

Type
Support
Certified

redis_list

Pops messages from the beginning of a Redis list using the BLPop command.

Type
Support
Certified
Redis List Redis Lists Redis

redis_pubsub

Consume from a Redis publish/subscribe channel using either the SUBSCRIBE or PSUBSCRIBE commands.

Type
Support
Certified
Redis PubSub Redis Pub/Sub Redis

redis_scan

Scans the set of keys in the current selected database and gets their values, using the Scan and Get commands.

Type
Support
Certified
Redis

redis_streams

Pulls messages from Redis (v5.0+) streams with the XREADGROUP command. The client_id should be unique for each consumer of a group.

Type
Support
Certified
Redis Streams Redis

redpanda_common

Consumes data from a Redpanda (Kafka) broker, using credentials defined in a common top-level redpanda config block.

Type
Support
Certified

redpanda_migrator

Consumes records from a source Kafka or Redpanda cluster for the redpanda_migrator output to migrate.

Type
Support
Certified

resource

Resource is an input type that channels messages from a resource input, identified by its name.

Support
Certified

salesforce

Executes a Salesforce SOQL query once and emits a message for each record.

Type
Support
Certified

salesforce_cdc

Streams Salesforce Change Data Capture (CDC) and Platform Events from the Pub/Sub gRPC API, optionally preceded by a REST snapshot of the...

Type
Support
Certified
Salesforce Salesforce CDC

salesforce_graphql

Executes a Salesforce GraphQL (UIAPI) query once and emits a message for each record.

Type
Support
Certified
Salesforce Salesforce GraphQL

sap_hana

Reads rows from a SAP HANA table.

Type
Support
Certified
SAP HANA

schema_registry

Reads schemas from a schema registry.

Type
Support
Certified

sequence

Reads messages from a sequence of child inputs, starting with the first and once that input gracefully terminates starts consuming from the next,...

Type
Support
Certified

sftp

Consumes files from an SFTP server.

Type
Support
Certified

slack

Connects to Slack using Socket Mode and receives events, interactions, and slash commands.

Type
Support
Certified

slack_users

Returns the full profile of all users in your Slack organization using the users.list API method. You can filter the returned users by team ID.

Type
Support
Certified
Slack Users

spicedb_watch

Consume messages from the Watch API from SpiceDB.

Type
Support
Community

splunk

Consumes messages from Splunk.

Type
Support
Certified

sql_raw

Executes a select query and creates a message for each row received.

Support
Certified: MYSQL, Oracle, PostgreSQL, SQLiteCommunity: ClickHouse, Azure Cosmos DB, Microsoft SQL Server, Snowflake, Trino
SQL PostgreSQL MySQL Microsoft SQL Server ClickHouse Trino

sql_select

Executes a select query and creates a message for each row received.

Support
Certified: MYSQL, Oracle, PostgreSQL, SQLiteCommunity: ClickHouse, Azure Cosmos DB, Microsoft SQL Server, Snowflake, Trino
SQL PostgreSQL MySQL Microsoft SQL Server ClickHouse Trino

timeplus

Executes a query on Timeplus Enterprise and creates a message from each row received.

Type
Support
Community

websocket

Connects to a websocket server and continuously receives messages.

Type
Support
Certified

open_telemetry_collector

Sends metrics to one or more OpenTelemetry Collector endpoints.

Type
Support
Certified
OpenTelemetry

prometheus

Host endpoints (/metrics and /stats) for Prometheus scraping.

Type
Support
Certified

arc

Writes data to an Arc database via the msgpack ingestion endpoint.

Type
Support
Community

aws_kinesis_firehose

Sends messages to a Kinesis Firehose delivery stream.

Type
Support
Certified
AWS Kinesis Firehose Amazon Kinesis Firehose Kinesis Firehose

aws_sns

Sends messages to an AWS SNS topic.

Type
Support
Community
AWS SNS Amazon SNS SNS Simple Notification Service

azure_data_lake_gen2

Sends message parts as files to an Azure Data Lake Gen2 filesystem. Each file is uploaded with the filename specified with the path field.

Type
Support
Certified
Microsoft Azure Azure

cache

Stores each message in a cache.

Support
Certified

cyborgdb

Inserts items into a CyborgDB encrypted vector index.

Type
Support
Community

drop

Drops all messages.

Type
Support
Certified

drop_on

Attempts to write messages to a child output and if the write fails for one of a list of configurable reasons the message is dropped (acked)...

Type
Support
Certified

elasticsearch_v8

Publishes messages into an Elasticsearch index. If the index does not exist then it is created with a dynamic mapping.

Type
Support
Certified

fallback

Attempts to send each message to a child output, starting from the first output on the list.

Type
Support
Certified

gcp_bigquery

Sends messages as new rows to a Google Cloud BigQuery table.

Type
Support
Certified
GCP BigQuery Google BigQuery BigQuery

gcp_bigquery_write_api

Streams data into BigQuery using the Storage Write API.

Type
Support
Certified
GCP BigQuery

iceberg

Writes data to Apache Iceberg tables using the REST catalog API.

Type
Support
Certified
Apache Iceberg Apache Polaris AWS Glue Databricks Unity Catalog

opensearch

Publishes messages into an Elasticsearch index. If the index does not exist then it is created with a dynamic mapping.

Type
Support
Certified

pinecone

Inserts items into a Pinecone index.

Type
Support
Certified

qdrant

Adds items to a Qdrant collection.

Support
Certified

questdb

Pushes messages to a QuestDB table.

Type
Support
Certified

redis_hash

Sets Redis hash objects using the HSET command.

Type
Support
Certified
Redis Hash Redis

reject

Rejects all messages, treating them as though the output destination failed to publish them.

Type
Support
Certified

reject_errored

Rejects messages that have failed their processing steps, resulting in nack behavior at the input level, otherwise sends them to a child output.

Type
Support
Certified

retry

Attempts to write messages to a child output and if the write fails for any reason the message is retried either until success or, if the retries...

Support
Certified

salesforce_sink

Writes messages to Salesforce, routing each Kafka topic to its own sObject configuration.

Type
Support
Certified
Salesforce Salesforce Sink

slack_post

Posts a new message to a Slack channel using the Slack API method chat.postMessage.

Type
Support
Certified
Slack Post

slack_reaction

Adds or removes an emoji reaction on a Slack message.

Type
Support
Certified
Slack Reaction

snowflake_put

Sends messages to Snowflake stages and, optionally, calls Snowpipe to load this data into one or more tables.

Type
Support
Certified
Snowflake

snowflake_streaming

Ingests data into Snowflake using the Snowpipe Streaming classic architecture.

Type
Support
Certified
Snowflake Streaming

snowflake_streaming_pipe

Ingest data into Snowflake using Snowpipe Streaming, writing through a Snowflake pipe.

Type
Support
Certified
Snowflake Streaming Pipe

splunk_hec

Publishes messages to a Splunk HTTP Endpoint Collector (HEC).

Type
Support
Certified
Splunk

sql_insert

Inserts a row into an SQL database for each message.

Support
Certified: MYSQL, Oracle, PostgreSQL, SQLiteCommunity: ClickHouse, Azure Cosmos DB, Microsoft SQL Server, Snowflake, Trino
SQL PostgreSQL MySQL Microsoft SQL Server ClickHouse Trino

switch

The switch output type allows you to route messages to different outputs based on their contents.

Support
Certified

sync_response

Returns the final message payload back to the input origin of the message, where it is dealt with according to that specific input type.

Support
Certified

a2a_message

Sends messages to an A2A (Agent-to-Agent) protocol agent and returns the response.

Type
Support
Certified

archive

Archives all the messages of a batch into a single message according to the selected archive format.

Type
Support
Certified
ZIP TAR GZIP

avro

Performs Avro based operations on messages based on a schema.

Support
Community

aws_bedrock_chat

Generates responses to messages in a chat conversation, using the AWS Bedrock API.

Type
Support
Certified
Amazon AWS Bedrock Chat

aws_bedrock_embeddings

Computes vector embeddings on text, using the AWS Bedrock API.

Type
Support
Certified
Amazon AWS Bedrock Embeddings

aws_dynamodb_partiql

Executes a PartiQL expression against a DynamoDB table for each message.

Type
Support
Certified
Amazon AWS DynamoDB PartiQL

aws_lambda

Invokes an AWS lambda for each message.

Type
Support
Certified
AWS Lambda Amazon Lambda Lambda

benchmark

Logs basic throughput statistics of messages that pass through this processor.

Type
Support
Certified

bloblang

Executes a Bloblang mapping on messages.

Type
Support
Certified

bounds_check

Removes messages (and batches) that do not fit within certain size boundaries.

Type
Support
Certified

branch

The branch processor allows you to create a new request message via a Bloblang mapping, execute a list of processors on the request messages, and,...

Type
Support
Certified

cached

Cache the result of applying one or more processors to messages identified by a key.

Type
Support
Certified

catch

Applies a list of child processors only when a previous processing step has failed.

Type
Support
Certified

cohere_chat

Generates responses to messages in a chat conversation, using the Cohere API.

Type
Support
Certified

cohere_embeddings

Generates vector embeddings to represent input text, using the Cohere API.

Type
Support
Certified

cohere_rerank

Reranks a list of documents by their relevance to a query, using the Cohere API.

Type
Support
Certified

compress

Compresses messages according to the selected algorithm. Supported compression algorithms are: [flate gzip lz4 pgzip snappy zlib]

Type
Support
Certified

decompress

Decompresses messages according to the selected algorithm. Supported decompression algorithms are: [bzip2 flate gzip lz4 pgzip snappy zlib]

Support
Certified

dedupe

Deduplicates messages by storing a key value in a cache using the add operator. If the key already exists within the cache it is dropped.

Type
Support
Certified

for_each

A processor that applies a list of child processors to messages of a batch as though they were each a batch of one message.

Type
Support
Certified

gcp_vertex_ai_chat

Generates responses to messages in a chat conversation, using the Vertex AI API.

Type
Support
Certified
GCP Vertex AI Google Cloud GCP

gcp_vertex_ai_embeddings

Generates vector embeddings to represent input text, using the Vertex AI API.

Type
Support
Certified
Google Cloud GCP

google_drive_download

Downloads files from Google Drive.

Type
Support
Certified

google_drive_list_labels

Lists labels for a file in Google Drive.

Type
Support
Certified

google_drive_search

Searches Google Drive for files matching the provided query.

Type
Support
Certified

group_by

Splits a batch of messages into N batches, where each resulting batch contains a group of messages determined by a Bloblang query.

Type
Support
Certified

group_by_value

Splits a batch of messages into N batches, where each resulting batch contains a group of messages determined by a function interpolated string...

Type
Support
Certified

http

Performs an HTTP request using a message batch as the request body, and replaces the original message parts with the body of the response.

Type
Support
Certified

insert_part

Insert a new message into a batch at an index. If the specified index is greater than the length of the existing batch it will be appended to the end.

Type
Support
Certified

jmespath

Executes a JMESPath query on JSON documents and replaces the message with the resulting document.

Type
Support
Certified

jq

Transforms and filters messages using jq queries.

Type
Support
Certified

json_schema

Checks messages against a provided JSONSchema definition but does not change the payload under any circumstances.

Type
Support
Certified
JSON Schema

log

Prints a log event for each message.

Type
Support
Certified

mapping

Executes a Bloblang mapping on messages, creating a new document that replaces (or filters) the original message.

Type
Support
Certified

metric

Emit custom metrics by extracting values from messages.

Type
Support
Certified

mutation

Executes a Bloblang mapping and directly transforms the contents of messages, mutating (or deleting) them.

Type
Support
Certified

nats_request_reply

Sends a message to a NATS subject and expects a reply back from a NATS subscriber acting as a responder.

Type
Support
Certified
NATS Request Reply

ollama_chat

Generates responses to messages in a chat conversation, using the Ollama API.

Type
Support
Certified

ollama_embeddings

Generates vector embeddings from text, using the Ollama API.

Type
Support
Certified

ollama_moderation

Checks whether responses from a large language model (LLM) are safe, using the Ollama API.

Type
Support
Certified

openai_chat_completion

Generates responses to messages in a chat conversation, using the OpenAI API.

Type
Support
Certified

openai_embeddings

Generates vector embeddings to represent input text, using the OpenAI API.

Type
Support
Certified

openai_image_generation

Generates an image from a text description and other attributes, using OpenAI API.

Type
Support
Certified

openai_speech

Generates audio from a text description and other attributes, using OpenAI API.

Type
Support
Certified

openai_transcription

Generates a transcription of spoken audio in the input language, using the OpenAI API.

Type
Support
Certified

openai_translation

Translates spoken audio into English, using the OpenAI API.

Type
Support
Certified

parallel

A processor that applies a list of child processors to messages of a batch as though they were each a batch of one message (similar to the...

Type
Support
Certified

parquet_decode

Decodes Parquet files into a batch of structured messages.

Type
Support
Certified

parquet_encode

Encodes Parquet files from a batch of structured messages.

Type
Support
Certified

parse_log

Parses common log formats into structured data. This is easier and often much faster than grok.

Type
Support
Community

processors

A processor grouping several sub-processors.

Type
Support
Certified

rate_limit

Throttles the throughput of a pipeline according to a specified rate_limit resource.

Type
Support
Certified

redis_script

Performs actions against Redis using LUA scripts.

Type
Support
Certified
Redis Script

schema_registry_decode

Automatically decodes and validates messages with schemas from a Confluent Schema Registry service.

Type
Support
Certified

schema_registry_encode

Automatically encodes and validates messages with schemas from a Confluent Schema Registry service.

Type
Support
Certified

select_parts

Cherry pick a set of messages from a batch by their index. Indexes larger than the number of messages are simply ignored.

Type
Support
Certified

slack_thread

Reads a Slack thread using the Slack API method conversations.replies.

Type
Support
Certified
Slack Thread

sleep

Sleep for a period of time specified as a duration string for each message.

Type
Support
Certified

split

Breaks message batches (synonymous with multiple part messages) into smaller batches.

Type
Support
Certified

string_split

Splits a string by a delimiter into an array.

Type
Support
Certified

text_chunker

Breaks text-based message content into chunks using a configurable strategy, typically to create vector embeddings of large documents.

Type
Support
Certified

try

Executes a list of child processors on messages only if no prior processors have failed (or the errors have been cleared).

Type
Support
Certified

try_catch

Executes a list of child processors on each message and, if any of them fail, executes a separate list of catch processors to recover from or...

Type
Support
Community

unarchive

Unarchives messages according to the selected archive format into multiple messages within a batch.

Type
Support
Certified
ZIP TAR GZIP Archive

while

A processor that checks a Bloblang query against each batch of messages and executes child processors on them for as long as the query resolves to...

Type
Support
Certified

workflow

Executes a topology of branch processors, performing them in parallel where possible.

Type
Support
Certified

xml

Parses messages as an XML document, performs a mutation on the data, and then overwrites the previous contents with the new value.

Type
Support
Community

local

A simple X every Y rate limit that can be shared across any number of components within a pipeline.

Type
Support
Certified

chunker

Split an input stream into chunks of a given number of bytes.

Type
Support
Certified

json_array

Consumes a stream of one or more JSON elements within a top level array.

Type
Support
Community

json_documents

Consumes a stream of one or more JSON documents.

Type
Support
Certified

lines

Split an input stream into a message per line of data.

Type
Support
Certified

re_match

Split an input stream into segments matching against a regular expression.

Type
Support
Certified

skip_bom

Skip one or more byte order marks for each opened child scanner.

Type
Support
Certified

tar

Consume a tar archive file by file.

Type
Support
Certified

to_the_end

Read the input stream all the way until the end and deliver it as a single message.

Type
Support
Certified

gcp_cloudtrace

Send tracing events to a Google Cloud Trace.

Type
Support
Certified
GCP Cloud Trace

About Components

Every Redpanda Connect pipeline has at least one input, an optional buffer, an output and any number of processors:

input:
  kafka:
    addresses: [ TODO ]
    topics: [ foo, bar ]
    consumer_group: foogroup

buffer:
  type: none

pipeline:
  processors:
  - mapping: |
      message = this
      meta.link_count = links.length()

output:
  aws_s3:
    bucket: TODO
    path: '${! meta("kafka_topic") }/${! json("message.id") }.json'

These are the main components within Redpanda Connect and they provide the majority of useful behavior.

Observability components

There are also the observability components: logger, metrics, and tracing, which allow you to specify how Redpanda Connect exposes observability data.

http:
  address: 0.0.0.0:4195
  enabled: true
  debug_endpoints: false

logger:
  format: json
  level: WARN

metrics:
  statsd:
    address: localhost:8125
    flush_period: 100ms

tracer:
  jaeger:
    agent_address: localhost:6831

Resource components

Finally, there are caches and rate limits. These are components that are referenced by core components and can be shared.

input:
  http_client: # This is an input
    url: TODO
    rate_limit: foo_ratelimit # This is a reference to a rate limit

pipeline:
  processors:
    - cache: # This is a processor
        resource: baz_cache # This is a reference to a cache
        operator: add
        key: '${! json("id") }'
        value: "x"
    - mapping: root = if errored() { deleted() }

rate_limit_resources:
  - label: foo_ratelimit
    local:
      count: 500
      interval: 1s

cache_resources:
  - label: baz_cache
    memcached:
      addresses: [ localhost:11211 ]

It’s also possible to configure inputs, outputs and processors as resources which allows them to be reused throughout a configuration with the resource input, resource output and resource processor respectively.

For more information about any of these component types check out their sections: