How to Filter Selective Destinations using the integrations Object

Filter selective destinations while sending your event data via RudderStack.

This guide shows you how to leverage the integrations object to filter events to specific destinations when sending them via RudderStack.

Overview

RudderStack lets you send your event data only to specific destination or a set of destinations by filtering out the rest. You can do this by passing an integrations object in the options parameter of your event method.

See the following guides for the SDK-specific documentation and examples:

Filter events to specific destinations

The following example demonstrates how to send an event only to HubSpot and Intercom using the JavaScript SDK:

javascript
rudderanalytics.identify(
  "1hKOmRA4GRlm", {
    email: "alex@example.com",
    name: "Alex Keener",
  }, {
    integrations: {
      All: false,
      "HubSpot": true,
      "Intercom": true,
    },
  }
)

Note that:

  • All is always set to true unless explicitly set to false — this means RudderStack sends the event to all destinations by default.
  • All: false instructs RudderStack to not send the event to all destinations.

Disable events for specific destinations

You can also disable sending event data to specific destinations. In this case, RudderStack sends the event data to all other destinations except the specified ones.

javascript
rudderanalytics.identify(
  "1hKOmRA4GRlm", {
    email: "alex@example.com",
    name: "Alex Keener",
  }, {
    integrations: {
      "HubSpot": false,
      "Intercom": false,
    },
  }
)

In the above code snippet, RudderStack will send the event data to all destinations except HubSpot and Intercom.

Destination naming convention

To filter events to specific destinations, use the destination definition display name as the integrations object key. Use the name shown in the RudderStack destination directory, for example, BigQuery, not BQ or a name you assigned to a destination instance.

The destination definition display name is case-sensitive. A key applies to every enabled destination of that type connected to the event’s source, not just one instance. For example, Webhook applies to all enabled Webhook destinations connected to that source; it does not affect Webhook destinations connected only to other sources.

Examples

This section lists some sample events sent from a different SDKs to the specified destinations.

javascript
rudderanalytics.track(
  "Product Added", {
    product_id: "product_001",
    email: "alex@example.com",
    name: "Alex Keener"
  }, {
    integrations: {
      All: false,
      "Amplitude": true,
      "Intercom": true
    }
  }
)

In the above examples, RudderStack SDKs send the track events only to the Amplitude and Intercom destinations.


Questions? Let's figure it out together.

Join the RudderStack Slack community to connect with other users, customers, and the RudderStack team — or reach out for direct support.