Customer Service
AI agents handling customer interactions across multiple channels.
Requirements
- Multi-channel support (email, chat, WhatsApp)
- Customer data isolation from LLMs
- Rate limiting per platform
- Escalation workflows
Example: Support Bot
schema_version: "1.0"
name: support-bot
version: "1.0.0"
publisher: support-corp
capabilities:
- name: crm-lookup
description: Customer record lookup
api:
method: GET
url_pattern: "https://api.salesforce.com/services/data/v58.0/sobjects/Contact/**"
rate_limit:
requests_per_minute: 100
taint_labels: [customer_pii, contact_info]
secret_headers:
Authorization: "Bearer ${SALESFORCE_TOKEN}"
- name: ticket-create
description: Create support tickets
api:
method: POST
url_pattern: "https://api.zendesk.com/api/v2/tickets"
rate_limit:
requests_per_minute: 50
secret_headers:
Authorization: "Basic ${ZENDESK_API_KEY}"
- name: slack-message
description: Send Slack messages
api:
method: POST
url_pattern: "https://slack.com/api/chat.postMessage"
rate_limit:
requests_per_minute: 30
secret_headers:
Authorization: "Bearer ${SLACK_BOT_TOKEN}"
- name: whatsapp-send
description: Send WhatsApp messages
api:
method: POST
url_pattern: "https://graph.facebook.com/v18.0/*/messages"
rate_limit:
requests_per_minute: 20
burst: 5
secret_headers:
Authorization: "Bearer ${WHATSAPP_TOKEN}"
- name: llm-respond
description: Generate responses
api:
method: POST
url_pattern: "https://api.openai.com/v1/chat/completions"
rate_limit:
requests_per_minute: 60
secret_headers:
Authorization: "Bearer ${OPENAI_API_KEY}"
taint_rules:
- name: pii-isolation
deny_flow:
from_labels: [customer_pii, contact_info]
to_capabilities: [llm-respond]
secrets:
- name: SALESFORCE_TOKEN
required: true
- name: ZENDESK_API_KEY
required: true
- name: SLACK_BOT_TOKEN
required: true
- name: WHATSAPP_TOKEN
required: true
- name: OPENAI_API_KEY
required: true
Controls
| Requirement | Hull0 Feature |
|---|---|
| Multi-channel | Separate capabilities per platform |
| PII protection | Taint rules block customer data to LLM |
| Rate limiting | Per-platform limits |
| Audit | Complete interaction log |
Transparent Mode Alternative
For existing support applications:
schema_version: "1.0"
name: support-bot-transparent
version: "1.0.0"
publisher: support-corp
network:
outbound:
- name: salesforce
domains: ["*.salesforce.com"]
ports: [443]
protocol: tcp
rate_limit:
requests_per_minute: 100
- name: zendesk
domains: ["*.zendesk.com"]
ports: [443]
protocol: tcp
- name: slack
domains: ["*.slack.com"]
ports: [443]
protocol: tcp
- name: whatsapp
domains: ["graph.facebook.com"]
ports: [443]
protocol: tcp
- name: openai
domains: ["api.openai.com"]
ports: [443]
protocol: tcp
dns:
mode: allowlist
runtime:
runtime_type: node
entrypoint: "node /app/bot.js"