Teams that share files in Slack often need a clean way to store them and keep channels tidy. This build collects uploads from Slack, opens a simple modal to choose a target folder, and moves the files into S3 for long term storage. It then posts a clear status back in Slack so everyone knows what happened.
Slack events arrive through an n8n Webhook and a Set node extracts the payload. Switch nodes detect the intent, open the Slack modal, and route actions like create folder or pick folder. After the modal is closed, files are split into items and processed in batches. Each file is downloaded from Slack using a user token, uploaded to S3, then checked by an If node for success. An Aggregate node combines all results, and a Slack message shares the outcome with a simple summary.
Setup needs a Slack app with Events API and Interactivity enabled, plus bot and user tokens with file permissions. An S3 account and bucket are required for storage, with access keys added to n8n. Expect a big cut in manual downloads and reuploads, and fewer misfiled assets because users choose the folder at the start. This fits marketing asset drops, support log captures, and internal image handoffs managed inside Slack.