Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The NetSuite Pro

The NetSuite Pro Logo The NetSuite Pro Logo

The NetSuite Pro Navigation

  • Home
  • About Us
  • Tutorials
    • NetSuite Scripting
    • NetSuite Customization
    • NetSuite Integration
    • NetSuite Advanced PDF Templates
    • NetSuite Reporting & Analytics Guide
    • Real-World NetSuite Examples
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask A Question
  • Home
  • About Us
  • Tutorials
    • NetSuite Scripting
    • NetSuite Customization
    • NetSuite Integration
    • NetSuite Advanced PDF Templates
    • NetSuite Reporting & Analytics Guide
    • Real-World NetSuite Examples
  • Blog
  • Contact Us
Home/ NetSuite + Slack Integration: The Complete Step-by-Step Guide/Step 1: Create Your Slack App for NetSuite (Webhook and Bot Token)

Step 1: Create Your Slack App for NetSuite (Webhook and Bot Token)

Part 3 of 13 in the NetSuite + Slack series
Time: 10 minutes  |  Level: Beginner
You will learn: How to create a Slack app and collect the webhook URL, bot token and signing secret.
You will need: A Slack workspace where you can add apps, and a test channel.

Before NetSuite can talk to Slack, Slack needs to know who is calling. That is what a Slack app is: a named, permissioned identity that your NetSuite scripts use to post messages.

This page walks you through creating one. It takes about ten minutes. Slack occasionally rearranges its menus, so if a label looks slightly different, look for the closest match.

Before you start

  • You need permission to add apps to your Slack workspace. If your workspace requires admin approval, ask your Slack admin to approve the app when you get to the install step.
  • Decide on a test channel first, for example #netsuite-test. Please do not point your first experiments at a busy company channel.

Part A: Create the app

  1. Go to api.slack.com/apps and sign in to your workspace.
  2. Click Create New App.
  3. Choose From scratch.
  4. Give it a clear name such as NetSuite Alerts. People will see this name on every message, so make it obvious.
  5. Pick your workspace and click Create App.

You now have an empty app. Next we give it abilities.

Part B: Turn on an incoming webhook (the easy route)

