Pleaxy Blog

Approve invoices from Slack or Teams with the Pleaxy Assistant

Approval requests arrive where your approvers already work. Ask the Assistant why an invoice was held, then approve or reject it in the same chat.

by Ryan Brownon in Pleaxy Assistant, Approvals, Integrations7 min read

Solution overview

Approvers rarely sit in their procurement tool all day. They're in Slack or Microsoft Teams, and an approval request that waits in an inbox they don't open becomes a late payment, a supplier chasing Accounts Receivable, and a Finance Manager asking why.

In this post, I show you how to bring Pleaxy approvals to where your approvers already work. Approval requests arrive as Slack messages or Teams cards. The Pleaxy Assistant answers questions about an invoice before you decide. And you approve or reject it in the same conversation. At the end, I show how to give Claude, or any other MCP-compatible agent, the same view of your invoices through the Pleaxy MCP server.

  1. Pleaxy

    An invoice is checked against its purchase order and contract, and its approval chain reaches your step.

  2. Slack or Teams

    The approval request comes to you as a direct message or a card, with the invoice, the supplier, the amount and your step.

  3. Pleaxy Assistant

    You ask why the invoice was held, or how much is left on its PO, and the Assistant answers from your workspace.

  4. You

    You approve or reject it there. Pleaxy records the decision under your name, and the invoice moves to its next step.

Prerequisites

  • An administrator connects the region. In the buyer or supplier profile, Integrations tab, Slack and Microsoft Teams, they choose Connect Slack or Connect Microsoft Teams. A region connects once, and both its buyer and supplier profiles use that connection. For Teams, your Teams administrator first adds the Pleaxy app from your organization's app catalog.
  • Each approver links their own account. On their Profile page, under Slack & Teams, they choose Link my Slack account (or link their Microsoft account). Linking tells Pleaxy which Slack or Teams user they are, so their requests reach them and nobody else. If you work in more than one region, you link in each one.
  • Assistant messages on your plan. Every plan comes with a monthly allowance of Pleaxy Assistant messages. The pricing page has the limits and how to buy more. Confirming or cancelling an action the Assistant proposed doesn't count as a message.

Step 1: approve from the request

When an invoice or purchase order reaches your step, Pleaxy sends you the request. In Slack it's a direct message from the Pleaxy app; in Teams, a card in your chat with Pleaxy.

Pleaxy

INV-4471 needs your approval

Invoice
INV-4471
Supplier
Halden Data
Amount
$18,840.00
Your step
Finance Manager
  • Approve approves your step. In Slack, it asks you to confirm the amount and supplier once more first. The invoice moves on to the next person in the chain, or is ready to pay if yours was the last step.
  • Reject an invoice and Pleaxy asks for a reason and a note first, because the supplier reads them word for word. Rejecting a PO-backed invoice reopens its purchase order for a corrected invoice.
  • The buttons go when they no longer apply. If someone reassigns the step, or you already decided in Pleaxy, the message shows where the document stands instead, such as Approved or Waiting on Finance.

Step 2: ask before you decide

$18,840 is more than Halden Data usually bills. Instead of opening the invoice, the contract and the PO in three tabs, message the Pleaxy app in Slack, or your chat with Pleaxy in Teams, and ask. The Assistant reads your workspace as you, so it sees exactly what you can see in Pleaxy.

You

Why is INV-4471 from Halden Data more than usual?

Pleaxy Assistant

INV-4471 bills 40 support hours at $165 an hour. Your contract with Halden Data sets $150, so the invoice is $600 over the contract and Pleaxy held it. The rest of the invoice matches PO-3120, which has $21,500 left. You're the Finance Manager step, and it doesn't need a Director.

Other questions approvers ask: which invoices are waiting on me, what's been billed against a PO this quarter, or when an approved invoice is due to be paid. In Slack you can also type /pleaxy and an invoice or PO number to look it up in any conversation; in Teams, use Find in Pleaxy from any chat.

