> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getthread.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy the Slack Service App to a customer

> Deploy your branded Slack Service App into a customer's workspace with a magic link or email invite, roll out the welcome message, and test it first in a free Slack sandbox.

The **Slack Service App** is a branded app you deploy into your *customers'* Slack workspaces, so
they can raise and follow tickets from Slack.

<Note>
  This is the **customer-facing** app. For your own service team in your own workspace, use the
  [Slack Companion App](/companion-apps/install-the-slack-companion-app) instead. A given Slack
  workspace can hold **one or the other**, never both.
</Note>

## Before you start: request your branded app

Thread builds the branded Slack experience for you — you can't self-serve it.

<Warning>
  Submit the app request form and select that you plan to deploy Thread to customers using Slack.
  Allow **up to 5 business days**; you'll be notified when your custom app is ready. Ask your
  Customer Success Manager for the form if you don't have it.
</Warning>

It's also worth [testing in a sandbox](#test-in-a-slack-sandbox-first) before you touch a real
customer — the customer-facing app **cannot** be installed in your own company's Slack workspace.

## Deploy to a customer

<Steps>
  <Step title="Find the customer in Thread">
    In the [Thread Admin Panel](https://admin.getthread.com/), open **Clients** and search for the customer.

    <Frame>
      <img src="https://mintcdn.com/thread/hBAbkSANUQ4VVrOg/images/79530f8b-2023-06-02-13-35-25.png?fit=max&auto=format&n=hBAbkSANUQ4VVrOg&q=85&s=e026cc632e42b24f9bc45e54b3ac31fc" alt="Searching for a customer in the Clients tab of the Thread Admin Panel" width="1571" height="586" data-path="images/79530f8b-2023-06-02-13-35-25.png" />
    </Frame>
  </Step>

  <Step title="Choose Slack">
    On the **Teams/Slack Connect** tab, select **Slack** and click **Continue**.

    <Frame>
      <img src="https://mintcdn.com/thread/A7qXjnetDekdBndI/images/2fcd38c8-2023-06-02-13-37-10.png?fit=max&auto=format&n=A7qXjnetDekdBndI&q=85&s=55cf57525e91fda53d6b3e6cd10ff999" alt="Teams and Slack Connect tab with Slack selected" width="1565" height="661" data-path="images/2fcd38c8-2023-06-02-13-37-10.png" />
    </Frame>
  </Step>

  <Step title="Pick how to deploy">
    Two routes:

    * **Email invite** — for when you don't have admin access to the customer's Slack. Select the contact with Slack admin rights; they get an email and follow the same steps.
    * **Magic link** — for when you do.

    <Tip>
      Use a **service admin account**, not a personal one. The account that adds the app is added to every channel the app creates and keeps the app functioning — if it's decommissioned, the app breaks.
    </Tip>

    <Frame>
      <img src="https://mintcdn.com/thread/Zhw8nEn5bwT65_HT/images/e3684ce0-image.png?fit=max&auto=format&n=Zhw8nEn5bwT65_HT&q=85&s=8f4d1feb9351de5ec53b5a3d2abf1183" alt="Contact selector for sending a Slack deployment email invite" width="754" height="516" data-path="images/e3684ce0-image.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/thread/Jrou2eV7uBaBuALP/images/a765fc07-image.png?fit=max&auto=format&n=Jrou2eV7uBaBuALP&q=85&s=a2b9e4920d0413773e6dcd168873c83f" alt="Email a customer admin receives to link their Slack workspace" width="1175" height="577" data-path="images/a765fc07-image.png" />
    </Frame>
  </Step>

  <Step title="Open the magic link">
    Copy it and paste it into a browser session signed into the target Slack account.

    <Frame>
      <img src="https://mintcdn.com/thread/Jrou2eV7uBaBuALP/images/8d2586a3-2023-06-02-13-40-33.png?fit=max&auto=format&n=Jrou2eV7uBaBuALP&q=85&s=016eb9c1222a9123e3967369439bb781" alt="Copy magic link control in the Thread Admin Panel" width="1917" height="847" data-path="images/8d2586a3-2023-06-02-13-40-33.png" />
    </Frame>
  </Step>

  <Step title="Confirm the workspace and allow">
    Check it's the right workspace, then click **Allow**.

    <Frame>
      <img src="https://mintcdn.com/thread/Jrou2eV7uBaBuALP/images/b7d58724-2023-06-02-13-41-36.png?fit=max&auto=format&n=Jrou2eV7uBaBuALP&q=85&s=8cd45a98307e13a7e4d91899469c2c25" alt="Slack permission screen showing the target workspace with an Allow button" width="580" height="708" data-path="images/b7d58724-2023-06-02-13-41-36.png" />
    </Frame>
  </Step>

  <Step title="Check for the success message">
    <Frame>
      <img src="https://mintcdn.com/thread/hBAbkSANUQ4VVrOg/images/4b3b6ab1-2023-06-02-13-42-47.png?fit=max&auto=format&n=hBAbkSANUQ4VVrOg&q=85&s=73e9a848fefc697f07478103e5fd8492" alt="Success confirmation after the Slack app installs" width="611" height="563" data-path="images/4b3b6ab1-2023-06-02-13-42-47.png" />
    </Frame>
  </Step>

  <Step title="Verify in Slack">
    Open `app.slack.com` for that workspace and confirm the app is there.

    <Frame>
      <img src="https://mintcdn.com/thread/A7qXjnetDekdBndI/images/0de8c909-2023-06-02-13-45-44.png?fit=max&auto=format&n=A7qXjnetDekdBndI&q=85&s=94460240f749e25204e7e59933419705" alt="Thread app listed in the apps sidebar of a Slack workspace" width="1917" height="552" data-path="images/0de8c909-2023-06-02-13-45-44.png" />
    </Frame>

    If it isn't listed, go to **Add app** and search for your custom app's name to add it manually.

    <Frame>
      <img src="https://mintcdn.com/thread/hBAbkSANUQ4VVrOg/images/4adba508-image.png?fit=max&auto=format&n=hBAbkSANUQ4VVrOg&q=85&s=60ac0ab4d6be608770469ff915cf6140" alt="Adding the app manually from the Slack Add app browser" width="703" height="848" data-path="images/4adba508-image.png" />
    </Frame>
  </Step>
</Steps>

## Roll out the welcome message

You control who gets greeted, so you can pilot before announcing to everyone.

Once the customer accepts the invite, refresh the Admin Panel and reopen the customer — it now
shows **Connected**. Choose **Selected users** and pick who to greet. When you have approval to go
wide, come back and choose **All Users**, then save.

<Frame>
  <img src="https://mintcdn.com/thread/Zhw8nEn5bwT65_HT/images/d5049933-image.png?fit=max&auto=format&n=Zhw8nEn5bwT65_HT&q=85&s=6c67fc4119bb5b809d401b2ca4761982" alt="Selected users and All Users options for the Slack welcome message in the Admin Panel" width="1282" height="1172" data-path="images/d5049933-image.png" />
</Frame>

<Warning>
  The welcome message only reaches everyone once you switch to **All Users** and save. Leaving it
  on **Selected users** is the most common reason a rollout looks like it did nothing.
</Warning>

## What customers get notified about

Customers get a Slack notification when a new thread is created or a thread receives a reply. By
default a person is notified of replies to threads they replied to or were mentioned in.

## Test in a Slack sandbox first

The customer-facing app **can't** be installed in your own company's Slack, so create a free
sandbox workspace and deploy there.

<Steps>
  <Step title="Sign up for a free Slack account">
    Go to [slack.com](https://slack.com/) and sign up with an email **not** already tied to a Slack account — a throwaway Gmail is ideal.

    <Frame>
      <img src="https://mintcdn.com/thread/Zhw8nEn5bwT65_HT/images/ef0687ad-2022-12-02-17-00-50.png?fit=max&auto=format&n=Zhw8nEn5bwT65_HT&q=85&s=96a566cd0997f309ccd87ad7b9e17812" alt="Slack sign-up entry point" width="957" height="1139" data-path="images/ef0687ad-2022-12-02-17-00-50.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/thread/hBAbkSANUQ4VVrOg/images/62092ee7-2022-12-02-17-02-00.png?fit=max&auto=format&n=hBAbkSANUQ4VVrOg&q=85&s=54d2389ffc89a389712d421969930553" alt="Slack sign-up email entry field" width="959" height="1040" data-path="images/62092ee7-2022-12-02-17-02-00.png" />
    </Frame>
  </Step>

  <Step title="Create the workspace">
    Choose **Create a Workspace**, name your fake company, skip step 2, and put anything in step 3.

    <Frame>
      <img src="https://mintcdn.com/thread/A7qXjnetDekdBndI/images/1167d12b-2022-12-02-17-07-03.png?fit=max&auto=format&n=A7qXjnetDekdBndI&q=85&s=b90249d5765c9e089aa9bfdcc5517b5c" alt="Naming the sandbox workspace during Slack setup" width="959" height="1040" data-path="images/1167d12b-2022-12-02-17-07-03.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/thread/hBAbkSANUQ4VVrOg/images/7aef7f30-2022-12-02-17-11-09.png?fit=max&auto=format&n=hBAbkSANUQ4VVrOg&q=85&s=396e216a5c52ccf2587391e6c15993be" alt="Final step of Slack workspace creation" width="709" height="626" data-path="images/7aef7f30-2022-12-02-17-11-09.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/thread/Jrou2eV7uBaBuALP/images/a9dca6a6-2022-12-02-17-14-57.png?fit=max&auto=format&n=Jrou2eV7uBaBuALP&q=85&s=5bdff3946ab768e57c1d85f5b1319dc5" alt="Newly created Slack sandbox workspace" width="959" height="1040" data-path="images/a9dca6a6-2022-12-02-17-14-57.png" />
    </Frame>
  </Step>

  <Step title="Set up a test company in your PSA">
    Create a test company and add a contact with an email address. That forces the company to sync into Inbox so you don't have to wait.

    <Note>
      Its **Service Bot** field must be empty — you can only deploy one bot per customer.
    </Note>
  </Step>

  <Step title="Start the deployment against the test client">
    In the Admin Panel go to **Clients**, select your test client, then the **Teams/Slack Connect** tab. Choose **Slack** and **Continue**.

    <Frame>
      <img src="https://mintcdn.com/thread/Jrou2eV7uBaBuALP/images/a8e8edec-2022-12-02-17-35-56.png?fit=max&auto=format&n=Jrou2eV7uBaBuALP&q=85&s=18a5399b2d00428c9af4e2160c50b83e" alt="Teams and Slack Connect tab for the test client" width="1920" height="1012" data-path="images/a8e8edec-2022-12-02-17-35-56.png" />
    </Frame>
  </Step>

  <Step title="Copy the magic link">
    <Warning>
      The magic link **expires after 15 minutes**. If it lapses, go back and generate a new one.
    </Warning>

    <Frame>
      <img src="https://mintcdn.com/thread/Zhw8nEn5bwT65_HT/images/f1cb1566-2022-12-02-17-41-05.png?fit=max&auto=format&n=Zhw8nEn5bwT65_HT&q=85&s=04ca2769de45a8154bb2bf54fcc92c1c" alt="Magic link and email invite options with a copy link control" width="1619" height="1011" data-path="images/f1cb1566-2022-12-02-17-41-05.png" />
    </Frame>
  </Step>

  <Step title="Open it in the sandbox and allow">
    In a guest browser window signed into your sandbox workspace, paste the magic link and click **Allow**.

    <Frame>
      <img src="https://mintcdn.com/thread/A7qXjnetDekdBndI/images/395d60bc-2022-12-02-17-45-43.png?fit=max&auto=format&n=A7qXjnetDekdBndI&q=85&s=1bbcff9d4a1b9c25d25685b1ceca6e25" alt="Slack permission prompt for a custom branded app" width="1920" height="1052" data-path="images/395d60bc-2022-12-02-17-45-43.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/thread/Zhw8nEn5bwT65_HT/images/f4c34cdc-image-7.png?fit=max&auto=format&n=Zhw8nEn5bwT65_HT&q=85&s=9921fa49068d33bf43bdb5c402c498e2" alt="Slack permission prompt for the default Thread app" width="800" height="802" data-path="images/f4c34cdc-image-7.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/thread/Zhw8nEn5bwT65_HT/images/d1dfc4b4-2022-12-02-17-47-29.png?fit=max&auto=format&n=Zhw8nEn5bwT65_HT&q=85&s=7c0f90717f1c9c83f05211db30967aff" alt="Successful deployment confirmation" width="959" height="1040" data-path="images/d1dfc4b4-2022-12-02-17-47-29.png" />
    </Frame>
  </Step>

  <Step title="Try it as a customer would">
    Back in the sandbox, the app should be installed — if not, use **Add app** and search for it. Then create threads and exercise chat and the bot the way a customer would.

    <Frame>
      <img src="https://mintcdn.com/thread/Jrou2eV7uBaBuALP/images/b059281f-image-8.png?fit=max&auto=format&n=Jrou2eV7uBaBuALP&q=85&s=8a6e2c69e72fbfbb84ad30bb47ef5abc" alt="The app installed in the Slack sandbox workspace" width="703" height="848" data-path="images/b059281f-image-8.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/thread/Jrou2eV7uBaBuALP/images/bf5c3b44-image-9.png?fit=max&auto=format&n=Jrou2eV7uBaBuALP&q=85&s=b124974aa377daa1ee241dedb66e93bf" alt="Testing the customer chat experience in the Slack sandbox" width="881" height="377" data-path="images/bf5c3b44-image-9.png" />
    </Frame>
  </Step>
</Steps>

## Next step

Once you're happy with the experience, work through [Deploy to a customer](#deploy-to-a-customer)
against a real client, then set [which ticket updates post to a channel](/companion-apps/choose-which-ticket-updates-post-to-channel).


## Related topics

- [Design a Custom Teams App for Your Customers](/messenger/create-teams-app.md)
- [Deploy the Teams Service App to a customer](/messenger/deploy-the-teams-service-app.md)
- [How to Use the Slack Companion App for Service Teams](/companion-apps/how-to-use-the-slack-companion-app-for-service-teams.md)
