Roles and Effects: The People and Rules on Event Types
How event roles link real crew members and collaborators to an event, how they differ from attributes, and how effects act when roles and values change.
Attributes describe a record. Roles and effects make an event type do something with that description. A role names a part the event needs filled, and an effect is a rule that acts when the event's details meet conditions you set. Both exist on event types only: crew, collaborator, location, and resource types carry attributes but no roles or effects.
What a Role Is
A role is a named slot on an event, such as Project manager, Production manager, Account manager, or Client. Roles are defined once in the organization's role library, under the Roles tab of the event type settings, and placed in an event type's sections next to its attributes.
Two choices are made when a role is created, and neither can be changed afterwards because everything that already uses the role depends on them:
- Filled by: a Crew member or a Collaborator. A role is one or the other, never both.
- How many: One person or Several people. Assigning someone to a one-person role replaces whoever held it. Assigning someone to a several-people role adds them alongside the others.
An organization admin can also limit which crew members or collaborators the role's picker offers.
Why a Role Is Not Just an Attribute
A Crew Member attribute and a role can both point at a person, but a role is a real link to that person's record in your organization, and the event knows the slot exists even when it is empty. That makes three things possible:
- Tracking. A role placed as Tracked becomes a task that is not started while the slot is empty and is done once it is filled, or waits for review first when the type requires Review. A Required role must be filled before the event can be created.
- Assignment. A role can be the default assignee for the event type's tracked details, so the work follows whoever holds the role.
- Effects. Effects can test whether a role is filled or who holds it, and can notify the people in a role or add them to the event.
The person in a role is linked through your organization's crew database or collaborator database, so someone can be named in a role before they are on the event. An effect that adds the occupant to the event is what brings them on. Removing someone from a role never removes them from the event, because people are on an event for many reasons besides one role.
What an Effect Is
An effect is a rule on an event type with three parts: a name, conditions, and actions. When the conditions are met, every action runs. Effects are turned on and off individually, so you can keep one without letting it run.
Conditions are grouped. Each group combines its conditions with AND, OR, or "at least" a number of them, and the groups are combined with AND or OR. A condition can test four kinds of source:
- Event fields: the event's name and its location's name.
- Attributes: a value, whether it changed, and whether the attribute is required or tracked on this event.
- Roles: whether the role is filled, who holds it, and whether it is required or tracked.
- Intake answers: the answers given on the event's intake form.
An effect can carry several actions under one set of conditions:
| Action | When it can run |
|---|---|
| Add occupant to the event | On events |
| Send a notification | On events |
| Create an activity | On events |
| Don't build part of the template | At event creation |
| Require a role | At event creation and on events |
| Track a role as a task | At event creation and on events |
| Change how an attribute is tracked | At event creation and on events |
| Fill in an attribute | At event creation and on events |
| Fill a role | At event creation and on events |
When Effects Run
Effects are live. An effect wakes up when a source its conditions reference changes: a role is filled or emptied, an attribute value or its tracking changes, or an intake answer is edited. It is also evaluated once when the event is created. Effects only act on events of their type, and an action that changes the event never wakes another effect, so rules cannot set each other off in a loop.
Some actions keep up with the event after they run. An activity created by an effect moves when its dates change and is removed when either date is cleared. Other actions run once: a notification cannot be unsent, and a person added to the event stays on it. If one action cannot run, it is skipped and the change your team made is still saved.
Notifications sent by effects go to the people the type author chose, on the channels they chose, regardless of each person's own notification preferences, because they are operational messages about the event rather than updates someone subscribed to.