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.
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.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Archive Database Query
Tool to query the archive database. use when you need full historical blockchain data (delayed by tens of minutes to hours).
New Channel Created Trigger
Triggered when a new channel is created in Slack.
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.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
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.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
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.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
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.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
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.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
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.
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.