Files
boundhq/inbound/AI_EMAIL_PARSING_SETUP_ASSESSMENT.md

84 lines
2.8 KiB
Markdown

# AI / Email Parsing Setup Assessment
This report assesses the Email Intake and AI parsing setup for SaaS Stage 1.
## Current State
Email Intake exists under `/enquiries/email-intake` with backend routes under `/api/email-intake`. It supports:
- IMAP mailbox polling
- mailbox browser
- intake logs
- AI parsing/reparse
- trusted senders
- filters
- operational categories
- create enquiry from email
- link email to project/job/quote/enquiry
- apply project update
Required env vars in route map:
- `IMAP_HOST`
- `IMAP_USER`
- `IMAP_PASSWORD`
- `OPENAI_API_KEY`
## Who Performs Parsing?
Current evidence indicates BoundHQ's platform performs parsing using server-side AI credentials, not customer-provided API keys. That is the correct Stage 1 model.
## Customer API Keys
| Option | Stage 1 recommendation |
|---|---|
| BoundHQ-owned AI key | Use now |
| Customer-owned OpenAI key | Defer |
| Per-customer model/provider selection | Defer |
Customer-owned keys add support burden and do not move first-customer onboarding.
## Setup Steps
1. Confirm customer consent for mailbox connection and AI parsing.
2. Create mailbox/app password or forwarding mailbox.
3. Configure IMAP host/user/password for the tenant.
4. Configure trusted sender/domain rules.
5. Poll manually once.
6. Review parsed logs.
7. Create one enquiry from an email.
8. Confirm bad/noisy messages can be ignored/filtered.
## Privacy Considerations
- Emails may contain personal data, job details, addresses, quotes, and attachments.
- Parsed content must stay inside the customer's tenant.
- AI prompts/responses should avoid storing unnecessary sensitive data.
- Customer must know that AI parsing can make mistakes and requires review.
- The product needs a plain consent statement before enabling auto-polling.
## Tenant Isolation Requirements
Before Stage 1 self-serve use, verify:
- intake logs include tenant/business scope
- settings and filters are tenant-specific
- mailbox credentials are not shared across businesses
- linked records cannot cross tenants
- AI parsing logs do not leak another tenant's content
## Failure Modes
| Failure | Customer impact | Required behavior |
|---|---|---|
| IMAP login fails | No emails imported | Show clear setup error, no retry storm |
| OpenAI key missing | Emails not parsed | Queue/log with "AI unavailable" |
| AI parse wrong | Wrong enquiry details | Human review before commit |
| Duplicate email | Duplicate enquiry | Detect UID/message-id |
| Large attachment | Slow/fail processing | Keep email log, flag attachment issue |
| Tenant mismatch | Data leak | Block and alert |
## Readiness Verdict
Email Intake is a strong Stage 1.5 differentiator. It should not block first customer launch. For the first customer, enable it only as a BoundHQ-assisted setup after core quote/job/invoice flow is working.