Skip to content

Signals

Signals are events with a specific name. Signals are broadcasted globally, they are not limited by a process scope. It means that signal triggered in one BPM process can be caught in another process.

Signals feature is a part of Advanced Pack extension and can be utilized in BPM and Workflows tools.

There are set of standard signals which are broadcasted upon specific events in the application. These built-in signals are listed below in the article.

It's also possible to broadcast custom signals in BPM process or via code.

There are two types of signals:

  • Regular signals
  • Object signals

In this article:

Regular signals

  • Can be broadcasted and caught within a running process.
  • Can't be used to start a process or workflow rule.

Note: Signal Intermediate Events can catch and throw regular signals (in BPM process).

Built-in signals

Note: Parts in upper case (ENTITY_TYPE, ID, LINK_NAME, etc.) will/should be replaced by corresponding values.

Default

  • create.ENTITY_TYPE – record of ENTITY_TYPE created, e.g. create.Lead
  • update.ENTITY_TYPE.ID – record update, e.g. update.Lead.007
  • delete.ENTITY_TYPE.ID – record removed
  • relate.ENTITY_TYPE.ID.LINK_NAME – record related with another record (only for many-to-many)
  • relate.ENTITY_TYPE.ID.LINK_NAME.FOREIGN_ID – record related with another record, id of related recod is specified (only for many-to-many)
  • unrelate.ENTITY_TYPE.ID.LINK_NAME – record unrelated from another record (only for many-to-many)
  • unrelate.ENTITY_TYPE.ID.LINK_NAME.FOREIGN_ID – (only for many-to-many)
  • createRelated.ENTITY_TYPE.ID.LINK_NAME – created celated record, one-to-many relationship, e.g. Opportunity created for Account
  • createChild.ENTITY_TYPE.ID.CHILD_ENTITY_TYPE – when created a record related through parent, e.g. Meeting created for Account
  • streamPost.ENTITY_TYPE.ID – when somebody posted in stream

Contacts/Leads

  • leadCapture.ENTITY_TYPE.ID – when lead (or contact) is processed through Lead Capture (confirmed opt-in if it's enabled)
  • leadCapture.ENTITY_TYPE.ID.LEAD_CAPTURE_ID – the same, but id of Lead Capture record is specified
  • optOut.ENTITY_TYPE.ID – person opted-out
  • optOut.ENTITY_TYPE.ID.TARGET_LIST_ID – person opted-out from specific target list
  • cancelOptOut.ENTITY_TYPE.ID – person opted-in again
  • cancelOptOut.ENTITY_TYPE.ID.TARGET_LIST_ID
  • eventAccepted.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE – person accepted meeting/call invitation
  • eventAccepted.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE.EVENT_ID – person accepted meeting/call invitation, event id is specified
  • eventTentative.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE – person set Tentative status in meeting/call invitation
  • eventTentative.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE.EVENT_ID
  • eventAcceptedTentative.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE – person set Accepted or Tentative status in meeting/call invitation
  • eventAcceptedTentative.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE.EVENT_ID
  • eventDeclined.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE – person declined meeting/call invitation
  • eventDeclined.ENTITY_TYPE.ID.EVENT_ENTITY_TYPE.EVENT_ID

Contacts/Leads/Accounts/Users

  • clickUrl.ENTITY_TYPE.ID – recipient opened a tracking url
  • clickUrl.ENTITY_TYPE.ID.CAMPAIGN_TRACKING_URL_ID – recipient opened a specfic tracking url

Placeholders

You can use placeholders when you define a signal name that will be broadcasted by the throwing event in the BPM process.

  • {$attribute} – attribute of target record
  • {$$variable} – formula variable

E.g. mySignal.{$status}.{$id}type and id are attributes of the target record. Placeholders will be replaced with attribute values, so the actual signal name will look like mySigal.New.someIdValue.

Object signals

  • Broadcasted along with the entity (record).
  • Prefixed with @ character.
  • Can be used only to initiate a new process or workflow rule.
  • Can't by caught withing a running process.
  • Can be broadcasted by a running process.

Note: Signal Intermediate Event (Catching) can't catch object signals.

Example: A process triggers signal @approve. A target record of Lead entity type is attached to the signal. You have another BPM flowchart for Lead entity type that starts with @approve signal. In this case, a new process will be started, and lead record from the first process will be passed as a target record of the second process.

Built-in signals

Note: Parts in upper case (LINK_NAME, FOREIGN_ID, etc.) will/should be replaced by corresponding values.

Default

  • @create – record created
  • @update – record updated
  • @delete – record removed
  • @relate.LINK_NAME – record related with another record (only for many-to-many)
  • @relate.LINK_NAME.FOREIGN_ID – record related with another record, id of related recod is specified (only for many-to-many)
  • @unrelate.LINK_NAME – record unrelated from another record (only for many-to-many)
  • @unrelate.LINK_NAME.FOREIGN_ID

Contacts/Leads:

  • @leadCapture – when lead (or contact) is processed through Lead Capture (confirmed opt-in if it's enabled)
  • @leadCapture.LEAD_CAPTURE_ID
  • @optOut – person opted-out
  • @optOut.TARGET_LIST_ID – person opted-out from specific target list
  • @cancelOptOut – person opted-in again
  • @cancelOptOut.TARGET_LIST_ID

Contacts/Leads/Accounts/Users

  • @clickUrl – recipient opened a tracking url
  • @clickUrl.CAMPAIGN_TRACKING_URL_ID – recipient opened a specfic tracking url

Naming clarification

  • ID – ID of a record that you can obtain from the browser address bar
  • ENTITY_TYPE – entity type of the record (not translated), you can obtain it at Administration > Entity Manager
  • LINK_NAME – relation name, you can obtain it at Administration > Entity Manager
  • FOREIGN_ID – ID of a related record