What you are building
By the end of this tutorial, you have a working Box Automate workflow that:- Triggers when a file is uploaded, moved, or copied into a designated folder.
- Assigns a General Task to a reviewer for initial review.
- Routes the file through an Approval Task with separate branches for approved and rejected outcomes.
- Sends HTTPS requests on both branches for downstream system integration.
- Merges the branches and sends a final Box notification summarizing the result.
- Posts updates to a Slack channel using the Slack Web API.
Prerequisites
Before you start, make sure you have the following:- A with an Advanced plan (required for HTTPS Request outcomes).
- Box Automate enabled in the .
- A Slack workspace where you can (for the Slack integration section).
- Permission to add connectors in the Box Admin Console.
Post Slack updates with HTTPS Request
Within the workflow, you can use Box Automate’s HTTPS Request outcome to post messages to a Slack channel through Slack’schat.postMessage API. This section shows you how to set up the Slack app, allow-list the connector in Box, and configure the request.
Create and configure the Slack app
Create the Slack app
- Go to Slack API: Your Apps and sign in.
- Select Create New App > From scratch.
- Enter an app name and select your workspace, then select Create App.
Add bot token scopes
- In your app, open OAuth & Permissions.
- Under Scopes > Bot Token Scopes, add
chat:write. - Optional: add
chat:write.publicto post in public channels without inviting the bot.
Install the app and copy the token
- Select Install to Workspace. Reinstall after any scope change.
- Open Basic Information > App-Level Tokens and generate or open a token.
- Copy the Bot User OAuth Token (begins with
xoxb-). - For private channels, run
/invite @YourBotNamein the channel.
Allow-list Slack in the Box Admin Console
- In the Box Admin Console, confirm that Box Automate and HTTPS Request outcomes are enabled for builders.
- Go to Integrations > Connectors.
- Add
https://slack.comas an allowed connector. - Select Save.
slack.com.Build the review workflow
Next, build the review workflow. This workflow triggers when a file is uploaded, moved, or copied into a designated folder. It assigns a review task to a reviewer, routes the file through an approval process, and posts status updates to both Box and Slack.Open the Box Automate builder
Document Review Pipeline.Add the trigger
- Uploaded
- Moved
- Copied Then select the folder to trigger the workflow.
Add the General Task outcome
Add the Approval Task
Configure the Approved and Rejected branches
box-announcements with your channel name or ID. For production, drive the message text from workflow variables using the Automate variable picker or / search.Test the requestTest the HTTPS request directly in the Box Automate builder before publishing the workflow:- In the HTTPS Request outcome configuration panel, enter the connector, endpoint, method, headers, and request body.
- Select Test at the bottom of the panel to send a test request to Slack.
- Review the response in the panel:
- Success: Status code
200with"ok": true. The response payload returns message details, includingtsandchannel. - Failure: If
"ok": false, review theerrorproperty returned by Slack (such asinvalid_auth,channel_not_found, ormissing_scope).
Capture the response with JSONPath
chat.postMessage from Slack are a JSON payload which are not usable by Box Automate until you pull individual values out of it. JSONPath expressions point at the specific properties you need, so you can store them as workflow variables:Merge the branches
Add final outcomes
Save and publish
Troubleshooting
Workflow does not trigger when a file is uploaded
Workflow does not trigger when a file is uploaded
Slack message is not posted (HTTPS Request returns an error)
Slack message is not posted (HTTPS Request returns an error)
invalid_authornot_authed: the Bot User OAuth Token is missing, expired, or incorrectly formatted. Regenerate the token in the Slack app dashboard and update theAuthorizationheader value toBearer xoxb-....channel_not_found: the channel name or ID is incorrect, or the bot has not been invited. Run/invite @YourBotNamein the target channel.missing_scope: the bot token is missing thechat:writescope. Add the scope under OAuth & Permissions and reinstall the app to your workspace.
HTTPS Request outcome is not available in the builder
HTTPS Request outcome is not available in the builder
Connector blocked or not listed
Connector blocked or not listed
slack.com connector must be allow-listed in the Admin Console under Integrations > Connectors. If you do not see the option to add connectors, ask a Box admin to pre-create a Slack Web API connector for slack.com.Task is not assigned or the assignee does not receive it
Task is not assigned or the assignee does not receive it
Workflow publishes but actions do not execute
Workflow publishes but actions do not execute
