Extract invoice data from Slack DMs
Forward an invoice in Slack and get structured fields back automatically.
Trigger
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
Action
Create Document
Tool to upload a new document for parsing. use when you have the document file or a public url and need to extract structured data immediately.
Why this helps
Invoices sent privately are easy to overlook and slow down bookkeeping.
- Process private invoice requests quickly
- Capture totals and vendor details consistently
- Reduce bookkeeping handoffs
Setup
Build it in a few focused steps.
- 1Connect Slackbot and Affinda once in Notis.
- 2Create an automation named DM invoice extractor.
- 3Tell Notis to send any invoice attachment or URL from a DM to Affinda and summarize the extracted fields.
- 4Pick Direct Message Received as the trigger and choose where reports go.
- 5Test with one real invoice DM.
Questions about this workflow
Does this work with invoice attachments?
Yes. Ask Notis to use the attachment supplied in the DM when creating the Affinda document.
Can I keep the result private?
Choose a restricted report channel or another private destination.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Slackbot to Affinda. A trigger fires from one place; an action lands in another.
Slackbot triggers
Affinda actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Batch Update Annotations
Tool to update multiple annotations in one request. use when you need to modify parsed values or other fields across many annotations at once.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Create Collection
Tool to create a new collection. use after you have a valid workspace id and want to group documents by a specific extractor within that workspace.
New Channel Created Trigger
Triggered when a new channel is created in Slack.
Create Document
Tool to upload a new document for parsing. use when you have the document file or a public url and need to extract structured data immediately.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Create Organization
Tool to create a new organization. use when you have a unique organization name and want to group resources under it.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
Create RESTHook Subscription
Tool to create a new resthook subscription. use after confirming your webhook endpoint is ready to receive document event notifications.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Create Tag
Tool to create a new tag. use when you need to label documents in a specific workspace.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
Create Validation Result
Tool to create a validation result. use when recording validation outcomes for a document after parsing.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
Create Workspace
Tool to create a new workspace. use when you need to programmatically create a workspace container within an organization.
Connect any two apps with Notis in the middle.
Slackbot and Affinda, 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 Affinda.