Agent Templates
Slack Workflow Automation Agent

Slack workflow agents that act on triggers on-behalf-of your users

Connect two real services, delegate OAuth to your users, and ship a working agent in minutes. Clone the sample, swap in your tools, and go from zero to multi-connector in a single afternoon.

Slack Workflow Automation Agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
/standup (Slack slash command from engineer)
J
Routing trigger through LangGraph
Detect Slack trigger
slack_event_listener
Fetch GitHub + Jira data
github_list_pull_requests
Reply in Slack thread
slack_send_message
Workflow: /standup
Auto-generated standup
"Done: PR #491 merged. Doing: ENG-302 in review. Blockers: none"
Posted as thread reply, scoped to triggering user
Result
3 workflow types active: /standup, :ticket:, :white_check_mark:
All actions run as the user who triggered - not a bot
Message Claude...
Trusted by teams shipping agents to production
Slack Workflow Automation Agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
/standup (Slack slash command from engineer)
J
Routing trigger through LangGraph
Detect Slack trigger
slack_event_listener
Fetch GitHub + Jira data
github_list_pull_requests
Reply in Slack thread
slack_send_message
Workflow: /standup
Auto-generated standup
"Done: PR #491 merged. Doing: ENG-302 in review. Blockers: none"
Posted as thread reply, scoped to triggering user
Result
3 workflow types active: /standup, :ticket:, :white_check_mark:
All actions run as the user who triggered - not a bot
Message Claude...

How the LangGraph agent listens to Slack triggers and executes multi-step workflows

A real working agent you can deploy

This repo uses a single SCALEKIT_USER_ID env var to simulate one user. In production, pass each user's real ID as the identifier on every Scalekit call, and send them an authorization link whenever their connector status is not ACTIVE.

01
Authorize, then orchestrate
main.py
Every connection is authorized once via a one-time link. Scalekit refreshes tokens for Slack and Linear automatically. main.py boots the LangGraph agent, registers Scalekit-managed tools into the graph's node registry, and starts a Slack socket listener for trigger events.
main.py
import os
from scalekit import ScalekitClient
from langchain.agents import create_tool_calling_agent

client = ScalekitClient(
    env_url=os.environ["SCALEKIT_ENV_URL"],
    client_id=os.environ["SCALEKIT_CLIENT_ID"],
    client_secret=os.environ["SCALEKIT_CLIENT_SECRET"],
)

# LangChain-compatible tools scoped to this user
tools = client.actions.langchain.get_tools(
    identifier="user@example.com",
    connection_names=["slack", "linear"],
)

agent = create_tool_calling_agent(llm, tools, prompt)
02
Listen for Slack trigger events
listen_slack.py
03
Route trigger through LangGraph
route_workflow.py
04
Execute actions in connected services
execute_actions.py
05
Reply in Slack thread
reply_slack.py
Why choose Scalekit

Delegated identity. Not service accounts.

Credentials never touch agent code or LLM context. The agent acts as the user, not as a shared bot.
Delegated OAuth - Agent reads your calendar, your inbox — scoped to the authorizing identity, not org-wide.
Credentials outside agent runtime  -  Tokens never touch agent code or LLM context. Both failure modes covered.
Token lifecycle automatic  -  Refresh, expiry, rotation across all connectors. One SDK call. Zero management code.
200+ prebuilt connectors  -  Google, Slack, HubSpot, GitHub, Jira, Notion, Salesforce — same auth pattern everywhere.

Agents that automate Slack workflows, without the auth plumbing

Two things you'd otherwise build: Slack OAuth with event subscriptions per user and Linear token storage. Works with LangGraph out of the box. Handled.

OAuth flow per connector
One SDK call returns a delegated token for any connector. Google, HubSpot, Slack, same pattern across all 200+ connectors
tools = client.actions.langchain.get_tools(
    identifier=user_id,
    connection_names=["slack", "linear"],
)
agent = create_tool_calling_agent(llm, tools, prompt)
Secure token vault  
Scalekit stores OAuth credentials outside agent code and outside LLM context. Both are separate failure modes. Both covered
client = ScalekitClient(
    env_url=os.environ["SCALEKIT_ENV_URL"],
    client_id=os.environ["SCALEKIT_CLIENT_ID"],
    client_secret=os.environ["SCALEKIT_CLIENT_SECRET"],
)
# Credentials never in agent code or LLM context
Token refresh logic
Token lifecycle handled automatically — expiry, rotation, re-auth — across every connector. Agent runs in 6 months. Same call works
# Day 1 or day 180 - same call works
tools = client.actions.langchain.get_tools(
    identifier=user_id,
    connection_names=["slack", "linear"],
)
Try other Agent Templates

Prebuilt agents you can ship today

Each one runs on delegated identity, scoped per user.

ENGINEERING
Slack workflow agent (LangGraph)
LangGraph agent that drives multi-step Slack workflows: triggers, approvals, and follow-up actions per user identity.
ENGINEERING
DevOps assistant agent
Triage GitHub incidents, open Linear tickets, and notify the on-call channel in Slack with context already attached.
ENGINEERING
Engineering standup agent
Aggregate GitHub and GitLab activity, link to Jira, and post a daily standup digest to Slack. No async updates.
ENGINEERING
Auto-release notes agent
Group merged GitHub PRs by feature, fix, or chore and publish release notes per tag. No manual changelog grooming.
SUPPORT
Support triage agent
Read Zendesk tickets, fetch runbooks from Notion, and route to the right Slack channel with a drafted response.
OPS
Email-to-calendar scheduling agent
Parse scheduling intent from Gmail threads and create Google Calendar events with the right attendees and timezone.
Customize the sample

Clone it and own it with connectors you choose

Don't sweat the integration. Point a coding agent at the repo. It clones, swaps in your connectors, and adds new steps for you.

1
Install a coding agent
terminal

claude "Set up a Slack workflow automation agent using Slack and Linear via Scalekit with LangGraph"

terminal

codex "Set up a Slack workflow automation agent using Slack and Linear via Scalekit with LangGraph"

terminal

gh copilot suggest "Set up a Slack workflow automation agent using Slack and Linear via Scalekit with LangGraph"

terminal

Open Cursor Composer (Cmd+Shift+I) Paste the prompt from the Prompt tab

terminal

npx skills add scalekit-inc/skills --skill setup-scalekit

2
Give it this prompt

Clone github.com/scalekit-inc/python-connect-demos/langchain. Set connection_names = ["slack", "linear"]. Build a LangGraph Slack workflow agent: listen for Slack triggers (slash commands, emoji reactions, mentions), route each through a LangGraph workflow graph, execute actions in connected services (Linear issue creation, standup synthesis) as the triggering user via Scalekit, reply in the Slack thread. Set SCALEKIT_ENV_URL, SCALEKIT_CLIENT_ID, SCALEKIT_CLIENT_SECRET in .env.

Build your own
multi-connector agent

Add connectors. Change the LLM. Same delegated auth pattern.