Newer Version Available
Migrate Platform Event Definitions with Metadata API
The CustomObject metadata type represents platform events.
Platform event names are appended with __e. The file that contains the platform event definition has the suffix .object. Platform events are stored in the objects folder.
Here is a definition of a sample platform event with a number field and two text fields.
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
3 <deploymentStatus>Deployed</deploymentStatus>
4 <fields>
5 <fullName>Ink_Percentage__c</fullName>
6 <externalId>false</externalId>
7 <isFilteringDisabled>false</isFilteringDisabled>
8 <isNameField>false</isNameField>
9 <isSortingDisabled>false</isSortingDisabled>
10 <label>Ink Percentage</label>
11 <precision>18</precision>
12 <required>false</required>
13 <scale>2</scale>
14 <type>Number</type>
15 <unique>false</unique>
16 </fields>
17 <fields>
18 <fullName>Printer_Model__c</fullName>
19 <externalId>false</externalId>
20 <isFilteringDisabled>false</isFilteringDisabled>
21 <isNameField>false</isNameField>
22 <isSortingDisabled>false</isSortingDisabled>
23 <label>Printer Model</label>
24 <length>20</length>
25 <required>false</required>
26 <type>Text</type>
27 <unique>false</unique>
28 </fields>
29 <fields>
30 <fullName>Serial_Number__c</fullName>
31 <externalId>false</externalId>
32 <isFilteringDisabled>false</isFilteringDisabled>
33 <isNameField>false</isNameField>
34 <isSortingDisabled>false</isSortingDisabled>
35 <label>Serial Number</label>
36 <length>20</length>
37 <required>false</required>
38 <type>Text</type>
39 <unique>false</unique>
40 </fields>
41 <label>Low Ink</label>
42 <pluralLabel>Low Ink</pluralLabel>
43</CustomObject>This package.xml manifest file references the previous event definition. The name of the referenced event is Low_Ink__e.
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>Low_Ink__e</members>
5 <name>CustomObject</name>
6 </types>
7 <version>40.0</version>
8</Package>To retrieve all platform events, use the wildcard character (*) for the <members> element, as follows.
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>*</members>
5 <name>CustomObject</name>
6 </types>
7 <version>40.0</version>
8</Package>To retrieve or deploy triggers associated to a platform event, use the ApexTrigger metadata type. For more information about how to use Metadata API and its types, see the Metadata API Developer Guide.