sym.sdk.event

Triggers for the various steps of a Flow.

Classes

Channel

The Channel object contains information about the channel from which an event was sent.

Event

The Event class contains information on an event which has been received by Sym, routed to a Run of a Flow, and is triggering specific user-defined Handlers.

EventMeta

Contains metadata about an Event instance.

Payload

The Payload object contains the data of the Event.

class sym.sdk.event.Channel(srn: Union[sym.sdk.resource.SRN, str])

Bases: sym.sdk.resource.SymResource

The Channel object contains information about the channel from which an event was sent.

dict()

Represent this resource as a dictionary.

property identifier

The identifier of the channel (e.g. #general for a Slack channel).

Note that, if the event originated from a Slack shortcut (as opposed to a slash command), identifier will be None. This is because shortcuts are global and not linked to any specific channel.

property name

An alias for this resource’s slug, derived from its SRN.

property srn

A SRN object that represents the unique identifier for this resource.

property type

The channel type (e.g. slack or sym).

class sym.sdk.event.Event(srn: Union[sym.sdk.resource.SRN, str])

Bases: sym.sdk.resource.SymResource

The Event class contains information on an event which has been received by Sym, routed to a Run of a Flow, and is triggering specific user-defined Handlers.

Each Handler will be invoked with a single argument, which is an instance of this class. This Event instance will describe the current execution state, and can be used to dynamically alter the behavior and control flow of Templates.

Read more about Handlers.

property channel

A Channel object indicating the channel the current Event instance is coming from.

dict()

Represent this resource as a dictionary.

property flow

A Flow object, indicating the Flow that the current Run is an instance of.

get_actor(event_name: str) Optional[sym.sdk.user.User]

Retrieve the User who triggered a specific Event.

For example, for a Run using the ApprovalTemplate, to get the approver:

approver = event.get_actor("approve")

For a list of event names, see the relevant template’s Enum (e.g. ApprovalTemplateStep).

Note that, for the ApprovalTemplate, the escalate and deescalate actors will be the same as the approve actor, because those events are automatically triggered by the approve event.

Parameters

event_name (str) – The name of the Event to retrieve the actor for.

Returns

The User who triggered the Event with the given event_name, if that Event has occurred in the current Run. Otherwise returns None.

get_context(event_name: str) Optional[Dict[str, Any]]

Retrieve a dict containing the context values attached to a specific Event.

For example, for a Run using the ApprovalTemplate, to get the context attached to the initial request Event:

context = event.get_context("request")

For a list of event names, see the relevant template’s Enum (e.g. ApprovalTemplateStep).

Parameters

event_name (str) – The name of the Event to retrieve the actor for.

Returns

A dict representing the context attached to the Event with the given event_name, if that Event has occurred in the current Run. Otherwise returns None.

property meta

An EventMeta object, which contains metadata about the Event instance.

property name

The name of the Event.

property payload

A Payload object, which contains the primary data of the Event.

property run

A Run object, indicating the current Run.

property srn

A SRN object that represents the unique identifier for this resource.

property template

A Template object, indicating which Template the current Flow inherits from.

property user

The User who triggered the Event.

class sym.sdk.event.EventMeta(srn: Union[sym.sdk.resource.SRN, str])

Bases: sym.sdk.resource.SymResource

Contains metadata about an Event instance.

dict()

Represent this resource as a dictionary.

property name

An alias for this resource’s slug, derived from its SRN.

property srn

A SRN object that represents the unique identifier for this resource.

class sym.sdk.event.Payload(srn: Union[sym.sdk.resource.SRN, str])

Bases: sym.sdk.resource.SymResource

The Payload object contains the data of the Event.

dict()

Represent this resource as a dictionary.

property fields

A dict containing the values submitted by the user who created the Event

property name

An alias for this resource’s slug, derived from its SRN.

property srn

The SRN of the Event instance.

property timestamp

A datetime object indicating when the Event was created.

property user

The User who triggered the Event.