Skip to content

Instantly share code, notes, and snippets.

View seratch's full-sized avatar

Kazuhiro Sera seratch

View GitHub Profile
seratch / app-manifest.yml
Created November 14, 2023 07:06
file input block in bolt-python apps
name: file-uploader
display_name: file-uploader
- command: /send-files
description: Send files on a modal
should_escape: false
seratch / app.ts
Created March 31, 2022 05:39
@slack/bolt meets Fastify
import Fastify from 'fastify';
import { App, FileInstallationStore, LogLevel } from '@slack/bolt';
import { FileStateStore } from '@slack/oauth';
import { FastifyReceiver } from 'slack-bolt-fastify';
const fastify = Fastify({ logger: true });
fastify.get('/', async (_, res) => {
seratch /
Last active February 5, 2022 07:30
Hot-reloading Socket Mode app using Jurigged (Python) - `SLACK_LOCAL_DEV=1 python`
# You can run this script by `SLACK_LOCAL_DEV=1 python`
import os
if os.environ.get("SLACK_LOCAL_DEV") == "1":
# Hot reloading
import jurigged
# Debug logging
import logging
seratch / MyApp.kt
Created August 11, 2021 04:36
Sign in with Slack (OpenID Connect) Example App in Kotlin
import com.auth0.jwt.JWT
import com.slack.api.Slack
import com.slack.api.bolt.App
import com.slack.api.bolt.jetty.SlackAppServer
fun main() {
System.setProperty("", "debug")
// export SLACK_CLIENT_ID=
seratch / MyApp.kt
Last active May 23, 2021 21:59
Send Slack saved Items to Notion Database
import com.slack.api.Slack
import com.slack.api.bolt.App
import com.slack.api.bolt.AppConfig
import com.slack.api.bolt.jetty.SlackAppServer
import com.slack.api.model.event.StarAddedEvent
import notion.api.v1.NotionClient
import notion.api.v1.http.JavaNetHttpClient
import notion.api.v1.logging.Slf4jLogger
import notion.api.v1.model.common.PropertyType
import notion.api.v1.model.common.RichTextLinkType
seratch / Dockerfile
Last active May 20, 2021 00:16
Bolt for Python: AWS App Runner Example
FROM python:3.9.5-slim-buster
COPY requirements.txt /app/
COPY /app/
RUN pip install -r requirements.txt
CMD python /app/
seratch /
Last active March 31, 2024 13:43
Sign in with Slack - the simplest example

You can run this app by following the steps below:

Set up your Slack app

  • Create a new Slack app from
  • Go to OAuth & Permissions
    • Add identity.basic & to User Token Scopes
    • Add OAuth Redirect URL
  • Go to Basic Information
  • Grab the Client ID & Client Secret in the page
seratch /
Last active January 26, 2022 11:31
Two Slack App Installation Flow Example (Flask + SQLAlchemy)
import logging
from typing import Callable
import os
from slack_bolt import App, BoltContext, Ack
from slack_bolt.adapter.flask import SlackRequestHandler
from slack_bolt.oauth.oauth_settings import OAuthSettings
seratch / Dockerfile
Last active November 29, 2022 22:20
Slack OAuth App Example (Google Cloud Run + Datastore)
FROM python:3.9.2-slim-buster
# Allow statements and log messages to immediately appear in the Knative logs
# Copy local code to the container image.
COPY . ./
seratch /
Created February 18, 2021 15:51
Slack App in Google Apps Script
// *** Request Verification ***
// The currently recommended way is to verify request signature:
// Unfortunately, GAS web apps don"t have means to access request headers. Thus, this example uses the old way to verify requests.
// >>> Settings > Basic Information > App Credentials > Verification Token
const legacyVerificationToken = PropertiesService.getScriptProperties().getProperty("SLACK_VERIFICATION_TOKEN");
// *** OAuth Access Token ***
// Install your Slack app into its development workspace.
// >>> Settings > Install App > Bot User OAuth Access Token
const token = PropertiesService.getScriptProperties().getProperty("SLACK_BOT_TOKEN");