Easily build event-driven applications

Open-source AWS EventBridge alternative
Unified eventing experience
Developer-friendly CLI
Runs on Docker or natively on Kubernetes
Get started
Illustration of how TriggerMesh works

Trusted by

Adenza
GitLab
ManoMano
ONUG
PNS Bank
Pragna
SAP
WMWARE
Adenza
GitLab
ManoMano
ONUG
PNS Bank
Pragna
SAP
WMWARE

Easily capture, route, and deliver events

Get started and create your first Broker in minutes.Then, create event source and targets. Pick between an interactive CLI or declarative YAML configuration.
Get started
$
brew install triggermesh.com/tmctl
Copied
$
tmctl create broker mybroker
Copied
$
tmctl send-event {“hello”:”world”}
Copied
$
curl -sSfL https://raw.githubusercontent.com/triggermesh/tmctl/HEAD/hack/install.sh | sh
Copied
$
tmctl send-event {“hello”:”world”}
Copied
$
tmctl send-event {“hello”:”world”}
Copied
$
tmctl create source awss3 --eventTypes s3:ObjectCreated:* --arn <bucket:arn>
Copied
$
tmctl create target cloudevents --endpoint https://example.com/my-function --source mybroker-awss3source
Copied
apiVersion: sources.triggermesh.io/v1alpha1
kind: AWSS3Source
metadata:
  name: s3source
spec:
  arn: <arn>

  eventTypes:
  - s3:ObjectCreated:*

  auth:
    credentials:
      accessKeyID:
        valueFromSecret:
          name: awscreds
          key: aws_access_key_id
      secretAccessKey:
        valueFromSecret:
          name: awscreds
          key: aws_secret_access_key

  sink:
    ref:
      apiVersion: eventing.triggermesh.io/v1alpha1
      kind: RedisBroker
      name: mybroker

---

apiVersion: eventing.triggermesh.io/v1alpha1
kind: Trigger
metadata:
  name: s3trigger
spec:
  broker:
    kind: RedisBroker
    group: eventing.triggermesh.io
    name: mybroker
  filters:
  - any:
    - exact:
        type: s3:ObjectCreated:*
  target:
    ref:
       apiVersion: v1alpha1
       kind: CloudEventsTarget
       name: mybroker-cloudeventstarget

---

apiVersion: targets.triggermesh.io/v1alpha1
kind: CloudEventsTarget
metadata:
  name: mybroker-cloudeventstarget
spec:
  endpoint: https://example.com/my-function
$
tmctl create source awscodecommit --arn <arn> --branch master --eventTypes com.amazon.codecommit.pull_request
Copied
$
tmctl create target cloudevents --endpoint https://example.com/pii-scan-function.py --source broker-awscodecommitsource
Copied
apiVersion: sources.triggermesh.io/v1alpha1
kind: AWSCodeCommitSource
metadata:
  name: mybroker-awscodecommitsource
spec:
  arn: <arn>
  branch: master

  eventTypes:
  - pull_request

  auth:
    credentials:
      accessKeyID:
        valueFromSecret:
          name: awscreds
          key: aws_access_key_id
      secretAccessKey:
        valueFromSecret:
          name: awscreds
          key: aws_secret_access_key

  sink:
    ref:
      apiVersion: eventing.triggermesh.io/v1alpha1
      kind: RedisBroker
      name: mybroker

---

apiVersion: eventing.triggermesh.io/v1alpha1
kind: Trigger
metadata:
  name: codecommittrigger
spec:
  broker:
    kind: RedisBroker
    group: eventing.triggermesh.io
    name: mybroker
  filters:
  - any:
    - exact:
        type: com.amazon.codecommit.pull_request
  target:
    ref:
       apiVersion: v1alpha1
       kind: CloudEventsTarget
       name: mybroker-cloudeventstarget

---

apiVersion: targets.triggermesh.io/v1alpha1
kind: CloudEventsTarget
metadata:
  name: mybroker-cloudeventstarget
spec:
  endpoint: https://example.com/pii-scan-function.py
$
tmctl create source googlecloudauditlogs --serviceName reports.googleapis.com --methodName google.admin.reports.v1.suspicious_login --pubsub.project my-project --serviceAccountKey $(cat ./key.txt)
Copied
$
tmctl create target kafka --topic suspicious-logins --bootstrapServers 127.0.0.1:47561 --source broker-googlecloudauditlogs
Copied
apiVersion: sources.triggermesh.io/v1alpha1
kind: GoogleCloudAuditLogsSource
metadata:
  name: auditlogssource
