Manage schema
- Genesys Cloud CX 1 license
The following permissions:
- Journey > externalEventsSchema – Add
- Journey > externalEventsSchema – Edit
- Journey > externalEventsSchema – View
- Journey > externalEventsSchema – Delete
- Journey > externalEventsConfiguration – Add
- Journey > externalEventsConfiguration – Edit
- Journey > externalEventsConfiguration – View
- Journey > externalEventsConfiguration – Delete
- Journey > externalEventsEvent – Add
An external event schema is a blueprint that defines the structure of a business-specific event you want to send into Genesys Cloud from a system outside the platform — for example, a purchase, a claim update, an event from a CRM system, or a booking confirmation. A schema defines the event’s attributes and each attribute’s data type so that, when an event arrives, Genesys Cloud can validate it and other features can reference its fields consistently.
Schemas are formulated according to the JSON schema specification and created with an API call, as described in the developer center documentation. Genesys Cloud enforces strict backwards compatibility on schemas once they’re saved, so it’s worth understanding upfront what you can, and can’t, change later.
Schema for external events must be created as the first step in onboarding external events to Genesys Cloud.
The following sections describe how you can work with a schema:
A schema is created through an API call from the Developer Center. A schema has a name and a set of attributes. The schema you create must contain the following items:
- Schema Name: Specify a name to the schema.
- Description: Specify a description about the schema for reference.
- Schema Attributes: Create the attribute list associated to the schema by specifying the following values:
- Name: Specify a name to the attribute.
- Description: Specify a description about the attribute for reference.
- Data Type: Specify the attribute’s data type. The following data types are supported:
- Boolean (true/false)
- Date (a calendar date)
- Date and time
- Enum (a fixed list of up to 50 choices, each choice has a stored value and a separate business-friendly display label, for example storing “CC” but showing admins “Credit Card”)
- Integer (a whole number)
- Number (any numeric value, including decimals)
- String (text, up to 1,000 characters)
- Required: Specify whether it is a mandatory or optional attribute.
Example schema
The following table shows about a purchaseEvent schema used to send e-commerce purchases into Genesys Cloud:
| Attribute (business name) | What it captures | Data Type | Required? |
|---|---|---|---|
| Product ID | The unique identifier of the item that was purchased. | String | Yes |
| Purchase price | The dollar amount of the purchase. | Number | Yes |
| Purchase date | The date and time the purchase was completed. | Date and Time | Yes |
| Payment method | How the customer paid — admins see a credit card, PayPal, or gift card even though the system stores a short code for each. | Enum | No |
In the underlying API call, these become fields like attributes.productId, attributes.purchasePrice, and attributes.purchaseDate.
To view the schema details,
- Click Menu > Orchestration > External Event Ingestion > Schemas. The list of schemas created by API calls appear.
- From the schema list, do one of the following:
- Navigate to the schema name that you want to view and click the name.
- Under the Actions column, click the vertical dots, and click View from the shortcut menu. The Schema Configuration page appears.
- The Schema Configuration page allows you to view the schema details such as schema setup, schema name, description, and schema attributes. After reviewing the schema details, click Go Back to go to the Schema List page.
After a schema is saved, its structure is locked to prevent issues arising from other objects that use the schema such as event configurations, in-flight events, and anything built on its fields. You can add new attributes, change its description, increase a numeric or text-length limit, and add new options to an existing enum. However, you can’t delete or disable an existing attribute, change its data type or underlying key name, change an optional attribute to require, or remove an enum option once added.
After you change the event attributes, every saved change creates a version automatically; event configurations always use the latest version.
You cannot delete an attribute from a schema. If you want to remove it from a schema, you can only disable or delete the schema as a whole and create a new one.
Disabling or deleting a schema stops it from being used on new or updated event configurations, so ensure that no active configuration exists before deleting a schema.
[NEXT] Was this article helpful?
Get user feedback about articles.