mirror of
https://github.com/FranP-code/inbox-negotiator.git
synced 2025-10-13 00:42:26 +00:00
60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
# Inbox Negotiator
|
|
|
|
An AI-powered system that automatically negotiates debt collections and billing disputes through email processing.
|
|
|
|
## Features
|
|
|
|
- **AI Email Processing**: Automatically parses incoming emails to extract debt information using Google's Gemini AI
|
|
- **Automated Negotiation**: Triggers negotiation workflows for legitimate debt collection notices
|
|
- **Webhook Integration**: Seamlessly processes emails through Postmark webhook integration
|
|
- **Row Level Security**: Secure database operations with proper authentication handling
|
|
|
|
## Environment Setup
|
|
|
|
Copy `.env.example` to `.env` and configure the following variables:
|
|
|
|
```bash
|
|
# Supabase Configuration
|
|
SUPABASE_URL=your_supabase_url_here
|
|
SUPABASE_ANON_KEY=your_supabase_anon_key_here
|
|
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key_here
|
|
|
|
# Google Generative AI API Key for Gemini model
|
|
GOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key_here
|
|
```
|
|
|
|
### Required Environment Variables
|
|
|
|
- `SUPABASE_URL`: Your Supabase project URL
|
|
- `SUPABASE_ANON_KEY`: Supabase anonymous key for client-side operations
|
|
- `SUPABASE_SERVICE_ROLE_KEY`: Supabase service role key for server-side operations (bypasses RLS)
|
|
- `GOOGLE_GENERATIVE_AI_API_KEY`: Google API key for AI processing
|
|
|
|
## Webhook Configuration
|
|
|
|
The `/api/postmark` endpoint handles incoming email webhooks from Postmark. It:
|
|
|
|
1. Validates incoming email data
|
|
2. Processes opt-out requests
|
|
3. Uses AI to extract debt information
|
|
4. Stores processed data in Supabase
|
|
5. Triggers automated negotiation workflows
|
|
|
|
### RLS (Row Level Security) Handling
|
|
|
|
The webhook uses a service role client to bypass RLS policies, ensuring server-side operations can write to the database without user authentication. This is essential for webhook operations where no user session exists.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Install dependencies
|
|
pnpm install
|
|
|
|
# Start development server
|
|
pnpm dev
|
|
```
|
|
|
|
## Deployment
|
|
|
|
Ensure all environment variables are configured in your deployment environment, especially the `SUPABASE_SERVICE_ROLE_KEY` which is critical for webhook operations.
|