spec:
  serviceName: reports.googleapis.com
  methodName: google.admin.reports.v1.suspicious_login

  pubsub:
    project: my-project
    # Alternatively, provide a pre-existing Pub/Sub topic:
    # topic: projects/my-project/topics/my-topic

  serviceAccountKey:
    value: >-
      {
        "type": "service_account",
        "project_id": "my-project",
        "private_key_id": "0000000000000000000000000000000000000000",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMIIE...\n-----END PRIVATE KEY-----\n",
        "client_email": "triggermesh-auditlogs-source@my-project.iam.gserviceaccount.com",
        "client_id": "000000000000000000000",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/triggermesh-auditlogs-source%40my-project.iam.gserviceaccount.com"
      }

  sink:
    ref:
      apiVersion: eventing.triggermesh.io/v1alpha1
      kind: RedisBroker
      name: mybroker

---

apiVersion: eventing.triggermesh.io/v1alpha1
kind: Trigger
metadata:
  name: auditlogstrigger
spec:
  broker:
    kind: RedisBroker
    group: eventing.triggermesh.io
    name: mybroker
  filters:
  - any:
    - exact:
        type: com.google.cloud.auditlogs.message
  target:
    ref:
       apiVersion: v1alpha1
       kind: KafkaTarget
       name: mybroker-kafkatarget

---

apiVersion: targets.triggermesh.io/v1alpha1
kind: KafkaTarget
metadata:
  name: mybroker-kafkatarget
spec:
  bootstrapServers:
  - 127.0.0.1:47561
  topic: suspicous-logins
  auth:
    saslEnable: true
    tlsEnable: false
    securityMechanism: PLAIN
    username: admin
    password:
      value: admin-secret

Introducing TriggerMesh

Who is it For?

Icon

Platform Engineers

Empower developers in your organization to write code that reacts to events from any cloud service or in-house application. Increase agility and reduce lead time. Keep producers and consumers decoupled.

See how ManoMano does it
Icon

Integration Developers

Connect SaaS applications and on-prem systems to unleash new productivity and innovation. Be agile and incremental and avoid bottlenecks.

Checkout our list of connectors
Icon

B2B Software Vendors

Grow your business by expanding your target market and landing more deals. TriggerMesh lets you quickly add new event flows and integrations to your software without disrupting core R&D efforts.

Ingest 3rd-party cloud audit logs

How It Works

Brokers provide unified access to events

Events from all sources are centralized in a broker in a standard format based on CloudEvents. Uniformly use Triggers to filter for specific events and route them to any destination.

A broker can be memory-only, backed Redis for durability, or leverage Knative.

Easily transform events

Add, move, or delete, or modify event metadata or content to match the requirements of event consumers. Remove useless fields to save bandwidth or hide sensitive information.

Use the TriggerMesh low-code transformation language, or for more flexibility you can write functions in python, node or ruby.

Built-in event types and schemas

When you connect a new source to a broker, it will know the types of events produced by that source. Use this information to simplify the writing of filters and transformations.

Archive and replay past events (preview)

TriggerMesh lets you archive events to longer term storage to be replayed at a later time.

Replay events to a new consumer, or recover from an issue by replaying already processed events to a recently patched service.

Run on Docker or natively on Kubernetes

TriggerMesh runs natively in Kubernetes thanks to its open-source custom resources and controllers. Bring events from any source into any containerised environment. Handle scaling, reliability, and auth the Kubernetes way.

It now also runs on just Docker, for easy local development and simpler deployments.

Connectors

