What do you want to automate

with Kafka and RabbitMQ?

Prompt, edit and deploy AI agents that connect to Kafka, RabbitMQ and 2,500+ other apps in seconds.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Integrate the Kafka API with the RabbitMQ API
Setup the Kafka API trigger to run a workflow which integrates with the RabbitMQ API. Pipedream's integration platform allows you to integrate Kafka and RabbitMQ remarkably fast. Free for developers.

Connect Kafka

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { Kafka } from "kafkajs"
export default defineComponent({
  props: {
    kafka: {
      type: "app",
      app: "kafka",
    }
  },
  async run({steps, $}) {

    const kafka = new Kafka({
      brokers: [`${this.kafka.$auth.host}:${this.kafka.$auth.port}`],
    });

    const consumer = kafka.consumer({ groupId: 'TestGroup' });
    await consumer.connect()
    await consumer.subscribe({ topic: 'SampleTopic', fromBeginning: true });
    let consumedMessage = "";
    const eachMessage = async function({ topic, partition, message }){
      consumedMessage = message.value.toString();
      return consumedMessage;
    };  

    await consumer.run({
      eachMessage,
    });

    const producer = kafka.producer();  
    await producer.connect()
    await producer.send({
      topic: 'SampleTopic',
      messages: [
        { value: 'Welcome KafkaJS + Pipedream users! '+ new Date().toISOString() },
      ],
    });
    await producer.disconnect();

    const data = await consumer.describeGroup();
    return { consumedMessage, groupDescription: data };
  },
})

Connect RabbitMQ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import amqp from "amqplib";

export default defineComponent({
  props: {
    rabbitmq: {
      type: "app",
      app: "rabbitmq",
    }
  },
  async run({ steps, $ }) {
    const url = `amqp://${this.rabbitmq.$auth.username}:${this.rabbitmq.$auth.password}@${this.rabbitmq.$auth.host}:${this.rabbitmq.$auth.port}`;
    const connection = await amqp.connect(url);
    const channel = await connection.createChannel();
    const queue = 'Sample Queue';
    await channel.assertQueue(queue, { durable: true });
    const message = 'Welcome RabbitMQ + Pipedream users! ' + new Date().toISOString()
    channel.sendToQueue(queue, Buffer.from(message), { persistent: true });
    console.log(`Sent: ${message}`);
    const queueInfo = await channel.checkQueue(queue);
    return queueInfo;
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo