The moment it happens
Post to Slack when a customer pays
The moment a payment is recorded, Slack shows who paid and how much.
- Runs
- The moment it happens
- Apps
- QuickBooks
- AI
- Not needed
- Access
- accounting scope
Send this to your assistant
Create a ClickRuntime automation: when a payment is recorded in QuickBooks, post the customer name and amount to #finance in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a customer pays an invoice, the people who care are rarely the ones sitting in QuickBooks. The account manager wants to thank them, the project lead wants to start the next phase, and the owner wants to know cash arrived. Instead, they ask in chat whether a client has paid yet, and someone has to go and check.
As soon as QuickBooks sends a notification that a payment was created, ClickRuntime fetches the payment, looks up which customer and invoice it applies to, and posts a message in Slack with the customer name, the amount and the payment date. There is no polling, so the message appears within moments of the payment being recorded.
Sales and delivery teams that release work only after payment, and owners who want a feel for cash coming in, find it especially useful.
What you get out of it
Work starts the minute money arrives
A project that is waiting on a deposit can begin the moment the payment posts. Hours saved at the front of a job often decide whether a deadline is met.
Nobody asks whether the client has paid
The message answers a question that otherwise interrupts the finance person several times a week. Account managers see it in the channel and move on with their day. Finance keeps its attention for real exceptions.
Thanking customers becomes routine
A quick reply to a paying customer builds goodwill and confirms receipt. Seeing the payment in Slack the same hour makes that follow-up easy to do instead of an afterthought. A thank-you the same day lands better.
Cash visibility for owners
A running feed of payments gives owners a feel for cash flow without opening reports. A slow week is visible in the channel before it appears in a balance. You see slowdowns early enough to act on them.
Mismatches are noticed immediately
If the amount paid differs from what you expected, a short payment or an overpayment shows in the message. You can contact the customer while the transaction is fresh. A forgotten discount is found while a phone call is still easy.
How it works
What happens, step by step
When a customer payment is recorded in QuickBooks, QuickBooks tells ClickRuntime straight away.
ClickRuntime looks up the payment to find the customer and the amount.
A message goes to your #finance Slack channel, such as "Payment received: Northwind Traders, $1,500.00".
Before it runs live
- Connect QuickBooks
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other QuickBooks steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify
REALM_ID = "1234567890"
API = f"https://quickbooks.api.intuit.com/v3/company/{REALM_ID}"
def qb(method, path, **kw):
headers = {"Authorization": f"Bearer {credentials.connection('quickbooks', 'company')}", "Accept": "application/json"}
resp = http.request(method, f"{API}{path}", headers=headers, params={"minorversion": 73, **kw.pop("params", {})}, **kw)
resp.raise_for_status()
return resp.json()
def query(sql):
return qb("GET", "/query", params={"query": sql})["QueryResponse"]
@on_event
def handle(event):
posted = 0
for note in event.json.get("eventNotifications", []):
for entity in note["dataChangeEvent"]["entities"]:
if entity["name"] != "Payment" or entity["operation"] != "Create":
continue
payment = qb("GET", f"/payment/{entity['id']}")["Payment"]
notify.slack(f"π° Payment received: {payment['CustomerRef']['name']}, ${payment['TotalAmt']:,.2f}",
channel="#finance")
posted += 1
return {"posted": posted}FAQ
Common questions
Does it fire for partial payments?
Will payments made through QuickBooks Payments and those recorded manually both show up?
Can the alert go to a different Slack channel for large payments?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Invoice new customers straight from your order form
Each order or job request becomes a QuickBooks customer and an invoice, sent by QuickBooks, with a confirmation to you.
See how it worksTurn quote requests into QuickBooks estimates
Every quote request or recorded sale becomes an estimate or sales receipt, and you get its number by email.
See how it worksSee every new invoice in Slack
Each invoice created in QuickBooks shows up in Slack with customer, amount and due date.
See how it worksKeep exploring
Set up βPost to Slack when a customer paysβ from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.