TheFocus.AI TheFocus.AI
07 the always on system Lesson 28

Channels

Stop checking things — events come to you.

~10 min

TUTOR WITH THEFOCUS.AI

Agent Integration

Copy this prompt into Claude, ChatGPT, or any external AI assistant. It points the assistant to the course instructions and links it to your student profile to track your progress and customize observations.

Please tutor me in this lesson using the following context. First, read the instructions at: https://courses.thefocus.ai/llms.txt My Student ID is: <none> The lesson markdown source is at: https://courses.thefocus.ai/mastering-claude/07-the-always-on-system/28-channels.md

You are not enrolled yet. Enroll to generate a Student ID to track lesson completions and store learning notes.

Events push in, Claude responds

Up to this point, everything has been pull-based. You ask Claude a question, Claude responds. Channels invert this. Events push into your Claude session, and Claude responds without you asking.

A Channel connects an external source — Telegram, Discord, iMessage, or your own webhook endpoint — to a running Claude Code session. Under the hood a channel is an MCP server that pushes events instead of waiting to be called. Anthropic ships channel plugins for the common cases; start one with the --channels flag:

claude --channels plugin:telegram@claude-plugins-official

Claude sees each incoming event, understands it, and acts using every tool and MCP server already connected.

The Inversion

Before Channels: You check QuickBooks, you check email for invoices, you check the supplier portal. You pull information to Claude.

After Channels: A new invoice arrives → webhook fires → Claude receives it → Claude categorizes it using your skill → Claude enters it via MCP. You get a summary on Telegram.

Channel SourceWhat Pushes InWhat Claude Can Do
Telegram / DiscordMessages from you or your teamRespond conversationally, execute commands, report status
iMessageTexts from your phoneSame session, no extra app — delegate by text message
Webhook endpointAny HTTP POST payloadParse the payload, take action — Stripe events, form submissions, invoice arrivals
Monitoring (via webhook)Sentry error alerts, CI failuresAnalyze the error, check recent deploys, find the commit, draft a fix

“The shift is from pulling information to having it pushed to you. Once you set up Channels, you stop checking things. Things come to you.” — Damien Galarza

Cornwall Market: a webhook receives notification when a new invoice PDF arrives in the shared email. Claude is alerted, downloads the attachment, reads the invoice, applies the categorization skill, and enters the data via QuickBooks MCP. Sarah gets a Telegram message: “New invoice from Chen’s Produce, $1,240, categorized to 5100. Approved?”

Check your understanding

Answer in your own words — write it down before opening the key. Your tutor grades against the criteria and generates fresh variants on retries.

Q1. Channels invert the model. State the inversion, then rewrite one recurring check from your own week in before/after form.

Answer key — attempt every question first

Answer key

Q1

Model answer: Inversion: from you pulling information (checking dashboards, opening inboxes) to events pushing into Claude, which acts and reports. Before: ‘every morning I check X.’ After: ‘when X changes, a webhook fires, Claude applies the rules and messages me the outcome plus anything needing approval.’

Pass criteria: pull-to-push stated; the before/after uses a real recurring check with Claude acting, not just notifying

Next: Routines

Previous Lesson 28 of 42 Next