Airtable contractor payment approvals to Wise quotes in Slack
When a row in your Airtable approval table flips to Approved, prepare a Wise transfer quote and post it in Slack so a human can fund the payment.
Build me an agent workflow that turns Airtable approvals into ready-to-fund Wise transfer quotes in Slack. I want a human still in the loop to actually move money, so the workflow should prepare the payment and stop short of sending it.
Trigger: poll Airtable for new or updated records in my Invoices to Pay table. The agent should only act on a row when Status is Approved and the row has a payee, an amount, a source currency, and a target currency filled in. Skip rows that are missing any of those fields, and skip rows that have already been processed.
For each qualifying row, the agent should:
1) Call Wise List Recipients and find the beneficiary that matches the payee on the Airtable row. Match on email if there is an email column, otherwise on full name. If more than one recipient looks like a plausible match, pick the closest one and mention the ambiguity in the Slack message.
2) Call Wise Create Quote using the source currency, target currency, and target amount from the row. Capture the fee, exchange rate, total source amount to pay, and delivery estimate.
3) Post a Slack message via Send a Message to the #payments-approvals channel that includes: the payee name and matched Wise recipient, the target amount and currency, the full quote breakdown (fee, exchange rate, delivery estimate, total source amount), a link or reference back to the Airtable row, and a clear note that NO FUNDS HAVE BEEN MOVED YET and a teammate needs to fund this transfer manually in Wise.
If Wise List Recipients returns no plausible match for the payee, do not create a quote. Instead, post a different Slack message in the same channel telling the requester that the recipient does not exist in Wise and they need to add the recipient first, then re-approve the row.
Keep the Slack copy compact and scannable. Use a short header, then the quote breakdown as a clean list. Make it obvious whether this is a quote-ready message or a missing-recipient message at a glance.
Do not call Wise Create Transfer and do not call Wise Fund Transfer. Stop at the quote.
Additional information
What does this prompt do?
- Watches your Airtable Invoices to Pay table for rows that move to Approved with a payee, amount, and currency.
- Looks up the matching recipient in Wise by name or email and prepares a transfer quote with the exchange rate, fee, and delivery estimate.
- Posts the quote breakdown in your #payments-approvals Slack channel so a teammate can review the numbers and fund the transfer in Wise manually.
- If no matching recipient exists in Wise, posts a different Slack message asking the requester to add the recipient first.
What do I need to use this?
- An Airtable base with a table that tracks invoices or contractor payments (with status, payee, amount, and currency columns).
- A Wise account with API access and your contractor recipients already set up as beneficiaries.
- A Slack workspace and a channel where the approval messages should land (for example #payments-approvals).
How can I customize it?
- Point the workflow at any Airtable table and rename the status value (Approved, Ready to Pay, Cleared, etc.) that should kick things off.
- Change the Slack channel, message wording, or who gets tagged for the final review.
- Adjust how the agent matches a row to a Wise recipient (by email only, by full name, or by a custom Wise Recipient ID column on the row).
Frequently asked questions
Does this actually send the money?
What happens if the payee on the row does not match any Wise recipient?
Can I use Google Sheets or another tool instead of Airtable?
Will the Slack message show the exchange rate and fees?
How fast will it react to an approval?
Stop manually chasing contractor payouts.
Approve a row in Airtable and Geni preps the Wise transfer in Slack, ready for a human to fund.