Connect Stickr to Slack

Everything is built and waiting. Slack needs its own app record before it will talk to us, so create one, paste the values below into it, and you are done. It takes about five minutes.

Slack reached this site and the signature was valid

The connection is working end to end. If the picker still misbehaves, it is something inside the app rather than the setup.

Last request: /api/slack/interactions, 9 hours ago. What it did: opened the grid in the conversation (thread needs the bot in this channel).

Open the picker from the shortcuts menu in Slack, then reload this page to update this check.

Publish the site before Slack can reach it

Slack calls these URLs from the internet, so they only start working once the site is live at its published address. The editor preview is private to you, and localhost is the machine this site is built on, which is not somewhere Slack or your browser can reach. Every URL below already uses the published address, so you can paste them into Slack now and press Publish whenever you are ready.

Credential status

These three keys already exist in your Secrets tab with a placeholder value. Replace each one with the matching value from your Slack app.

  • SLACK_SIGNING_SECRET

    Value added. Verifies that requests really come from Slack.

  • SLACK_CLIENT_ID

    Value added. Needed for the Add to Slack button.

  • SLACK_CLIENT_SECRET

    Value added. Completes the install handshake.

  1. 1Create the Slack app

    Open the Slack app directory, choose Create New App and then From scratch. Name it Stickr and pick the workspace you want it in.

    api.slack.com/apps
  2. 2Turn Socket Mode off

    Slack switches Socket Mode on for many new apps. While it is on, Slack delivers everything down a private connection to a program running on your own computer, and it hides the Request URL boxes completely. This app listens over the web instead, so open Settings, then Socket Mode, and switch it off. The Request URL fields in the next two steps reappear as soon as you do.

  3. 3Turn on interactivity

    Open Interactivity & Shortcuts, switch it on, and paste this in. This one URL carries everything: opening the picker, switching packs, and sending. If there is no Request URL box on this screen, Socket Mode is still on, so go back and switch it off first.

    Request URL

    https://verdant-gale-yvn.modulify.website/api/slack/interactions
  4. 4Add the shortcut. This is the whole interface.

    There are no slash commands to set up. Still on Interactivity & Shortcuts, scroll to Shortcuts and choose Create New Shortcut. Pick Global for the one that lives in the shortcuts menu beside the message box.

    Then add a second one on Messages, with the same details. Add both: the Messages shortcut is what puts the picker on a message's own More actions menu, and it is the only one that works inside a thread — used on a message in a thread, the picker opens in that thread and the sticker replies to it. The Global shortcut has no way to know a thread is open, so it always posts to the conversation.

    Name

    Send a sticker

    Short description

    Open the sticker picker

    Callback ID

    open_stickers

    This must match exactly, on both shortcuts. It is how the app recognises them.

    A newly added shortcut only appears after the app is reinstalled, which is the last step below.

  5. 5Set the redirect URL and scopes

    Under OAuth & Permissions, add the redirect URL, then the scopes. There are two separate lists on that screen and both matter.

    Redirect URL

    https://verdant-gale-yvn.modulify.website/api/slack/oauth/callback

    Bot token scopes

    commands, chat:write, chat:write.customize, channels:join, users:read

    Add them one at a time in the Bot Token Scopes list.

    User token scopes

    chat:write, im:write

    These go in the User Token Scopes list, just below, not the bot one above. They are what make a sticker post as a normal message from you, under your own name and avatar with no APP badge, and what lets it reach a direct message at all. Without them a sticker can only go to a channel, and it arrives from the app.

  6. 6Subscribe to events, optional

    Only needed if you want us to tidy up automatically when someone removes the app. Under Event Subscriptions, switch it on, paste the URL, and subscribe to app_uninstalled.

    Request URL

    https://verdant-gale-yvn.modulify.website/api/slack/events
  7. 7Paste the credentials into Secrets

    Slack shows these on the Basic Information page under App Credentials. Open the Secrets tab in the editor and replace each placeholder with the matching value.

    Which Slack credential goes into which key
    In SlackSecrets key
    Signing SecretSLACK_SIGNING_SECRET
    Client IDSLACK_CLIENT_ID
    Client SecretSLACK_CLIENT_SECRET
  8. 8Install it

    This is also where each person grants the user scope, so press it once yourself and ask anyone else who wants their stickers to post under their own name to do the same. Reinstalling is what makes a newly added shortcut or scope take effect.

    Add to Slack
Made with Modulify