Share post

Share post

Share post

Blog: Technical Guides

Using Omnata to send Snowflake Marketplace listing events to Slack

Using Omnata to send Snowflake Marketplace listing events to Slack

Partnerships |

Snowflake

By:

24 June 2025

At Omnata, we push all of our Snowflake Marketplace events to Slack as a primary workspace.

We have a shared channel between our sales and Snowflake partner team to collaborate on new opportunities, free trials and closed won deals.

We are working on adding support for Microsoft Teams (contact us to request access)

How to do this using Omnata

There are a few simple steps to configuring this for your provider account.

  1. Install the Omnata Sync Engine and the Slack Plugin from the Snowflake Marketplace

  2. Create an outbound sync source view off the Snowflake’s Listing Event table

  3. Configure an outbound sync(s) to your Slack channels

  4. Sit back and watch your installs and purchase notifications roll in

Install the Omnata native apps

  1. Omnata Sync Engine - This is the main control pane for connections, sync configurations and monitoring.

  2. Omnata Slack Plugin - This is the connector to the Slack endpoints and it will cost you $4/day.

Create a view of the Listing Events tables that will work for Omnata outbound syncs.

Omnata manages the incremental records that need to be push to destinations. For this, your table needs a Unique ID and you can add in any other fields you want to appear in the Slack message.

Here is a basic template to fire trial notifications, you can get as creative as you like with other information from Snowflake.

--Create a view of SNOWFLAKE.DATA_SHARING_USAGE.LISTING_EVENTS_DAILY structured for outbound syncs with Slack

SELECT 
    -- Date and timestamp fields
    event_date,
    event_timestamp,
    
    -- Exchange and listing information
    exchange_name,
    event_type,
    snowflake_region,
    listing_name,
    listing_display_name,
    listing_global_name,
    
    -- Consumer information
    consumer_account_locator,
    consumer_account_name,
    consumer_organization,
    consumer_email,
    terms_accepted_date,
    consumer_metadata,
    region_group,
    
    -- Parsed consumer name
    consumer_name,
    PARSE_JSON(consumer_metadata):first_name::STRING AS first_name,
    PARSE_JSON(consumer_metadata):last_name::STRING AS last_name,
    
    -- Creates a unique ID
    CONCAT(
        event_type, 
        event_timestamp, 
        terms_accepted_date, 
        listing_global_name, 
        consumer_account_locator
    ) AS unique_id,

    --Counts events    
    ROW_NUMBER() OVER (ORDER BY event_timestamp, listing_global_name, consumer_account_locator) AS row_number

FROM SNOWFLAKE.DATA_SHARING_USAGE.LISTING_EVENTS_DAILY

WHERE 
    event_type = 'TRIAL' -- or add any other event types here
    --AND event_date > '2025-01-31'
    ;


Configure the outbound sync to Slack

Omnata’s configuration wizard steps you through the process of creating an outbound sync. For Slack, it’s quite simple, Omnata will post a message whenever a new record appears in the source table.

You can add any Snowflake column in the source table as a field in the Jinja template.

Omnata runs on a schedule either with uniform gaps or on a cron schedule. We run ours four times a day on a cron schedule to pick up any events that drop into the Listing Events table during business hours.


Watch those notifications roll in…

At Omnata, we push all of our Snowflake Marketplace events to Slack as a primary workspace.

We have a shared channel between our sales and Snowflake partner team to collaborate on new opportunities, free trials and closed won deals.

We are working on adding support for Microsoft Teams (contact us to request access)

How to do this using Omnata

There are a few simple steps to configuring this for your provider account.

  1. Install the Omnata Sync Engine and the Slack Plugin from the Snowflake Marketplace

  2. Create an outbound sync source view off the Snowflake’s Listing Event table

  3. Configure an outbound sync(s) to your Slack channels

  4. Sit back and watch your installs and purchase notifications roll in

Install the Omnata native apps

  1. Omnata Sync Engine - This is the main control pane for connections, sync configurations and monitoring.

  2. Omnata Slack Plugin - This is the connector to the Slack endpoints and it will cost you $4/day.

Create a view of the Listing Events tables that will work for Omnata outbound syncs.

Omnata manages the incremental records that need to be push to destinations. For this, your table needs a Unique ID and you can add in any other fields you want to appear in the Slack message.

Here is a basic template to fire trial notifications, you can get as creative as you like with other information from Snowflake.

--Create a view of SNOWFLAKE.DATA_SHARING_USAGE.LISTING_EVENTS_DAILY structured for outbound syncs with Slack

