Skip to main content

Slack Integration Template

Integrate Slack messaging into your mid-call actions and enable your AI assistant to automatically send messages, notifications, and updates to the relevant team channels during customer conversations.

Overview & Features

Real-time Team Notifications

  • Instant alerts for important customer inquiries
  • Automatic lead notifications to the sales team
  • Support tickets sent directly to the appropriate channels
  • Escalation messages for critical issues

Smart Channel Routing

  • Automatic channel selection based on call type
  • Rich text formatting with Slack Blocks
  • Mentioning specific team members
  • Integration with Slack workflows and bots

Slack App & Bot Setup

1. Create Slack App

1

Workspace Admin Access

  • Log in to Slack as a workspace admin
  • Navigate to api.slack.com/apps
  • Click on “Create New App”
2

App Configuration

App Details:
  App Name: "Famulor Mid-Call Integration"
  Development Workspace: [Your Workspace]
  App Icon: Famulor Logo (optional)
  
OAuth & Permissions:
  Required Bot Token Scopes:
    - "chat:write"
    - "chat:write.public"
    - "channels:read"
    - "users:read"
3

Generate Bot Token

Installation:
  1. Click "Install to Workspace"
  2. Confirm permissions
  3. Copy the Bot User OAuth Token
  4. Store the token securely (starts with "xoxb-")
4

Invite Bot to Channels

  • Invite the bot to desired channels: /invite @Famulor
  • Note channel IDs for configuration
  • Send a test message for validation

Configure Mid-call Action

Configuration in Famulor Interface

FieldValue
Name*Send Slack Message
Description”Automatically sends messages to Slack channels for team coordination and notifications”
Function Name*send_slack_message
Function Description*“Sends a message to a Slack channel. Use this for team notifications, lead alerts, or important updates during the call.”
HTTP MethodPOST
Timeout (ms)5000
Endpoint*https://slack.com/api/chat.postMessage

Parameter Schema

{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string",
      "description": "Channel ID or name (e.g. '#general', '#sales', or 'C1234567890')",
      "examples": ["#general", "#sales", "C1234567890"]
    },
    "text": {
      "type": "string",
      "description": "The message to send (plain text or markdown-formatted)"
    },
    "blocks": {
      "type": "array",
      "description": "Rich-text blocks for advanced formatting (optional)",
      "items": {
        "type": "object"
      }
    },
    "thread_ts": {
      "type": "string",
      "description": "Timestamp of a message to reply in a thread (optional)"
    },
    "reply_broadcast": {
      "type": "boolean",
      "description": "Also display thread reply in channel (optional)",
      "default": false
    }
  },
  "required": ["channel", "text"]
}

Practical Use Cases

Scenario 1: Lead Notification

1

Lead Detection

Trigger: AI detects a qualified lead in the conversation

Message Template:
  "🎯 New qualified lead!
   
   👤 Name: Max Mustermann
   🏢 Company: Beispiel GmbH
   📧 Email: max@beispiel.de
   📊 Score: 85/100
   💰 Budget: ~50k€
   
   @sales-team"
2

Smart Channel Routing

Routing Logic:
  If Lead Score > 80:
    → Channel: "#hot-leads"
    → Mention: "@sales-manager"
  
  If Lead Score 50-80:
    → Channel: "#sales"
    → Mention: "@sales-team"
  
  If Budget > 100k:
    → Channel: "#enterprise"
    → Mention: "@enterprise-team"

Scenario 2: Support Escalation

Automatic Support Message:
{
  "channel": "#support-critical",
  "text": "🚨 Critical issue reported!",
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Customer:* Max Mustermann (Beispiel GmbH)\n*Issue:* System outage for 2 hours\n*Priority:* 🔴 HIGH"
      }
    },
    {
      "type": "actions",
      "elements": [
        {
          "type": "button",
          "text": {"type": "plain_text", "text": "Open Ticket"},
          "value": "create_ticket",
          "style": "danger"
        }
      ]
    }
  ]
}
Business Impact Alert:
Context: Customer cancels important appointment

Message:
  "⚠️ Appointment cancellation – action required
  
  📅 Appointment: Demo for Enterprise Deal (50k€)
  👤 Customer: Beispiel GmbH - Max Mustermann  
  📞 Reason: Budget frozen in Q1
  ⏰ Next action: Follow-up in Q2
  
  @account-manager – please check alternative dates"

Scenario 3: Team Coordination

Response Handling

Successful Message

