Create a trigger
Create a files trigger — pick the event and the folder, then the action (send an email, push or SMS, call a webhook, run code, send an in-app event).
Where: Files → Triggers → Add New · /projects/<project>/files/triggers/new
Before you start
For Send Email: the Email module is on, with an email template and an email integration (every project gets the Fake one, Test Me). For Send Push Notification / Send SMS: the same in that module. For Call Webhook: a destination in Project → Settings → Webhooks.
To pick a folder from a list, the project needs a files integration with that folder — see Browser. You can also type the folder.
Steps
Press Add New. Under If this → Select trigger actions, pick the event: When uploaded or When deleted. The box below tells you what the action gets (Usage: 'New.File.*'). Under In this folder, type a folder or pick it in the list below the field (Every file,
catalog,mugs, …), for examplecatalog. Only files in this folder and its subfolders fire the trigger; leave it empty to react to every file. Add activation code adds code that runs first and can stop the trigger.
The event and the folder. Under ... then, open the action list and pick the action.

The action list. ActionWhat it doesRun Code
Invokes a serverless function with the event data.
Send Email / Send Push Notification / Send SMS
Sends a template to the recipients you choose.
Call Webhook
POSTs a signed event (
files.file.uploadedorfiles.file.deleted) to the destinations you tick. Save stays off until you tick an enabled destination subscribed to that event.Send In-App (Realtime / SSE)
Sends the event live to connected apps or AI agents.
For Send Email, choose Email Addresses and type the address in To: *, for example
catalog-team@example.com. Single email strategy sends each address its own email; CC: and BCC: are optional. Under Template Details, choose Select template (for exampleNew catalog file) and Send in specific language (leave Each recipient's language).
Recipients and template. Template Tokens lists the tokens of the template. Give each one a value: type it, or press the tag button next to a token and pick a value (Project, Initiator, Recipient, Email Signatures, Email Footers). Until each has a value, a yellow box lists what is Still missing.

Every token has a value. Under Advanced settings, Send email on behalf of sets who speaks in the message; Select email provider is set to the project default (Test Me (Fake) here). Then fill the trigger's own fields and press Save:
FieldRequiredWhat it doesExampleOrder
no
Run order when several triggers listen to one event; lower runs first.
1Name the trigger
yes
The name in the list.
Tell the catalog teamDescription
no
Free text.
Emails the catalog team when a file lands in catalog/.Is this trigger enabled?
no
On: the trigger runs. Off: saved but quiet.
on

The trigger's own fields.
Result
Cloud goes back to File Triggers with the new row (When uploaded, Send Email, Enabled: Yes). The next matching file runs it: in the example, uploading catalog/summer-2026-catalog.pdf produced an email campaign with status Completed through Test Me, visible in Email → Campaigns. A file uploaded into mugs does not fire it.


A run that cannot send (template misses a project language, provider off) marks the trigger Needs attention.
Change or remove it later
Edit — Edit a trigger.
Disable / Enable — Enable or disable a trigger.
Delete — Delete a trigger.
Do it from code
The SDK reference has one example per action. The client setup is on the Files page. API: Save Files Trigger
Last updated
Was this helpful?