diff --git a/signalfx/signalflow/messages.py b/signalfx/signalflow/messages.py
index <HASH>..<HASH> 100644
--- a/signalfx/signalflow/messages.py
+++ b/signalfx/signalflow/messages.py
@@ -162,11 +162,17 @@ class EventMessage(StreamMessage):
     """Message received when the computation has generated an event or alert
     from a detect block."""
 
-    def __init__(self, timestamp_ms, properties):
+    def __init__(self, tsid, timestamp_ms, properties):
+        self._tsid = tsid
         self._timestamp_ms = timestamp_ms
         self._properties = properties
 
     @property
+    def tsid(self):
+        """The event timeseries ID."""
+        return self._tsid
+
+    @property
     def timestamp_ms(self):
         """The timestamp of the event (millisecond precision)."""
         return self._timestamp_ms
@@ -180,7 +186,9 @@ class EventMessage(StreamMessage):
 
     @staticmethod
     def decode(payload):
-        return EventMessage(payload['timestampMs'], payload['properties'])
+        return EventMessage(payload['tsId'],
+                            payload['timestampMs'],
+                            payload['properties'])
 
 
 class MetadataMessage(StreamMessage):
Expose ETS ID from EventMessage