SELECT 
    -- Date and timestamp fields
    event_date,
    event_timestamp,
    
    -- Exchange and listing information
    exchange_name,
    event_type,
    snowflake_region,
    listing_name,
    listing_display_name,
    listing_global_name,
    
    -- Consumer information
    consumer_account_locator,
    consumer_account_name,
    consumer_organization,
    consumer_email,
    terms_accepted_date,
    consumer_metadata,
    region_group,
    
    -- Parsed consumer name
    consumer_name,
    PARSE_JSON(consumer_metadata):first_name::STRING AS first_name,
    PARSE_JSON(consumer_metadata):last_name::STRING AS last_name,
    
    -- Creates a unique ID
    CONCAT(
        event_type, 
        event_timestamp, 
        terms_accepted_date, 
        listing_global_name, 
        consumer_account_locator
    ) AS unique_id,

    --Counts events    
    ROW_NUMBER() OVER (ORDER BY event_timestamp, listing_global_name, consumer_account_locator) AS row_number

FROM SNOWFLAKE.DATA_SHARING_USAGE.LISTING_EVENTS_DAILY

WHERE 
    event_type = 'TRIAL' -- or add any other event types here
    --AND event_date > '2025-01-31'
    ;


Configure the outbound sync to Slack

Omnata’s configuration wizard steps you through the process of creating an outbound sync. For Slack, it’s quite simple, Omnata will post a message whenever a new record appears in the source table.

You can add any Snowflake column in the source table as a field in the Jinja template.

Omnata runs on a schedule either with uniform gaps or on a cron schedule. We run ours four times a day on a cron schedule to pick up any events that drop into the Listing Events table during business hours.


Watch those notifications roll in…

At Omnata, we push all of our Snowflake Marketplace events to Slack as a primary workspace.

We have a shared channel between our sales and Snowflake partner team to collaborate on new opportunities, free trials and closed won deals.

We are working on adding support for Microsoft Teams (contact us to request access)

How to do this using Omnata

There are a few simple steps to configuring this for your provider account.

  1. Install the Omnata Sync Engine and the Slack Plugin from the Snowflake Marketplace

  2. Create an outbound sync source view off the Snowflake’s Listing Event table

  3. Configure an outbound sync(s) to your Slack channels

  4. Sit back and watch your installs and purchase notifications roll in

Install the Omnata native apps

  1. Omnata Sync Engine - This is the main control pane for connections, sync configurations and monitoring.

  2. Omnata Slack Plugin - This is the connector to the Slack endpoints and it will cost you $4/day.

Create a view of the Listing Events tables that will work for Omnata outbound syncs.

Omnata manages the incremental records that need to be push to destinations. For this, your table needs a Unique ID and you can add in any other fields you want to appear in the Slack message.

Here is a basic template to fire trial notifications, you can get as creative as you like with other information from Snowflake.

--Create a view of SNOWFLAKE.DATA_SHARING_USAGE.LISTING_EVENTS_DAILY structured for outbound syncs with Slack

SELECT 
    -- Date and timestamp fields
    event_date,
    event_timestamp,
    
    -- Exchange and listing information
    exchange_name,
    event_type,
    snowflake_region,
    listing_name,
    listing_display_name,
    listing_global_name,
    
    -- Consumer information
    consumer_account_locator,
    consumer_account_name,
    consumer_organization,
    consumer_email,
    terms_accepted_date,
    consumer_metadata,
    region_group,
    
    -- Parsed consumer name
    consumer_name,
    PARSE_JSON(consumer_metadata):first_name::STRING AS first_name,
    PARSE_JSON(consumer_metadata):last_name::STRING AS last_name,
    
    -- Creates a unique ID
    CONCAT(
        event_type, 
        event_timestamp, 
        terms_accepted_date, 
        listing_global_name, 
        consumer_account_locator
    ) AS unique_id,

    --Counts events    
    ROW_NUMBER() OVER (ORDER BY event_timestamp, listing_global_name, consumer_account_locator) AS row_number

FROM SNOWFLAKE.DATA_SHARING_USAGE.LISTING_EVENTS_DAILY

WHERE 
    event_type = 'TRIAL' -- or add any other event types here
    --AND event_date > '2025-01-31'
    ;


Configure the outbound sync to Slack

Omnata’s configuration wizard steps you through the process of creating an outbound sync. For Slack, it’s quite simple, Omnata will post a message whenever a new record appears in the source table.

You can add any Snowflake column in the source table as a field in the Jinja template.

Omnata runs on a schedule either with uniform gaps or on a cron schedule. We run ours four times a day on a cron schedule to pick up any events that drop into the Listing Events table during business hours.


Watch those notifications roll in…

subscribe

Deliver the goods to your inbox

subscribe

Deliver the goods to your inbox

subscribe

Deliver the goods to your inbox