An incoming webhook is a private URL that posts to one channel. It is perfect for your first alert.

  1. In the left menu, click Incoming Webhooks.
  2. Switch Activate Incoming Webhooks to On.
  3. Scroll down and click Add New Webhook to Workspace.
  4. Choose your test channel (for example #netsuite-test) and click Allow.
  5. Slack shows a Webhook URL that starts with https://hooks.slack.com/services/. Copy it and keep it somewhere private for now.

Treat this URL like a password. Anyone who has it can post to that channel as your app. Never paste it into a public forum, a screenshot or a shared document. If it leaks, you can delete that webhook in Slack and create a new one.

Test it in 30 seconds

Before touching NetSuite, prove the webhook works. From any computer with curl:

curl -X POST -H "Content-type: application/json" \
  --data '{"text":"Hello from my brand new NetSuite Alerts app!"}' \
  YOUR_WEBHOOK_URL

Slack replies with ok and the message appears in your channel. If it does, the Slack side is healthy.

Part C: Add a bot token (for buttons, DMs and lookups)

You can skip this part until you reach the interactive pages, but it is easier to do it now while you are here.

  1. In the left menu, click OAuth & Permissions.
  2. Scroll to Scopes, then Bot Token Scopes.
  3. Click Add an OAuth Scope and add the following:
Scope Why you need it
chat:write Post messages as the app
chat:write.public Post to public channels without having to invite the app first
users:read Look up people in the workspace
users:read.email Match a Slack user to a NetSuite employee by email
commands Use slash commands (needed on the slash command page)
  1. Scroll back up and click Install to Workspace (or Reinstall if you change scopes later). Click Allow.
  2. Copy the Bot User OAuth Token. It starts with xoxb-.

Only request the scopes you really need. Fewer permissions means less risk and an easier approval from your Slack admin.

Part D: Find your Signing Secret

When Slack calls you (for a button click or slash command), you must check the call genuinely came from Slack. That check uses the signing secret.

  1. Click Basic Information in the left menu.
  2. Under App Credentials, find Signing Secret and click Show.
  3. Copy it and store it privately, the same as the other credentials.

Part E: Make the app look friendly (optional but nice)

Still on Basic Information, scroll to Display Information. Add a short description (“Sends NetSuite alerts to Slack”) and an icon. It makes messages feel official rather than mysterious.

Your checklist

By the end of this page you should have:

  • ☐ A Slack app named something obvious
  • ☐ A webhook URL for a test channel
  • ☐ A bot token starting with xoxb-
  • ☐ A signing secret
  • ☐ All three saved somewhere private (not in email or chat)

Common snags

  • “I do not see Add New Webhook to Workspace.” Make sure Incoming Webhooks is switched on first.
  • “Install to Workspace is greyed out or asks for approval.” Your workspace is set to require admin approval. Send your admin the app name and the scopes above.
  • “The curl test returns invalid_payload.” Check that your JSON is valid, especially the quotes.
  • “The curl test returns no_service or channel_not_found.” The webhook was deleted or the channel was archived. Create a new webhook.

What is next

Your Slack app is ready. In Step 2 we write the SuiteScript that sends a real alert from NetSuite.


← Ways to Connect NetSuite and Slack: Which Approach Fits You?
Series overview
Step 2: Send Your First NetSuite Alert to Slack with SuiteScript →
Share
  • Facebook

Sidebar

Ask A Question

Stats

  • Questions 6
  • Answers 6
  • Best Answers 0
  • Users 9
  • Popular
  • Answers
  • Rocky

    Issue in running a client script in NetSuite SuiteScript 2.0 ...

    • 1 Answer
  • admin

    How can I send an email with an attachment in ...

    • 1 Answer
  • admin

    How do I avoid SSS_USAGE_LIMIT_EXCEEDED in a Map/Reduce script?

    • 1 Answer
  • admin
    admin added an answer The issue is usually caused by following Wrong script file… September 14, 2025 at 10:33 pm
  • admin
    admin added an answer Steps to send an Invoice PDF by email: define(['N/email', 'N/render',… August 28, 2025 at 3:05 am
  • admin
    admin added an answer This error means your script hit NetSuite’s governance usage limit… August 28, 2025 at 3:02 am

Top Members

Rocky

Rocky

  • 1 Question
  • 22 Points
Begginer
74gold

74gold

  • 0 Questions
  • 20 Points
Begginer
Sophie1022

Sophie1022

  • 0 Questions
  • 20 Points
Begginer

Trending Tags

clientscript netsuite scripting suitescript
  • The SuiteScript 1.0 scripts nobody remembers: Portlets, Mass Updates and Workflow ActionsSeptember 10, 2026
  • You’re on SuiteScript 2.0, not 1.0. Here’s what that actually buys you.September 9, 2026
  • Converting a SuiteScript 1.0 Suitelet to 2.1 (and the ones that were never really forms)September 8, 2026
  • Every NetSuite certification in 2026, and the rules that quietly changedSeptember 7, 2026
  • Converting a SuiteScript 1.0 Scheduled Script to a 2.1 Map/Reduce (and why a straight port is a mistake)September 7, 2026
  • Migrating a SuiteScript 1.0 RESTlet to SS2.1 + OAuth 2.0 before the 2027.1 deadlineAugust 15, 2026
  • How to convert a SuiteScript 1.0 User Event script to SuiteScript 2.1 (with real code)August 14, 2026
  • The complete SuiteScript 1.0 to 2.1 API cheat sheet: nlapiXxx β†’ N/moduleAugust 13, 2026
  • NetSuite Error Messages: Causes and FixesAugust 11, 2026
  • How to audit every SuiteScript 1.0 script in your NetSuite account (step by step)August 11, 2026

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help

Footer

Menu

  • Home
  • About Us
  • Tutorials
    • NetSuite Scripting
    • NetSuite Customization
    • NetSuite Integration
    • NetSuite Advanced PDF Templates
    • NetSuite Reporting & Analytics Guide
    • Real-World NetSuite Examples
  • Blog
  • Contact Us

Quick Links

  • NetSuite Scripting
  • NetSuite Customization
  • NetSuite Advanced PDF Template
  • NetSuite Integration
  • NetSuite Reporting & Analytics

Subscribe for NetSuite Insights....

Β© 2026 The NetSuite Pro. All Rights Reserved