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

RequirementHull0 Feature
Multi-channelSeparate capabilities per platform
PII protectionTaint rules block customer data to LLM
Rate limitingPer-platform limits
AuditComplete 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"