---
title: "Integrations"
description: "Learn more about how integrations extend the functionality of our SDK to cover common libraries and environments automatically."
url: https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/
---

# Extended Configuration Integrations for Cordova

The Sentry SDK uses integrations to hook into the functionality of popular libraries to automatically instrument your application and give you the best data out of the box.

Integrations automatically add error instrumentation, performance instrumentation, and/or extra context information to your application. Some are enabled by default, but you can remove them or modify their settings.

The Cordova SDK is based on version 7 of the Sentry JavaScript SDK. It exposes the default browser integrations as classes on `Sentry.BrowserIntegrations`.

### [Default Integrations](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations.md#default-integrations)

|                                                                                                                                 | **Errors** | **Additional Context** |
| ------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------- |
| [`Breadcrumbs`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/breadcrumbs.md)           |            | ✓                      |
| [`Dedupe`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/dedupe.md)                     | ✓          |                        |
| [`FunctionToString`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/functiontostring.md) |            |                        |
| [`GlobalHandlers`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/globalhandlers.md)     | ✓          |                        |
| [`HttpContext`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/httpcontext.md)           |            | ✓                      |
| [`InboundFilters`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/eventfilters.md)       | ✓          |                        |
| [`LinkedErrors`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/linkederrors.md)         | ✓          |                        |
| [`TryCatch`](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/browserapierrors.md)         | ✓          |                        |

## [Modifying Default Integrations](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations.md#modifying-default-integrations)

To override the settings of a default integration, provide a new instance with your config to the `integrations` option. It replaces the default instance with the same name.

For example, to stop capturing click and keypress events as breadcrumbs:

```javascript
Sentry.init({
  dsn: "https://<key>@o<orgId>.ingest.sentry.io/<projectId>",
  integrations: [
    new Sentry.BrowserIntegrations.Breadcrumbs({
      dom: false,
    }),
  ],
});
```

## [Removing a Default Integration](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations.md#removing-a-default-integration)

To remove one or more of the default integrations, pass a function to the `integrations` option and filter out the ones you don't want. The Cordova SDK always sets up its default integrations, so the `defaultIntegrations: false` option has no effect.

This example removes the integration for adding breadcrumbs to the event, which is enabled by default:

```javascript
Sentry.init({
  // ...
  integrations: function (integrations) {
    // integrations will be all default integrations
    return integrations.filter(function (integration) {
      return integration.name !== "Breadcrumbs";
    });
  },
});
```

## [Adding an Integration](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations.md#adding-an-integration)

You can add additional integrations in your `init` call. For example, to enable [tracing](https://docs.sentry.io/platforms/javascript/guides/cordova/tracing.md):

```javascript
Sentry.init({
  dsn: "https://<key>@o<orgId>.ingest.sentry.io/<projectId>",
  integrations: [Sentry.browserTracingIntegration()],
});
```

## [Custom Integrations](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations.md#custom-integrations)

You can also create [custom integrations](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/custom.md).

## [Available Integrations](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations.md#available-integrations)

* #### [Breadcrumbs Integration](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/breadcrumbs.md)

  Wraps native browser APIs to capture breadcrumbs. (default)

* #### [Dedupe](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/dedupe.md)

  Deduplicate certain events to avoid receiving duplicate errors. (default)

* #### [FunctionToString](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/functiontostring.md)

  Allows the SDK to provide original functions and method names, even when those functions or methods are wrapped by our error or breadcrumb handlers. (default)

* #### [GlobalHandlers](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/globalhandlers.md)

  Attaches global handlers to capture uncaught exceptions and unhandled rejections. (default)

* #### [HttpContext](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/httpcontext.md)

  Attaches HTTP request information, such as URL, user-agent, referrer, and other headers to the event. (default)

* #### [InboundFilters](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/eventfilters.md)

  Allows you to ignore specific errors based on the type, message, or URLs in a given exception. (default)

* #### [LinkedErrors](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/linkederrors.md)

  Allows you to configure linked errors. (default)

* #### [TryCatch](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/browserapierrors.md)

  Wraps native time and events APIs (\`setTimeout\`, \`setInterval\`, \`requestAnimationFrame\`, \`addEventListener/removeEventListener\`) in \`try/catch\` blocks to handle async exceptions. (default)

## Pages in this section

- [Breadcrumbs](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/breadcrumbs.md)
- [Dedupe](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/dedupe.md)
- [FunctionToString](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/functiontostring.md)
- [GlobalHandlers](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/globalhandlers.md)
- [HttpContext](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/httpcontext.md)
- [InboundFilters](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/eventfilters.md)
- [LinkedErrors](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/linkederrors.md)
- [TryCatch](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/browserapierrors.md)
- [Custom Integrations](https://docs.sentry.io/platforms/javascript/guides/cordova/configuration/integrations/custom.md)
