The moment it happens
Get a Slack message for each Box upload
Whenever a file lands in the folder you pick, your channel sees its name, who uploaded it and a link.
- Runs
- The moment it happens
- Apps
- Box
- AI
- Not needed
- Access
- read (manage webhooks scope)
Send this to your assistant
Create a ClickRuntime automation: whenever someone uploads a file to my Box folder 'Submissions', post the file name, the uploader and a link to #intake in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A project folder in Box is where a client drops signed documents, a vendor uploads invoices or a field team adds photos at the end of a job. The person waiting for the file has no idea it arrived. They check the folder twice a day, or ask for an email, or the uploader forgets to say anything, and a signed contract sits in a folder for two days while a project start date slips.
As soon as Box reports a new file, ClickRuntime verifies the signature on the incoming event to be sure it really came from Box, then posts the file name, the person who uploaded it and a link to Slack. The message appears in the channel you pick the moment the upload finishes.
It is well suited to handoff folders, where a file landing is the trigger for the next person to act.
What you get out of it
Handoffs happen when the file lands
The next person in the chain acts the moment a file arrives rather than at the next time they remember to check. That removes dead time between steps in a project.
The uploader is named in the post
Seeing who added the file avoids the question of where a document came from. Follow-up questions go straight to the right person. It also shortens the time a vendor spends waiting for a confirmation that the file was received.
Signed documents are not missed
Contracts, approvals and forms often start the clock on a project. An immediate alert keeps those start dates and payment schedules on track. Late discovery of a signed agreement can delay a start date by days.
Verified events only
The signature check means the workflow acts only on genuine Box events. Someone sending fake requests to the webhook address cannot make false notifications appear in your channel. That protects the integrity of the channel as a source of truth for the team.
Less chasing by email
People stop asking whether the file has been uploaded yet, because the channel answers it. Fewer interruptions on both sides make small collaborations feel smoother. A clean channel replaces repeated check-in emails and keeps coordination light for everyone involved.
How it works
What happens, step by step
When a file is uploaded to your Box folder, Box tells ClickRuntime straight away.
ClickRuntime checks the message really came from Box.
It posts the file name, who uploaded it and a link to your Slack channel.
Before it runs live
- Connect Box
- 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 Box steps into one automation
Under the hood
The code that runs this automation
import base64, hashlib, hmac
from clickruntime import on_event, notify, credentials
@on_event
def handle(event):
key = credentials.secret("BOX_WEBHOOK_PRIMARY_KEY").encode()
digest = hmac.new(key, event.body.encode() + event.header("box-delivery-timestamp").encode(), hashlib.sha256).digest()
if not hmac.compare_digest(base64.b64encode(digest).decode(), event.header("box-signature-primary") or ""):
return {"posted": False, "reason": "bad signature"}
body = event.json
if body.get("trigger") != "FILE.UPLOADED":
return {"posted": False}
f, who = body["source"], body["created_by"]
notify.slack(f"New in Submissions: {f['name']} (uploaded by {who['name']})\nhttps://app.box.com/file/{f['id']}", channel="#intake")
return {"posted": True}FAQ
Common questions
What does the signature verification do?
Does it trigger for files uploaded to subfolders?
Will it post for updated versions of a file?
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
See Box file comments in Slack as they're posted
Comments on files in your folder reach your channel straight away, with the text and a link to the file.
See how it worksGet pinged when a Box task is assigned to you
Tasks assigned to you on contract files show up in Slack with the message, due date and file link, while other people's are skipped.
See how it worksGet a short summary of each new Box document
Each document placed in your folder arrives in your inbox as three bullet points and a link, so you know whether to open it.
See how it worksKeep exploring
Set up “Get a Slack message for each Box upload” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.