Effortlessly integrate with the most popular event sources and destinations, or use standards like HTTP to ingest and deliver events to and from anywhere.
GitHub
GitHub
Twilio
Twilio
Slack
Slack
Zendesk
Zendesk
Elasticsearch
Elasticsearch
Splunk
Splunk
Confluent
Confluent
AWS lambda
AWS lambda
AWS EventBridge
AWS EventBridge
Google Sheets
Google Sheets
Google Pub/Sub
Google Pub/Sub
AWS Cognito
AWS Cognito
AWS Dynamo DB
AWS Dynamo DB
AWS SQS
AWS SQS
AWS Code Commit
AWS Code Commit
Azure Event Hubs
Azure Event Hubs
OracleDB
OracleDB
Apache Kafka
Apache Kafka
AWS Lambda
AWS Lambda
AWS SNS
AWS SNS
AWS Kinesis
AWS Kinesis
AWS S3
AWS S3
Google Storage
Google Storage
Webhooks
Webhooks
Salesforce
Salesforce
Azure Activity Logs
Azure Activity Logs
Azure Blob Storage
Azure Blob Storage
AWS EventBridge
AWS EventBridge
Datadog
Datadog
Hasura
Hasura
Logz.io
Logz.io
SendGrid
SendGrid
Splunk
Splunk
Tekton
Tekton
HTTP
HTTP
HTTP Poller
HTTP Poller
OCIMetrics
OCIMetrics
Zendesk
Zendesk
Azure EventGrid
Azure EventGrid
Azure IoT Hub
Azure IoT Hub
JIra
JIra
IBM MQ
IBM MQ
AWS CloudWatch
AWS CloudWatch
AWS CloudWatch Logs
AWS CloudWatch Logs
AWS Comprehend
AWS Comprehend
Alibaba OSS
Alibaba OSS
Google Cloud Firestore
Google Cloud Firestore
Google Cloud Workflows
Google Cloud Workflows
Google Cloud Billing
Google Cloud Billing
Azure Queue Storage
Azure Queue Storage
Azure Service Bus
Azure Service Bus
Google Cloud Audit Logs
Google Cloud Audit Logs
Azure Sentinel
Azure Sentinel
CloudEvents
CloudEvents
GitHub
GitHub
Twilio
Twilio
Slack
Slack
Zendesk
Zendesk
Elasticsearch
Elasticsearch
Splunk
Splunk
Confluent
Confluent
AWS lambda
AWS lambda
AWS EventBridge
AWS EventBridge
Google Sheets
Google Sheets
Google Pub/Sub
Google Pub/Sub
AWS Cognito
AWS Cognito
AWS Dynamo DB
AWS Dynamo DB
AWS SQS
AWS SQS
AWS Code Commit
AWS Code Commit
Azure Event Hubs
Azure Event Hubs
OracleDB
OracleDB
Apache Kafka
Apache Kafka
AWS Lambda
AWS Lambda
AWS SNS
AWS SNS
AWS Kinesis
AWS Kinesis
AWS S3
AWS S3
Google Storage
Google Storage
Webhooks
Webhooks
Salesforce
Salesforce
Azure Activity Logs
Azure Activity Logs
Azure Blob Storage
Azure Blob Storage
AWS EventBridge
AWS EventBridge
Datadog
Datadog
Hasura
Hasura
Logz.io
Logz.io
SendGrid
SendGrid
Splunk
Splunk
Tekton
Tekton
HTTP
HTTP
HTTP Poller
HTTP Poller
OCIMetrics
OCIMetrics
Zendesk
Zendesk
Azure EventGrid
Azure EventGrid
Azure IoT Hub
Azure IoT Hub
JIra
JIra
IBM MQ
IBM MQ
AWS CloudWatch
AWS CloudWatch
AWS CloudWatch Logs
AWS CloudWatch Logs
AWS Comprehend
AWS Comprehend
Alibaba OSS
Alibaba OSS
Google Cloud Firestore
Google Cloud Firestore
Google Cloud Workflows
Google Cloud Workflows
Google Cloud Billing
Google Cloud Billing
Azure Queue Storage
Azure Queue Storage
Azure Service Bus
Azure Service Bus
Google Cloud Audit Logs
Google Cloud Audit Logs
Azure Sentinel
Azure Sentinel
CloudEvents
CloudEvents
AWS CloudWatch
AWS CloudWatch
Azure IoT Hub
Azure IoT Hub
AWS CloudWatch Logs
AWS CloudWatch Logs
JIra
JIra
AWS EventBridge
AWS EventBridge
Google Cloud Firestore
Google Cloud Firestore
Logz.io
Logz.io
OracleDB
OracleDB
OCIMetrics
OCIMetrics
Google Pub/Sub
Google Pub/Sub
Slack
Slack
AWS Lambda
AWS Lambda
Confluent
Confluent
Azure Blob Storage
Azure Blob Storage
Google Sheets
Google Sheets
IBM MQ
IBM MQ
Azure Queue Storage
Azure Queue Storage
Tekton
Tekton
Google Cloud Billing
Google Cloud Billing
Elasticsearch
Elasticsearch
AWS Dynamo DB
AWS Dynamo DB
Webhooks
Webhooks
Azure Activity Logs
Azure Activity Logs
HTTP Poller
HTTP Poller
AWS Comprehend
AWS Comprehend
AWS lambda
AWS lambda
AWS Kinesis
AWS Kinesis
CloudEvents
CloudEvents
Azure EventGrid
Azure EventGrid
SendGrid
SendGrid
Google Cloud Workflows
Google Cloud Workflows
Zendesk
Zendesk
Apache Kafka
Apache Kafka
HTTP
HTTP
Alibaba OSS
Alibaba OSS
Azure Event Hubs
Azure Event Hubs
Zendesk
Zendesk
Azure Service Bus
Azure Service Bus
AWS SNS
AWS SNS
AWS SQS
AWS SQS
Splunk
Splunk
Twilio
Twilio
AWS Code Commit
AWS Code Commit
AWS S3
AWS S3
AWS EventBridge
AWS EventBridge
Salesforce
Salesforce
Google Storage
Google Storage
AWS Cognito
AWS Cognito
Google Cloud Audit Logs
Google Cloud Audit Logs
Splunk
Splunk
Datadog
Datadog
GitHub
GitHub
Azure Sentinel
Azure Sentinel
Hasura
Hasura
Azure Event Hubs
Azure Event Hubs
AWS Kinesis
AWS Kinesis
Azure Activity Logs
Azure Activity Logs
Alibaba OSS
Alibaba OSS
AWS Cognito
AWS Cognito
HTTP
HTTP
HTTP Poller
HTTP Poller
Google Sheets
Google Sheets
GitHub
GitHub
Elasticsearch
Elasticsearch
AWS Comprehend
AWS Comprehend
Logz.io
Logz.io
Google Cloud Firestore
Google Cloud Firestore
AWS Lambda
AWS Lambda
Azure Service Bus
Azure Service Bus
Webhooks
Webhooks
Splunk
Splunk
Datadog
Datadog
Azure Blob Storage
Azure Blob Storage
SendGrid
SendGrid
AWS lambda
AWS lambda
Salesforce
Salesforce
Azure IoT Hub
Azure IoT Hub
OracleDB
OracleDB
CloudEvents
CloudEvents
OCIMetrics
OCIMetrics
AWS CloudWatch
AWS CloudWatch
Azure Sentinel
Azure Sentinel
AWS CloudWatch Logs
AWS CloudWatch Logs
Hasura
Hasura
Zendesk
Zendesk
Google Pub/Sub
Google Pub/Sub
AWS EventBridge
AWS EventBridge
Zendesk
Zendesk
AWS SQS
AWS SQS
AWS SNS
AWS SNS
Apache Kafka
Apache Kafka
Slack
Slack
Google Cloud Audit Logs
Google Cloud Audit Logs
Google Storage
Google Storage
AWS EventBridge
AWS EventBridge
AWS S3
AWS S3
IBM MQ
IBM MQ
Google Cloud Billing
Google Cloud Billing
Google Cloud Workflows
Google Cloud Workflows
AWS Code Commit
AWS Code Commit
JIra
JIra
Twilio
Twilio
Tekton
Tekton
Splunk
Splunk
Azure Queue Storage
Azure Queue Storage
AWS Dynamo DB
AWS Dynamo DB
Confluent
Confluent
Azure EventGrid
Azure EventGrid
Confluent
Confluent
Azure Service Bus
Azure Service Bus
Slack
Slack
Azure IoT Hub
Azure IoT Hub
Google Cloud Firestore
Google Cloud Firestore
OCIMetrics
OCIMetrics
Google Cloud Billing
Google Cloud Billing
Datadog
Datadog
GitHub
GitHub
Webhooks
Webhooks
AWS Comprehend
AWS Comprehend
Alibaba OSS
Alibaba OSS
AWS S3
AWS S3
AWS EventBridge
AWS EventBridge
Azure Queue Storage
Azure Queue Storage
AWS Cognito
AWS Cognito
Azure Event Hubs
Azure Event Hubs
Salesforce
Salesforce
Azure EventGrid
Azure EventGrid
AWS Dynamo DB
AWS Dynamo DB
Azure Blob Storage
Azure Blob Storage
Azure Activity Logs
Azure Activity Logs
Apache Kafka
Apache Kafka
Tekton
Tekton
AWS EventBridge
AWS EventBridge
Zendesk
Zendesk
AWS SNS
AWS SNS
HTTP
HTTP
Logz.io
Logz.io
AWS CloudWatch Logs
AWS CloudWatch Logs
Google Storage
Google Storage
Twilio
Twilio
Google Cloud Workflows
Google Cloud Workflows
SendGrid
SendGrid
Elasticsearch
Elasticsearch
AWS CloudWatch
AWS CloudWatch
AWS Code Commit
AWS Code Commit
AWS Lambda
AWS Lambda
AWS SQS
AWS SQS
CloudEvents
CloudEvents
Zendesk
Zendesk
HTTP Poller
HTTP Poller
Google Pub/Sub
Google Pub/Sub
Splunk
Splunk
JIra
JIra
AWS lambda
AWS lambda
OracleDB
OracleDB
IBM MQ
IBM MQ
Hasura
Hasura
Splunk
Splunk
Azure Sentinel
Azure Sentinel
Google Sheets
Google Sheets
Google Cloud Audit Logs
Google Cloud Audit Logs
AWS Kinesis
AWS Kinesis
Google Cloud Workflows
Google Cloud Workflows
AWS Code Commit
AWS Code Commit
AWS EventBridge
AWS EventBridge
Tekton
Tekton
AWS Kinesis
AWS Kinesis
SendGrid
SendGrid
Azure Activity Logs
Azure Activity Logs
Apache Kafka
Apache Kafka
IBM MQ
IBM MQ
AWS Lambda
AWS Lambda
AWS SQS
AWS SQS
CloudEvents
CloudEvents
Twilio
Twilio
Azure Service Bus
Azure Service Bus
Google Storage
Google Storage
Slack
Slack
JIra
JIra
Datadog
Datadog
Hasura
Hasura
AWS Dynamo DB
AWS Dynamo DB
Zendesk
Zendesk
OCIMetrics
OCIMetrics
OracleDB
OracleDB
Zendesk
Zendesk
AWS S3
AWS S3
Alibaba OSS
Alibaba OSS
AWS CloudWatch
AWS CloudWatch
Google Cloud Billing
Google Cloud Billing
Azure Blob Storage
Azure Blob Storage
Azure Sentinel
Azure Sentinel
GitHub
GitHub
AWS SNS
AWS SNS
Webhooks
Webhooks
Elasticsearch
Elasticsearch
Salesforce
Salesforce
HTTP
HTTP
Logz.io
Logz.io
AWS EventBridge
AWS EventBridge
Google Cloud Firestore
Google Cloud Firestore
Azure EventGrid
Azure EventGrid
Confluent
Confluent
Azure Queue Storage
Azure Queue Storage
Splunk
Splunk
Google Pub/Sub
Google Pub/Sub
AWS Cognito
AWS Cognito
HTTP Poller
HTTP Poller
Azure Event Hubs
Azure Event Hubs
Google Sheets
Google Sheets
AWS CloudWatch Logs
AWS CloudWatch Logs
Google Cloud Audit Logs
Google Cloud Audit Logs
AWS Comprehend
AWS Comprehend
Azure IoT Hub
Azure IoT Hub
Splunk
Splunk
AWS lambda
AWS lambda

Case Studies

ManoMano

Accelerate Event Driven Test Engineering at ManoMano

TriggerMesh is scratching ManoMano’s itch to reduce the number of idling containers that waste valuable compute resources, while also providing developers with an easy way to deploy their code that consumes AWS events.

Read the blog post
PNC

Fortune 500 Bank Automates Software Supply Chain Security with TriggerMesh

The previously manual 30-day process now runs automatically and finishes in a few hours.

All event processing code runs as auto-scalable serverless functions, easily accommodating demand peaks, and only consuming the compute resources needed.

PNC case study
Salesforce

Global FinTech Accelerates Event Flow from Salesforce to On-premises Kafka

The streamlined EDA with TriggerMesh reduced complexity by 50%, significantly speeding up the implementation of new Application Flows between Salesforce and Kafka. The simplified architecture also reduces technical debt and shrinks the attack surface, making the systems even more stable and secure.

Check out the use case

Create your first event flow in under 5 minutes