record.merge automation events can allow or reject a record merge request based on its properties (e.g. record type, records, source ids, target id, worker).

This occurs after merge mapping. A worker must still have permission to merge records in one of their roles.

This uses events KATA, and the first automation to return: is used.

For instance, a policy could require that tickets can only be merged if they share the same group or participants.

Placeholders

The automation event dictionary starts with the following values:

Key Type Notes
record_type_* text The record type being merged.
records records An array of record dictionaries to be merged.
source_ids array An array of record IDs being merged into target_id.
target_id id The destination record ID the source_ids will be merged into.
worker_* record The current worker dictionary. Supports key expansion.

Outputs

Key Type Notes
deny: string If set, the merge is denied, and this key's value is the displayed error message. If omitted the merge is allowed.

Examples

Only allow admins to merge tickets:

  • start:
      outcome/notAdmin:
        if@bool: {{not worker_is_superuser}}
        then:
          return:
            deny: Sorry, only admins can merge tickets.
  • automation/merge:
      uri: cerb:automation:example.merge.adminsOnly
      disabled@bool: {{record_type is not record type ('ticket')}}