---
title: "UI Components"
description: "Learn more about Sentry's integration platform User Interface (UI) components."
url: https://docs.sentry.io/organization/integrations/integration-platform/ui-components/
---

# UI Components

We've built an [example application](https://github.com/getsentry/integration-platform-example) to help you get started with building on Sentry's integration platform! Check it out for useful code snippets for adding these features in Python and TypeScript. See the [docs](https://docs.sentry.io/organization/integrations/integration-platform.md#example-app) for more information.

The Sentry integration platform provides developers with the ability to define components to render within specific parts of [sentry.io](https://sentry.io), through a JSON-based schema.

You can define the following components:

* [Issue Link](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/issue-link.md) (uses [FormField](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/formfield.md) components)
* [Alert Rule Actions](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/alert-rule-action.md) (uses [FormField](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/formfield.md) components)
* [Stack Trace Link](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/stacktrace-link.md)

## [Schema](https://docs.sentry.io/organization/integrations/integration-platform/ui-components.md#schema)

The UI components are specified in the schema section of the integration details. The required form of this schema is:

`schema.json`

```json
{
  "elements": [
    // Component schemas to be used by the integration
    // e.g. { "type": "alert-rule-action", ... }
  ]
}
```

### [URI Guidelines](https://docs.sentry.io/organization/integrations/integration-platform/ui-components.md#uri-guidelines)

The `uri` keys in your schema elements describe the URI path that will receive a request from that UI component. Sentry will append the path in the `uri` field onto the host of your integration's *webhook URL*. For example, if the webhook URL is `https://example.com/webhook/`, and your schema's `uri` attribute is `/alerts/`, then the integration will receive requests to `https://example.com/alerts/`.

## [Error Handling](https://docs.sentry.io/organization/integrations/integration-platform/ui-components.md#error-handling)

Component rendering either 100% works or shows nothing. To protect the integration from looking chaotic due to errors we have no control over, if any part of the third-party component rendering fails, nothing will render.

If there is an error in an issue linking component, the link will be disabled.

## Pages in this section

- [Issue Link](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/issue-link.md)
- [Alert Rule Action](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/alert-rule-action.md)
- [Stack Trace Link](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/stacktrace-link.md)
- [FormField Components](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/formfield.md)
