Lead capture

Forward once. Leads land in Pipedrive.

signatures is a **multi-tenant** lead-capture worker. Each signed-in user configures their own Exchange inbox, OpenAI key, and Pipedrive target. Pipelines are isolated — users only see their own activity. ## Access control - Email/password signup and login with SQLite-backed sessions - Per-user connector settings stored encrypted (`SIGNATURES_MASTER_KEY`) - Dashboard and APIs are scoped to the signed-in user - Set `SIGNATURES_ALLOW_SIGNUP=false` after onboarding ## Per-user connector After sign-in, open the dashboard and save: | Field | Purpose | |---|---| | Monitored mailbox | Shared inbox this user forwards into | | Azure app credentials | Microsoft Graph `Mail.ReadWrite` for that mailbox | | OpenAI API key | Signature extraction (or set platform `OPENAI_API_KEY`) | | Pipedrive URL + token | Where this user's leads are synced | Each account polls independently. Failed messages stay unread in that user's mailbox only.

Your team forwards interesting inbound mail to one shared mailbox. The worker polls Microsoft Graph, ignores the forwarder, reads the original sender signature, and creates structured CRM records automatically.

Microsoft Graph · OpenAI extraction · Pipedrive sync

01 — Flow

How it works

Forward

Team members forward prospect emails to the monitored shared inbox.

Extract

OpenAI reads the original sender block and signature — not the forwarder header.

Sync

Organizations, people, and leads are created or updated in Pipedrive.

02 — Ops

Operator view

  1. 01
    Poll loop

    Checks unread mail every 30 seconds by default.

  2. 02
    Safe retries

    Failed messages remain unread until processing succeeds.

  3. 03
    Dashboard

    Recent activity, config health, and sync counters in one place.