Skip to content
Notis

Count unique token wallets with a Slack reaction

When a holder breadth question is ready for analysis, react to the Slack message and let Notis query Bitquery for a distinct wallet count.

Trigger

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

Action

Count Distinct Metric

Tool to use the count distinct metric to aggregate unique values for a field. use when you need to count the number of unique occurrences in a dataset.

Why this helps

A participant check can remain an open thread because turning a discussion into an actual query requires another context switch.

  • Convert a discussion into a measurable follow-up.
  • Count distinct wallets instead of mistaking record volume for holder breadth.
  • Keep the scope of the analysis attached to the original question.

Setup

Build it in a few focused steps.

  • 1Connect Slack and Bitquery to Notis once in the portal.
  • 2Create an automation in the portal or ask Notis to run unique wallet counts when a chosen reaction is added.
  • 3Describe the outcome in one prompt: When the designated reaction is added to a Slack message asking for unique holders or participants, query Bitquery with count distinct for the specified network, token, and period and summarize the count.
  • 4Select Message Reaction Added, optionally filter by emoji or channel, and choose a run-report channel.
  • 5Test by reacting to a real message that states the token and network.

Questions about this workflow

Does count distinct count every transfer?

No. It counts unique occurrences of a field, such as wallet addresses, within the query.

What information should the message provide?

Name the token or contract, network, period, and that the question is about unique holders or participants.

Can the reaction be limited to a particular channel?

The trigger supports an optional channel filter.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Slack to Bitquery. A trigger fires from one place; an action lands in another.

Slack triggers

Bitquery actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Aliases Metric

Tool to use graphql aliases to rename fields in the response for clarity and disambiguation. use when you need to query multiple metrics with identical field names in one call.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Archive Database Query

Tool to query the archive database. use when you need full historical blockchain data (delayed by tens of minutes to hours).

ActionInstant

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Combined Database Query

Tool to query the combined database, which merges archive and real-time databases. use when you need both historical and up-to-the-second blockchain data in one request.

ActionInstant

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

TriggerInstant

Conditional Metrics Snippet

Tool to generate a graphql metric snippet with conditional logic. use when you need to apply filters directly on metric calculations via the `if` attribute.

ActionInstant

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

TriggerInstant

Count Distinct Metric

Tool to use the count distinct metric to aggregate unique values for a field. use when you need to count the number of unique occurrences in a dataset.

ActionInstant

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Count Metric

Tool to use the count metric to aggregate the number of records matching a graphql query. use when you need simple record counts.

ActionInstant

Message Reaction Removed

Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Database Selection

Tool to select the database (archive, realtime, combined) to query at the top level of a graphql request. use after determining whether you need live, historical, or combined blockchain data.

ActionInstant

Reaction Added Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.

TriggerInstant

Early Access Program Query

Tool to access streaming data across various blockchain networks for evaluation purposes. use when querying chains not available via the v2 endpoint; limited to real-time data only.

ActionInstant

Connect any two apps with Notis in the middle.

Slack and Bitquery, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Bitquery.