Zoho Mail webhook plugin for Brainiac — the multi-agent orchestration layer.
- Email Notifications — rule-based matching of incoming emails, notifications to Discord
- Email Triage — AI agent dispatched to decide if support emails need a card
- OAuth Flow — browser-based Zoho OAuth for API access (content fetching)
- Fallback Rules — catches unmatched emails so nothing slips through
brainiac install zoho
brainiac restartConfig lives at ~/.brainiac/zoho.json:
{
"hook_secret": null,
"default_discord_channel_id": "YOUR_CHANNEL_ID",
"notify_as": "merlin",
"rules": [
{
"label": "Item Sold",
"enabled": true,
"subject_contains": "sold",
"emoji": "💰"
}
],
"fallback": {
"enabled": true,
"label": "Unmatched Email",
"emoji": "📬"
}
}The hook_secret is auto-captured from Zoho's initial handshake — no manual configuration needed.
- Go to Zoho Mail → Settings → Developer Space → Outgoing Webhooks
- Add webhook URL:
https://your-ngrok.ngrok-free.app/zoho - On first trigger, Zoho sends the signing secret automatically
For fetching full email content (webhook payloads only include summaries):
- Add
apisection tozoho.jsonwithclient_idandclient_secret - Visit
http://localhost:4567/zoho/authto complete OAuth - The
refresh_tokenandaccount_idare saved automatically
brainiac zoho setup # Create config file from template
brainiac zoho config # Show current configuration
brainiac zoho auth # Instructions for OAuth setup| Hook | When | Payload |
|---|---|---|
:create_work_item |
Triage agent decides to create card | board_id, title, description, tags, assign_to |
git clone https://github.com/stowzilla/brainiac-zoho.git
cd brainiac-zoho
bundle install
bundle exec rake test
bundle exec rubocopMIT