yaalalabs/agent-kernel/ak-add-integration
Claude Code and agent skill by yaalalabs/agent-kernel
- community
Checking that the SKILL.md file is still in the repository.
Add a messaging platform integration to an existing Agent Kernel project. This skill guides you through adding Slack, WhatsApp, Messenger, Instagram, Telegram, Teams, or Gmail integration by generating configuration, updating dependencies, and setting up webhook handlers. Designed for users extending their agents.
Install
npx vskill@latest install yaalalabs/agent-kernel/ak-add-integrationSKILL.md
Add a Messaging Integration
Use this skill to add a messaging platform integration to your Agent Kernel project.
Instructions for the Agent
When the user wants to add a messaging integration, follow this workflow:
Step 1: Identify the Project
Check the user's current project for:
- An existing
pyproject.tomlwithagentkerneldependency - An agent definition file (e.g.,
app.py,server.py,demo.py) - An existing
config.yaml
If not found, suggest using the ak-init skill first.
Step 2: Ask Which Integration
Which messaging platform would you like to integrate?
- Slack — Bot that responds in Slack channels and threads
- WhatsApp — Bot via WhatsApp Business API (Meta)
- Facebook Messenger — Bot via Messenger Platform (Meta)
- Instagram — Bot via Instagram Messaging API (Meta)
- Telegram — Bot via Telegram Bot API
- Teams — Bot via Microsoft Teams (Azure Bot Framework)
- Gmail — Email-based agent via Gmail API (polling)
Step 3: Generate Changes
The snippets below mount each integration with IOHandler.run(...), the local/containerized pipeline. If the project deploys on AWS Lambda (the ak-serverless Terraform module), host the same handler in the request-handler Lambda instead, and add the platform extra to both the request-handler and the response-handler packages (agentkernel[aws,<platform>], not the api extra):
- WhatsApp, Messenger and Instagram also register the handshake:
Lambda.register("/<platform>/webhook", method="GET")(host.challenge).
- It needs
queue_mode = true,execution_mode = "rest_sync"or"rest_async"withmessage_type
unset or "complete" (LambdaWebhookHost refuses delta), execution.queues.type: sqs in config.yaml, and a response store (create_dynamodb_response_store = true).
- Declare the webhook route in Terraform:
gateway_endpoints = [{ path = "/slack/events", method = "POST" }]
(WhatsApp, Messenger and Instagram also need GET on their path for the handshake).
- Put the platform credentials in both
request_handler.environment_variablesand
response_handler.environment_variables. WhatsApp, Messenger and Instagram need their app_secret and Telegram its webhook_secret: LambdaWebhookHost refuses to start without them.
- Behind an API Gateway authorizer, pass
bypass=WebhookRouteMatcher.for_integrations("<platform>") to APIGatewayAuthorizer and set result_ttl_in_seconds = 0 (see the ak-cloud-deploy skill, AWS Serverless).
- Gmail (polling) is not supported on Lambda.
For Slack
1. Update pyproject.toml dependencies:
Add slack to the extras:
2. Update config.yaml:
3. Update the server file:
4. Environment variables needed:
5. Setup instructions:
- Create a Slack App at https://api.slack.com/apps
- Enable Event Subscriptions → set Request URL to
https://<your-domain>/slack/events - Subscribe to bot events:
message.channels,message.groups,message.im,message.mpim - Install the app to your workspace
- Copy Bot Token and Signing Secret to environment variables
For WhatsApp
1. Update pyproject.toml:
2. Update config.yaml:
3. Update the server file:
4. Environment variables:
5. Setup instructions:
- Create a Meta App at https://developers.facebook.com
- Set up WhatsApp Business API
- Configure webhook URL:
https://<your-domain>/whatsapp/webhook - Set verify token to match your
config.yaml
For Facebook Messenger
1. Update pyproject.toml:
2. Update config.yaml:
3. Update the server file:
4. Environment variables:
5. Setup instructions:
- Create a Meta App and add Messenger product
- Configure webhook:
https://<your-domain>/messenger/webhook - Subscribe to
messagesevents
For Instagram
1. Update pyproject.toml:
2. Update config.yaml:
3. Update the server file:
4. Environment variables:
For Telegram
1. Update pyproject.toml:
2. Update config.yaml:
3. Update the server file:
4. Environment variables:
5. Setup instructions:
- Create a bot via Telegram @BotFather
- Set webhook:
https://api.telegram.org/bot<token>/setWebhook?url=https://<your-domain>/telegram/webhook
For Gmail
1. Update pyproject.toml:
2. Update config.yaml:
3. Update the server file:
4. Setup instructions:
- Create a Google Cloud project
- Enable Gmail API
- Create OAuth 2.0 credentials
- Download
credentials.jsonand run the OAuth flow to generatetoken.json
For Teams
1. Update `pyproject.toml`:
2. Update `config.yaml`:
3. Update the server file:
4. Environment variables:
5. Setup instructions:
- Create a bot registration in Azure Bot Service
- Set messaging endpoint to
https://<your-domain>/teams/messages - Add Microsoft Teams channel in Azure Bot configuration
- Install or publish the Teams app in your tenant via Developer Portal
- Attachments whose download URL is not pre-authenticated need
tenant_idset plus the
Sites.Read.All Office 365 SharePoint Online application permission (admin consent)
Step 4: Multiple Integrations
Multiple integrations can run simultaneously:
Update pyproject.toml:
Step 5: Verify
After making changes:
- Run
uv syncto install new dependencies - Set environment variables for the integration
- Start the server:
python server.py - Check health:
curl http://localhost:8000/health - Configure the platform webhook to point to your server URL
What to Do Next
Your messaging integration is connected. Here's what you might do next:
- Add more tools & agents → Use the
ak-buildskill to add new tools and agents that handle platform-specific interactions. - Add guardrails → Use the
ak-add-capabilitiesskill to add input/output guardrails — especially important for public-facing messaging channels. - Deploy to cloud → Use the
ak-cloud-deployskill to deploy your agent to AWS or Azure so your webhook endpoints are publicly accessible. - Set up testing → Use the
ak-testskill to test your agent's responses before going live.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingak-py/src/agentkernel/skills/ak-add-integration/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/yaalalabs/agent-kernel/ak-add-integration)