About Gable Actions

Gable Actions is a customizable event-based notification system that enables users to define rules (Actions) for receiving alerts about data and contract changes. By configuring actions with specific triggers, users can stay informed about critical events such as schema changes, modifications, or violations within their data ecosystem.

Key Features

  • Customizable Rules: Define conditions for when notifications should be sent.
  • Multi-Channel Delivery: Send notifications via Slack or email.
  • Instant Updates: Stay informed about relevant events in real time.

Use Cases

  • Data Teams: Identify changes to data assets, such as schema updates, data drift, or data quality violations.
  • Engineering Teams: Stay informed about PR merges and data modifications affecting workflows.
  • Engineering Leadership: Gain visibility into the status of the data ecosystem and business-critical assets.

How It Works

Gable Actions operates by monitoring change events in the Gable ecosystem and notifying users based on their defined Actions. Each Action consists of:
  • Triggers: Conditions specifying when the notification should activate.
  • Destinations: The channels (e.g., Slack, email) where notifications are delivered.

Event Processing Flow

  1. A change event is logged (e.g., “New Data Asset Created”).
  2. The event is matched against user-defined Actions.
  3. If the event satisfies the trigger conditions:
    • Notifications are sent to the specified destinations.

Triggers and Destinations

Triggers

Triggers define the conditions under which an Action is executed. Gable supports a variety of change events and filters, including:

Supported Triggers

  • Asset Triggers
    • New asset registered.
    • Asset deleted/removed.
    • Asset data updated (e.g., semantic drift, null values).
  • Contract Triggers
    • Contract created.
    • Contract updated.
    • Contract removed.
    • Contract violations.
  • Asset Group Triggers
    • Asset origin type (e.g., S3, Postgres, Typescript, Protobuf).
    • Asset origin (repository location of the asset).

Destinations

When a trigger condition is met, Gable Actions delivers notifications via:
  • Slack: Alerts sent to designated channels.
  • Email: Notifications sent to specified recipients.
  • Webhook: Custom integrations with external systems (future support).

Configuring Gable Actions

Defining an Action

Actions can be created through the Gable UI by specifying:
  1. Triggers: Choose the event type and filters (e.g., “Asset Created”).
  2. Destinations: Select where notifications should be sent (e.g., Slack channel #data-team).

Scenario: Notify the Data Team When a New Asset is Registered

Follow these steps to create an action for this scenario:
  1. Navigate to the Actions page.\
  2. Click the “Create an Action” button in the top-right corner of the page.
    • This redirects you to the changelog page, where a sidebar with interactive filters for the changelog is displayed.
  3. In the sidebar, select the filter labeled “Asset Registered”.
    • After selecting the filter, a new button titled “Create an Action” will appear at the bottom of the sidebar.
  4. Click the “Create an Action” button.
  5. In the Action Name text box, enter a name for your action.
    • If needed, you can add more triggers by selecting the ”+ Add Filter” button.
  6. Under the Destinations section, specify the Slack channel to send notifications to, then click “Create”.\
  7. You will be redirected back to the Actions page, where you can view high-level details about the newly created action.
  8. Manage the action from the Actions Table:\
    • Toggle the Action: Turn the action on or off by clicking the switch in the Status column.
    • Edit or Delete the Action: Click the corresponding icon in the Action column to edit or delete the action.\
      • Editing an action will take you back to step 3.
  9. To view a historical record of all notifications, click the “Audit Log” tab above the actions table.
  • The audit log includes detailed information such as the Slack channel the notification was sent to, the specific triggers used, and the notification status.

Example Slack Notification