Step 3: let the Assistant prepare the decision

You can also tell the Assistant what to do. For approving or rejecting an invoice, recording a payment, or anything that changes what gets approved, it never acts on its own: it proposes the action on a card, and nothing happens until you press Confirm.

You

Reject it and ask them to rebill the hours at the contract rate.

Pleaxy Assistant

Here's the rejection. Halden Data will see the reason and the note exactly as written.

Reject INV-4471 from Halden Data?

  • Reason: Amount is incorrect
  • Note to Halden Data: Please rebill the 40 support hours at the contract rate of $150 an hour.

Press Confirm and the invoice is rejected, as if you had rejected it in Pleaxy. Halden Data is told, and PO-3120 reopens for the corrected invoice. The same card works in the Pleaxy console, in Slack and in Teams.

Bring your own agent: Claude, Codex and the Pleaxy MCP server

If your team already works in Claude or Codex, or runs its own operations agent, connect it to Pleaxy through the Pleaxy MCP server. Each tool call is one request to the same API the console uses, so the agent can do exactly what its API key allows.

  1. An administrator mints a scoped API key while signed in, and copies the Workspace ID from the Integrations tab of the buyer profile.
  2. Add the server to Claude Desktop, Claude Code or Codex. It's on npm as pleaxy-mcp, so npx fetches it; you need Node.js 22.18 or later.
mcp config · json
{
  "mcpServers": {
    "pleaxy": {
      "command": "npx",
      "args": ["-y", "pleaxy-mcp"],
      "env": {
        "PLEAXY_API_BASE_URL": "https://api.pleaxy.ai",
        "PLEAXY_API_KEY": "<keyId>.<secret>",
        "PLEAXY_WORKSPACE_ID": "<Integrations tab → Workspace ID>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.pleaxy]
command = "npx"
args = ["-y", "pleaxy-mcp"]

[mcp_servers.pleaxy.env]
PLEAXY_API_BASE_URL = "https://api.pleaxy.ai"
PLEAXY_API_KEY = "<keyId>.<secret>"
PLEAXY_WORKSPACE_ID = "<Integrations tab → Workspace ID>"

Now your agent can list invoices, run an invoice match and explain a discrepancy. What it can't do with an API key is decide: approve_invoice and reject_invoice are refused with HUMAN_APPROVAL_REQUIRED, and the agent tells you who has to approve in Pleaxy. That's deliberate. The person the approval step names makes the decision, in Pleaxy, Slack or Teams. See AI agents (MCP) in the docs for the full tool list.

Coming soon: a hosted Pleaxy MCP server you connect by signing in to Pleaxy, with no API key to create and nothing to install.

Good to know

  • Only the named person decides. Every approval step is assigned to one person, and only that person can approve or reject it, wherever they press the button. An API key can never approve or reject.
  • One history. A decision made in Slack or Teams lands in the document's approval history next to the ones made in Pleaxy, with who made it.
  • Small invoices can approve themselves. On the Autonomous plan, turn on autonomy and Pleaxy signs off anything under your ceiling that doesn't need a Director, so approvers only see the ones that need them.
  • Channels for the whole team. Workspace-wide notifications can also go to a Slack or Teams channel your team already watches, each with an Open in Pleaxy button.

Conclusion

In this post, I showed you how to approve invoices without leaving Slack or Teams: requests arrive as messages, the Pleaxy Assistant answers the questions you'd otherwise open three tabs for, and every decision still belongs to the person whose step it is. Your approvers decide sooner, and your suppliers get paid on time.

To get started, ask an administrator to connect Slack or Teams on the Integrations tab, then link your account from your Profile page. Read more on the Approvals & autonomy and Procurement agent pages, or talk to us if you'd like a hand.

About the author

Ryan Brown

Lead developer, Pleaxy platform

Ryan Brown is the lead developer of the Pleaxy platform. He builds the API, the webhooks and the integrations that connect Pleaxy to the accounting and ERP systems finance teams already run.

Talk to us