The Converses component consists of two main parts:
- Google Chat integration: Leverages AWS Kendra for knowledge base search and Amazon Bedrock for AI inference to provide intelligent, context-aware responses.
- Knowledge base updater: Synchronizes content from Zoho Desk to AWS Kendra.
Google Chat integration
The Google Chat integration provides a conversational interface for internal users to interact with the Fluid Attacks knowledge base. It connects a Google Chat workspace to the Converses component, which allows users to ask questions about Fluid Attacks and get answers from the knowledge base.
Key features
- Message reception: Receives messages from Google Chat via lambda url invocation
- Authentication: Validates requests using Google App credentials
- AI processing: Uses Amazon Bedrock with Claude Sonnet 4 for intelligent responses
- Knowledge search: Queries AWS Kendra index for relevant information
Architecture
Components
- Receiver lambda: Handles incoming google chat requests
- Worker lambda: Processes messages and generates and delivers responses to the Google Chat app
Knowledge Base Updater
The knowledge base updater synchronizes articles from Zoho Desk to AWS Kendra, ensuring the chatbot has access to the latest information. It is triggered by a scheduled event from AWS EventBridge.
Key features
- Scheduled updates: Runs automatically via AWS EventBridge (Wednesdays and Fridays at 5 a.m. UTC)
- Incremental sync: Only processes articles modified since the last successful update
Architecture
Update process
- Authentication: Obtains Zoho Desk access token
- Data source sync: Starts Kendra data source sync job
- Content retrieval: Fetches articles from Zoho Desk API
- Document processing: Converts and indexes articles in Kendra
- Cleanup: Removes unpublished articles and revokes tokens
Infrastructure
The infrastructure provides all necessary AWS resources for the Converses component.
AWS
- AWS Kendra: Knowledge base search and indexing
- Amazon Bedrock: AI model inference with Claude Sonnet 4
- AWS Lambda: Serverless compute for chat processing messages processing
- AWS KMS: Encryption for sensitive data
- CloudWatch: Logging and monitoring
- Bedrock Guardrails: Content safety and filtering
Key resources
- Kendra Index:
fluid_kb_articles_index - Main knowledge base - Data source:
zoho_desk - Custom data source for Zoho content
- Lambda functions: Receiver and worker functions for chat processing
- Inference profile: Bedrock model configuration
- Guardrails: Content safety policies
Data Security and Privacy
Converses does not use any Personally Identifiable Information (PII) from Fluid Attacks’ customers. The information used is all the documents present in Fluid Attacks' knowledge base, which can be accessed by anyone looking for information about Fluid Attacks’ services and usage of its platform.
Security Features
Content safety (Bedrock Guardrails)
- Prompt attack protection: High-strength filtering for prompt injection
- Content filtering: Blocks sexual, violent, hate, and misconduct content
- Regex patterns: Custom patterns for sensitive information
Access control
- IAM Roles: Separate roles for each Lambda function
- Least privilege: Minimal required permissions
- KMS encryption: Encrypted storage for sensitive data
Monitoring and logging
CloudWatch integration
- Log groups: Centralized logging for all components
- Metrics: Performance and error tracking
- Alarms: Automated alerting for failures
LangSmith Integration
- Tracing: Detailed request/response tracing
- Usage tracking: Token consumption monitoring
- Performance analytics: Response time and quality metrics
Logs
- Receiver Lambda: /aws/lambda/google-chat-receiver-function
- Worker Lambda: /aws/lambda/google-chat-worker-function
- KB Updater: Scheduled task logs in CloudWatch