{
  "ok": true,
  "channel": "C1234567890",
  "ts": "1640995200.000100",
  "message": {
    "type": "message",
    "subtype": "bot_message",
    "text": "New lead: Max Mustermann - Beispiel GmbH",
    "ts": "1640995200.000100",
    "username": "Famulor Assistant",
    "bot_id": "B12345"
  }
}

Natural Language Integration

Before API Call: "I’m sending this information to the {{team}} team..."Examples:
  • “I’m informing our sales team about the new lead…”
  • “I’m escalating the issue to support…”
  • “I’m notifying the development team about the bug…”

Advanced Features

Rich Text Formatting with Blocks

{
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*New qualified lead!*\n\n:bust_in_silhouette: *Name:* Max Mustermann\n:office: *Company:* Beispiel GmbH\n:chart_with_upwards_trend: *Score:* 85/100"
      }
    },
    {
      "type": "actions",
      "elements": [
        {
          "type": "button",
          "text": {"type": "plain_text", "text": "Claim Lead"},
          "value": "claim_lead",
          "style": "primary"
        },
        {
          "type": "button", 
          "text": {"type": "plain_text", "text": "Schedule Follow-up"},
          "value": "schedule_followup"
        }
      ]
    }
  ]
}
{
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "🚨 New Support Ticket"
      }
    },
    {
      "type": "section",
      "fields": [
        {"type": "mrkdwn", "text": "*Customer:*\nMax Mustermann"},
        {"type": "mrkdwn", "text": "*Priority:*\n🔴 High"},
        {"type": "mrkdwn", "text": "*Issue:*\nAPI outage"},
        {"type": "mrkdwn", "text": "*Estimated downtime:*\n2 hours"}
      ]
    },
    {
      "type": "divider"
    },
    {
      "type": "context",
      "elements": [
        {"type": "mrkdwn", "text": "📞 Call active | 🕒 " + new Date().toLocaleString()}
      ]
    }
  ]
}

Multi-Channel Broadcasting

Workflow for Critical Issues:
  1. Primary message: "#support-critical"
  2. Management info: "#management"  
  3. Developer alert: "#dev-team"
  4. Customer Success: "#customer-success"
  
Implementation:
  - Multiple send_slack_message calls  
  - Customized messages per channel  
  - Different @mentions  

Error Handling

Common Issues

Cause: Bot not invited to the channel or wrong channel name

Fallback: "Team notification could not be sent. 
          I’m documenting the information for manual forwarding."

Solution:
  - Invite bot to the channel: /invite @Famulor
  - Use channel ID instead of name
  - Check permissions
Cause: Bot token expired or invalid

Graceful handling:
  "Slack integration is currently unavailable. 
   I’m noting the important information for the team."

Action: Notify admin about token issue
Slack limits:
  - Tier 1: 1+ message per second
  - Tier 2: 20+ messages per minute
  - Tier 3: 50+ messages per minute

Handling:
  - Exponential backoff  
  - Implement message queuing  
  - Priority-based delays  

Performance & Best Practices

Message Optimization

Relevant Information

Do’s:
  • Only business-critical messages
  • Clear, actionable content
  • Provide context for decisions
Don’ts:
  • Spam-like notifications
  • Redundant information
  • Pure statistics updates

Timing & Frequency

Smart Delays:
  • Avoid during meetings
  • Batch updates instead of single messages
  • Consider time zones
Escalation Rules:
  • Immediate: critical issues
  • 5 min delay: important leads
  • 15 min delay: standard updates

Integration with Other Tools

CRM Sync Workflows

Analytics & Monitoring

KPIs for Slack Integration

MetricDescriptionTarget
Message Success Rate% of successfully sent messages>99%
Response TimeTime until team reacts to Slack alert<5 minutes
Conversion RateSlack leads → closed deals>15%
Team EngagementInteraction with bot messages>80%

Reporting Dashboard

1

Message Analytics

  • Number of messages per channel/day
  • Most successful message types
  • Peak notification hours
2

Business Impact

  • Lead conversion rate via Slack
  • Support response times
  • Team productivity metrics
3

Optimization Insights

  • Most common error types
  • Identify unused channels
  • Message template performance

Privacy Notice: Ensure that sensitive customer data is only shared in private channels and that your Slack workspace complies with your company’s compliance policies.
Pro Tip: Start with a dedicated test channel for the Slack integration before deploying it in production channels. This helps fine-tune message templates and frequency.