# Addons & Power Features > **Source**: [SendX](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q) > >

Explore SendX add-ons like Exclude bot clicks and opens, Inbox warmup, List cleaning and threat checks, Transactional emails, Dynamic sender, etc.

## Browse Collection 1. [Enabling Custom Reply Add-On in Sendex for Newsletters](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/FIV3uLspxKkbhnruVOyFIA.md) (Video) 2. [How to Enable and Use the MX Based Segments Add-On for Email Provider Segmentation](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/J5PZ25B9BxB4EM9Cz9xDYg.md) (Video) 3. [How to Enable the 'Remove Bot Clicks and Opens' Add-On in Campaign Insights](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/qD8QGSHC9B8VF3nJacIlEA.md) (Video) 4. [Advanced Deliverability Analytics](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/UZZxZEmD4ftAaVdh8IIbwg.md) (Video) 5. [Purchase Threat Checks/ List Hygiene](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/pAuPyP4sV7CImAqL2ALLKw.md) (Video) 6. [Analyzing Email Engagement with AI Deliverability Advisor addon ](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/tvmsJZhUmJo01ViRiGL4dQ.md) (Video) 7. [Elevated Support](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/N3bCxpRN6UWVID7aMDS8Ag.md) (Video) 8. [How to Enable and Customize Shortcuts in SendX](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/a3GpTgtIIuG8hHwSJ7oV5A.md) (Video) 9. [Transactional Email Add On](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/5U8p2Ea0iNGocLh81ybm9w.md) (Video) 10. [Creating and Publishing a Blog Post with Category and SEO Settings](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/DMwXwByreyXMpEJpeaqnhA.md) (Video) 11. [Adding a Custom Domain to Your Profile Settings](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/f6KjnCSgJhyDPeMh772byw.md) (Video) 12. [Accessing API Documentation to Create a New Contact](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/np7OCXOLB3bH5ELGSqvymQ.md) (Video) 13. [Creating and Managing Email Campaigns With Dynamic Sender and Contact List](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/RMx2bNN5fell7e04LByOMA.md) (Video) 14. [How To Use Revenue API To Add Revenue For A Contact](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/Ie5pMj3HxToRTzqDrzhBDA.md) (Video) 15. [How to Send Custom Events Using SendX API](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA.md) (Video) 16. [Inbox Warmup Addon](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/VFkBHhfWEOkfFSVfLIBD2A.md) (Video) 17. [Enabling the "List Cleaning" Addon in Settings.](https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/vg72nlGoLObl1XlJm1xDTw.md) (Video) --- # VIDEO: How to Send Custom Events Using SendX API ## METADATA - id: d4Vc9OToJK8mA2jq1jHPTA - type: video - source: SendX - content_url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA - collection_url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q ## TRANSCRIPT - time: 00:00 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=0 text: This video, we'll explore how to send custom events on SendX to create personalized customer journeys. - time: 00:06 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=6 text: Custom events are an excellent tool for tracking customer activities on your platform. - time: 00:11 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=11 text: This data can be leveraged by SendX to build segments and execute complex workflow actions. - time: 00:20 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=20 text: First, let's head over to docs.sendx.io. Here is where our SendX REST API documentation is hosted. While you can also execute this on - time: 00:29 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=29 text: Postman, we'll be focusing solely on the documentation platform for now. First, under API server, make sure you - time: 00:35 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=35 text: have checked the production server. - time: 00:37 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=37 text: On authentication, you'll have to add your own SendX Team API key. Let's head over to SendX and find that API - time: 00:44 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=44 text: key. So this is my SendX page dashboard. - time: 00:47 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=47 text: Here, I'm going to go to the settings then under team API key copy this API key. - time: 00:53 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=53 text: I'm going to remove the old one and add this new one and set it. - time: 00:59 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=59 text: Now my API key is set for all the APIs. - time: 01:03 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=63 text: Scroll down and look for this event tab. Click on the push a custom event associated with a contact. Now we are gonna - time: 01:09 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=69 text: find a contact to push a custom event for. - time: 01:12 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=72 text: Now I'm going to go over my contacts, and let's say I want to push a custom event for Chris Doe. - time: 01:19 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=79 text: So I'm going to copy his email address. - time: 01:22 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=82 text: You can use their email address or their ID, which can be fetched via the API. - time: 01:29 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=89 text: Select the example tab from the top. Here, an example request for custom events is already populated. I will use this email as the identifier, which serves as the contact identifier for the custom event we are - time: 01:35 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=95 text: pushing. - time: 01:42 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=102 text: The identifier can either be the contact's email or their ID. SendX will automatically retrieve the contact based on the - time: 01:48 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=108 text: provided identifier. - time: 01:50 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=110 text: Here, you can have any name for the custom event. For this, I will designate this custom event as abandoned cart. - time: 01:56 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=116 text: It signifies a situation where a user has added products to their cart, but has not completed the payment process. - time: 02:03 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=123 text: Another aspect to consider is the data attribute, which can be an object containing key value pairs that you wish to associate - time: 02:09 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=129 text: with this custom event. - time: 02:11 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=131 text: For instance, in our example of an abandoned cart, it might include properties such as price, currency, and item - time: 02:17 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=137 text: count. - time: 02:18 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=138 text: Keep in mind custom event properties have types defined to them. This can be string, number, boolean, or date. - time: 02:25 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=145 text: SendX assumes all properties to be of type string by default. - time: 02:28 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=148 text: Therefore, all of these values will initially be configured as a string type. The type of the custom event property can be - time: 02:35 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=155 text: changed later on the SendX platform itself. Hence, no need to worry about this. In the upcoming tutorial, we'll - time: 02:41 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=161 text: demonstrate how to adjust these custom event properties, modify their types, and rename them. - time: 02:46 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=166 text: Let's add another property in this data object. I am going to add a field is churned and set it to false. - time: 02:55 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=175 text: Next, you also in a tribute time. This denotes the time at which the event occur for the customer. This can be set to a - time: 03:01 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=181 text: past time. If left empty or not present, SendX will automatically set the current time for you as the event occurred time. Be - time: 03:07 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=187 text: sure to set it as a Unix epoch timestamp. - time: 03:11 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=191 text: Once you are happy, click on the try button to send this event. You'll receive a status two hundred and message okay - time: 03:17 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=197 text: stating that your custom event is pushed for the user. - time: 03:21 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=201 text: Let's head back to SendX to check this custom event for our contact. - time: 03:25 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=205 text: I'll click on the timeline tab for the contact. - time: 03:30 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=210 text: Voila, I see a new custom event for the same contact under the contact timeline. - time: 03:35 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=215 text: This is the abandoned cart event, which we pushed, and all of these fields are shown here. Thank you. - time: 03:41 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=221 text: In future tutorials, we'll look into how to change custom event properties name and types, and also on how to add new properties - time: 03:47 url: https://video.sendx.io/Z19kSMNWNSuqi2re2o5w9Q/d4Vc9OToJK8mA2jq1jHPTA?start_time=227 text: to already existing custom events. ## SUMMARY # How to Send Custom Events on SendX In this video, we'll explore how to send custom events on SendX to create personalized customer journeys. Custom events are an excellent tool for tracking customer activities on your platform. This data can be leveraged by SendX to build segments and execute complex workflow actions. ## Step-by-Step Guide 1. ### Access SendX REST API Documentation First, head over to [docs.sendx.io](https://docs.sendx.io), where our SendX REST API documentation is hosted. While you can also execute this on Postman, we'll be focusing solely on the documentation platform for now. 2. ### Set Up API Server and Authentication - Under API server, ensure you have checked the production server. - For authentication, add your own SendX team API key. Navigate to your SendX dashboard, go to settings, and under team API key, copy this API key. Remove the old one, add the new one, and set it. 3. ### Push a Custom Event - Scroll down and look for the event tab. Click on "Push a custom event associated with a contact." - Find a contact to push a custom event for. For example, copy the email address of the contact, Christo. - Select the example tab from the top. An example request for custom events is already populated. Use the email as the identifier for the custom event. 4. ### Define the Custom Event - Designate a name for the custom event, such as "abandoned cart," which signifies a situation where a user has added products to their cart but has not completed the payment process. - Consider the data attribute, which can be an object containing key-value pairs associated with this custom event. For instance, properties such as password, price, currency, and item count. - Custom event properties have types defined to them, such as string, number, Boolean, or date. SendX assumes all properties to be of type string by default. 5. ### Add Additional Properties - Add another property in the data object, such as "is churned" and set it to false. - Include an attribute "time," denoting the time at which the event occurred for the customer. If left empty, SendX will automatically set the current time. 6. ### Send the Custom Event Once you are satisfied with the setup, click on the try button to send this event. You'll receive a status 200 and message OK, indicating that your custom event is pushed for the user. 7. ### Verify the Custom Event Head back to SendX to check this custom event for your contact. Click on the timeline tab for the contact. You should see the new custom event, "abandoned cart," under the contact timeline. Thank you! In future tutorials, we'll look into how to change custom event properties' names and types and also how to add new properties to already existing custom events.