# Schematic (Actions) Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Schematic** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)
* This integration is **partner owned.** Please reach out to the partner's support for any issues.
* This destination is **Beta.**

[Schematic](https://schematichq.com/?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) enables you to launch, package, meter, and monitor features with ease, so you can manage it all in one place as your business grows.

Segment is the easiest way to send events from your application to Schematic. If you already have Segment up and running in your application, Schematic recommends this approach so you don't have to implement any additional code.

Schematic maintains this destination. For any issues with the destination, [contact the Schematic Support team](mailto:hi@schematichq.com).

## Getting started

1. From your Segment web app, navigate to **Connections > Catalog > Destinations**.
2. Search for *Schematic*, select the Schematic destination, and click **Add destination**.
3. Select the source that will send data to Schematic, give your destination a name, then click **Create destination**.
4. On the destination's Settings tab, input your Schematic API Key. To generate an API key, navigate to your Schematic workspace settings under **Settings > API Keys**.

Once you've connected Schematic to Segment, you can configure how you want to send data to Schematic in the Schematic destination's **Mappings** tab.

## Destination Settings

| Field   | Description                  | Required | Type     |
| ------- | ---------------------------- | -------- | -------- |
| API Key | Found on your settings page. | Yes      | password |

## Available Presets

Schematic has the following presets

| Preset Name   | Trigger                 | Default Action |
| ------------- | ----------------------- | -------------- |
| Identify User | Event type = "identify" | Identify User  |
| Track Event   | Event type = "track"    | Track Event    |

## Available Actions

Build your own Mappings. Combine supported [triggers](/docs/segment/connections/destinations/actions/#components-of-a-destination-action) with the following Schematic-supported actions:

> \[!NOTE]
>
> Individual destination instances have support a maximum of 50 mappings.

* [Track Event](#track-event-11)
* [Identify User](#identify-user-8)

### Track Event

Send track events to Schematic

Track Event is a **Cloud** action. The default Trigger is `type = "track"`

| Field        | Description                                                               | Required | Type     |
| ------------ | ------------------------------------------------------------------------- | -------- | -------- |
| Event name   | Name of event (this will be snake cased in request)                       | Yes      | STRING   |
| Company keys | Key-value pairs associated with a company (e.g. organization\_id: 123456) | No       | OBJECT   |
| Timestamp    | Time the event took place                                                 | Yes      | DATETIME |
| User keys    | Key-value pairs associated with a user (e.g. email: example@example.com)  | No       | OBJECT   |
| Traits       | Additional properties to send with event                                  | No       | OBJECT   |

### Identify User

Send identify events to Schematic

Identify User is a **Cloud** action. The default Trigger is `type = "identify"`

| Field          | Description                                                               | Required | Type     |
| -------------- | ------------------------------------------------------------------------- | -------- | -------- |
| Company keys   | Key-value pairs associated with a company (e.g. organization\_id: 123456) | Yes      | OBJECT   |
| Company name   | Name of company                                                           | No       | STRING   |
| Company traits | Properties associated with company                                        | No       | OBJECT   |
| Timestamp      | Time the event took place                                                 | Yes      | DATETIME |
| User keys      | Key-value pairs associated with a user (e.g. email: example@example.com)  | Yes      | OBJECT   |
| User name      | User's full name                                                          | No       | STRING   |
| User traits    | Properties associated with user                                           | No       | OBJECT   |

## Additional Context

Schematic only accepts Track event names that contain alphanumeric characters, dashes, and underscores. If Segment event names have other characters, like spaces, the Schematic destination automatically snake\_cases the event name before passing to Schematic. Segment passes the raw event name as an event trait.

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/identify/) call is sent to the destination for each user being added and removed. The property name is the snake\_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

> \[!NOTE]
>
> Real-time audience syncs to Schematic (Actions)  may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

## Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

| Field   | Description                  | Required | Type     |
| ------- | ---------------------------- | -------- | -------- |
| API Key | Found on your settings page. | Yes      | password |
