slackker logo slackker

Real-time notifications for your Agentic pipeline

Run anything.
Know instantly. Stay anywhere.

slackker sends real-time notifications to Slack, Telegram, Discord, or Microsoft Teams for your Agentic pipeline, ML training run, or automation workflow — complete with metrics, outputs, and optional plots.

main.py
Client:
from slackker.core import TelegramClient
from slackker.callbacks.simple import SimpleCallback

client = TelegramClient(
    token="123456:ABC-DEF...",
    verbose=1
)
notify = SimpleCallback(client)

@notify.notifier
def train_model(epochs: int):
    # ... your training code ...
    return {"accuracy": 0.94, "loss": 0.12}

train_model(epochs=20)

Why slackker

Stay informed without staying glued to your screen

Any Python Function

Decorator-based notifications for script execution with returned output summaries.

Keras Callback

Attach to model.fit and receive metric progress during epoch training.

Lightning Callback

Track train and validation logs with monitor-based best epoch updates.

Plot Sharing

Export and send history plots so you can check model behavior quickly on mobile.

Quick start

From install to updates in five steps

  1. 1Install package: pip install slackker
  2. 2Setup either Slack, Telegram, or Teams credentials.
  3. 3Create a SlackClient, TelegramClient, DiscordClient or TeamsClient with your credentials.
  4. 4Pass the client to SimpleCallback, KerasCallback, or LightningCallback.
  5. 5Run pipeline and receive updates plus optional exported plots.

Client setup

Get your credentials in minutes

Pick your platform and follow the one-time steps to obtain the credentials you'll pass to the client constructor.

Telegram

Only a bot token is needed — slackker auto-discovers your chat ID from the first message you send the bot.

  1. 1
    Find BotFather on Telegram

    Open Telegram   ➤   search for @BotFather — the official bot for creating custom bots.

  2. 2
    Create your bot

    Send /newbot   ➤   follow the prompts to give your bot a display name and a unique username (must end in bot)

  3. 3
    Copy the bot token

    BotFather replies with a token   ➤   save it, this is your token parameter:

    1234567890:AAAA_A111BBBBBCCC2DD3eEe44f5GGGgGG
  4. 4
    Send your bot a message

    Open the bot's chat in Telegram   ➤   send any message (e.g. "Hello!")   ➤   This lets slackker auto-discover your chat ID on first connect(), no manual lookup needed.

  5. 5
    Use the token in your code TelegramClient(token="1234567890:AAAA_A111...")

Detailed callback usage

Drop-in examples for real projects

script.py
Use:
Client:
from slackker.core import TelegramClient
from slackker.callbacks.simple import SimpleCallback

client = TelegramClient(
    token="123456:ABC-DEF...",
    verbose=1
)
notify = SimpleCallback(client)

@notify.notifier
def train_model(epochs: int):
    # ... your training code ...
    return {"accuracy": 0.94, "loss": 0.12}

# Return value is automatically sent as a notification
train_model(epochs=20)

Universal MCP setup

Use slackker from your AI coding client

slackker runs as a local stdio MCP server. Pick your client below to get a ready-to-paste config snippet.

  1. 1Install MCP extras: pip install "slackker[mcp]"
  2. 2Start the server with slackker-mcp (or uv run slackker-mcp if it is not on your PATH).
  3. 3Set your SLACKKER_* values in your .env file. See .env.example for reference.
  4. 4Apply below config based on your choice of client
  5. 5Exposed MCP Tools: notify, ask, get_messages and get_status Know morehere
mcp-config.json
{
  "servers": {
    "slackker": {
      "type": "stdio",
      "command": "slackker-mcp",
      "env": {
        "SLACKKER_PLATFORM": "slack",
        "SLACKKER_TOKEN": "xoxb-...",
        "SLACKKER_CHANNEL_ID": "C04AAB77ABC"
      }
    }
  }
}

Need complete docs and compatibility notes? See Universal MCP Configuration.

Under the hood

Three lines to stay in the loop

🔌
01

Connect

Create a SlackClient, TelegramClient, or TeamsClient with your credentials. slackker verifies connectivity and is ready to post updates.

🎯
02

Attach

Pass the client to SimpleCallback, KerasCallback, or LightningCallback. Wrap your function with @notifier or drop the callback into your trainer.

📲
03

Receive

Get real-time updates — execution time, returned outputs, epoch metrics, best model stats, and optional training plots — delivered straight to your phone.

Your pipeline runs. Your phone notifies

Stop babysitting terminal. Slackker keeps you informed so you can stay heads-down on what actually matters.