Carry a clear invoice rejection decision into Coupa
Record a settled review decision in the approval flow without asking someone to repeat the same step.
Trigger
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Action
Reject Approval
Tool to reject an approval. Use when you need to programmatically reject a pending approval by ID.
Why this helps
A final decision is stated in Slack, yet the invoice remains in the queue awaiting a second manual action.
- Reduces duplicate manual follow-up after a decision
- Keeps the approval state aligned with the explicit outcome
- Skips ambiguous or tentative discussions
Setup
Build it in a few focused steps.
- 1Connect Slack and Coupa to Notis once through the portal.
- 2Create a plain-language instruction to reject only a uniquely matched pending approval after an authorized person clearly states a final rejection decision.
- 3Select the Slack channel message trigger and choose a channel for run reports.
- 4Test with one real, final decision for a known pending approval.
Questions about this workflow
Will a concern or question reject an invoice?
No. Specify that only an explicit final rejection from an authorized person qualifies.
What if the invoice or approval cannot be matched?
Have Notis skip the action and report the unresolved match for human follow-up.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Slack to Coupa. A trigger fires from one place; an action lands in another.
Slack triggers
Coupa actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Abandon Invoice
Tool to abandon an invoice. Use when an invoice is invalid and needs to be abandoned. Invoice once abandoned cannot be reversed.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Create Account
Tool to create a Coupa account. Use when you need to provision a new general ledger account with a specific chart-of-accounts type and code segments.
New Channel Created Trigger
Triggered when a new channel is created in Slack.
List Accounts
Tool to list accounts from Coupa. Use when you need to retrieve account IDs and codes with optional filters and pagination.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Get Recent Accounts
Tool to retrieve recently accessed accounts from Coupa. Use when you need to view accounts that the user has recently interacted with.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
Get Account
Tool to retrieve a specific account by ID. Use when you need detailed account information including segments, type, and status.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Update Account
Tool to update an existing Coupa account. Use when you need to modify account information including account type, activation status, code segments, and display name.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
List Account Types
Tool to list account types in Coupa. Use when you need account type IDs and names for account creation.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
Get Account Type
Tool to retrieve a specific account type by ID. Use when you need detailed information about a chart of accounts.
Connect any two apps with Notis in the middle.
Slack and Coupa, 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 Coupa.