# Migrating to KORE Super SIM Connection Events

Super SIM Connection Events are currently delivered via [Twilio's Event Streams](https://www.twilio.com/docs/events) product. As part of our process of separating from Twilio, we will stop publishing events to Twilio Event Streams on **November 1, 2024**. In order to continue to receive Super SIM Connection Events without interruption, you will need to subscribe to KORE's replacement [event streaming product](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/event-streams) before then.

You will use the [KORE Developer Portal](https://build.korewireless.com/event-stream/destination) to configure destinations and streams and send test events so you can confirm that you are able to receive events from KORE.

We have provided various guides for you to get started

* [Get started with AWS Kinesis](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/get-started/event-streams/aws-kinesis-quick-start)
* [Get started with Webhooks](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/get-started/event-streams/webhook-quick-start)
* [Send Test events](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/how-to/event-streams/test-my-destination)

We will **simultaneously** publish events to both KORE's event streaming product and Twilio's Event Stream if you have configured event streams at KORE and Twilio.

The object within the event that contains the Super SIM Connection Event specific data will remain unchanged. The metadata around that object will be different depending on if it came from KORE or Twilio.&#x20;

To ensure that you don't miss any events during the migration process, you can subscribe to both KORE's Super SIM Connection Events and Twilio's at the same time as all events will be published through both systems; however, you will need to consolidate the events and dedupe them.&#x20;

You will be able to use the `event_sid` property to dedupe events. The same event that was sent over both KORE's and Twilio's stream will have the same `event_sid`.&#x20;

{% hint style="danger" %}
If you use Super SIM Connection Events to record data usage and bill your customers, it is critical that you properly deduplicate your events, even when receiving them via just Twilio or KORE. Please ensure you have considered this in your design.
{% endhint %}

## Key Differences

### Resource Names

| Twilio Event Streams                                                                | KORE Event Streams                                                                                 |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| [Event Types](https://www.twilio.com/docs/events/event-streams/event-type-resource) | [Event Types](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/event-streams/events#event-types)     |
| [Sinks](https://www.twilio.com/docs/events/event-streams/sink-resource)             | [Destinations](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/event-streams/destinations)          |
| [Subscriptions](https://www.twilio.com/docs/events/event-streams/subscription)      | [Streaming Rules](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/event-streams/streaming-rules)    |
| [Schemas](https://www.twilio.com/docs/events/event-streams/schema-resource)         | [Event Schemas](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/event-streams/events#event-schemas) |

### Event Schema

Whether you are sending events to [Kinesis](https://www.twilio.com/docs/events/webhook-quickstart#read-and-parse-the-data) or [Webhook](https://www.twilio.com/docs/events/webhook-quickstart#read-and-parse-the-data), Twilio follows the same format defined by [Cloud Events](https://github.com/cloudevents/spec/blob/v1.0/spec.md), which KORE also follows.&#x20;

The properties which will change when moving to KORE are identified below.

{% hint style="success" %}
The data schema object will remain unchanged
{% endhint %}

#### type

Your types were usually like `com.twilio.{suffix}`, which will be changed to `com.kore.{suffix}`.

#### dataschema

The data schema will be available at a different URL.&#x20;

`https://events-schemas.korewireless.com/...`

### Validating Webhook Events on Event Stream

KORE [validates ](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/how-to/webhooks/validate-webhook-signatures)Webhooks the same way for callbacks and event streams.&#x20;

### Streaming Events to Destinations

You will be able to receive events via [AWS Kinesis](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/get-started/event-streams/aws-kinesis-quick-start) or [webhooks](https://app.gitbook.com/s/0ydryXnnBZcpfzlfF36e/get-started/event-streams/webhook-quick-start).&#x20;

{% hint style="danger" %}
**Twilio Segment** will **not** be an available destination type. If you use this Sink type today, plan to use one of the other destination types and forward events into Twilio Segment yourself.
{% endhint %}
