Email Intelligence

Online

email intelligence items awaiting review

Review Now

Dashboard

Sponsorship overview for

Wtd Pipeline

Committed

Collected

Outstanding

Overdue

By Sponsorship Tier

Payment Status

Overdue Tasks

Due 7 Days

Benefits Due 30d

Benefits Overdue

Organization Pipeline

Upcoming Tasks

No upcoming tasks

Upcoming Events

No upcoming events

Recent Activity

No touchpoints logged by you yet

No recent activity

Revenue Command Center

Pipeline overview and deal progression

Weighted Pipeline

?

Weighted Pipeline

Sum of each deal's expected amount multiplied by its stage probability.

Example: A $10,000 deal at "Proposal Sent" (55%) contributes $5,500 to the weighted pipeline.

Proposals Out

Verbal / Contract

Won — Pending

Paid This Month

Stale Deals

Deal Pipeline

Next Actions

No deals yet

Create your first deal to get started with the Revenue Command Center.

Deals

?

Stage Probabilities

Each deal stage has a probability that reflects how likely the deal is to close. As a deal moves through the pipeline, the probability increases.

These percentages are used to calculate the Weighted Pipeline — each deal's expected amount is multiplied by its stage probability to forecast revenue.

Example: A $10,000 deal at "Negotiation" (70%) counts as $7,000 in the weighted pipeline.

No deals yet. Create your first one!

Organizations

Organization Type Status Contacts Total Sponsored

No organizations yet. Add your first one!

No organizations yet. Add your first one!

Contacts

Name Organization Title Email Phone

No contacts yet.

No contacts yet.

Sponsorships

No sponsorships found.

Event Sponsorships

No sponsorships for this event yet.

Clear

Schedule

No sessions yet. Click "Add Session" to create one.

Communications

No communications found.

Tasks

No tasks found.

Pipeline

Sponsorship funnel for

Weighted Forecast

Stage Summary

Stage Count Total Expected

Sponsorships in Pipeline

No sponsorships in pipeline for this year.

Renewal Forecast

Year-over-year comparison

Committed

Committed

YTD Collected

Delta vs Prior

Prior Year Sponsors — Renewal Status

Organization Prior Year Current Year Stage Owner Renewal Status

No prior-year sponsors to compare.

User Management

Name Username Email Role

No users found.

Name Username Email

No deactivated users.

ESO ATLAS Dashboard

Startups

Mentors

Founders

Students

Upcoming Sessions

Mentor Pipeline

Review and manage mentor candidates

Startup Pipeline

Track startup applicants and progress

No cohorts yet. Create your first cohort to get started.

Cohorts

No active or planning cohorts yet.

Leadership

Sort:
No active leadership members yet. Click "New Member" to add one.

Mentors

Sort:
No mentors yet. Add a mentor to get started.
Sort:
Status:
Name
No matching mentors found.

Pipeline

active candidates

No mentor candidates yet. Click "Add Mentor Candidate" to start recruiting.
No planning cohorts — create one in Cohorts settings

Public Application URL

No startup applicants yet. Share the application URL to start receiving applications.

Founders

Sort:
No founders yet.
Sort:
Status:
Name
No matching founders found.

Startups

No startups yet. Click "New Startup" to add one.

Students

Sort:
No students yet.
Sort:
Status:
Name
No matching students found.

Email Intelligence Review

Connected mailboxes are automatically polled every 5 minutes. Use the manual poll button to sync immediately.

Email Intelligence

How It Works
  1. Connect your Microsoft 365 or Google mailbox
  2. Emails are polled automatically every 5 minutes
  3. Each email is classified by AI (gpt-4o-mini) for deal-relevant intent — no keyword configuration needed
  4. Only emails with deal signals (engagement, negotiation, risk, process updates) are ingested
  5. AI then extracts contacts, deal terms, next steps, and pipeline signals from the matched emails
  6. Deal-relevant emails appear here for you to review and commit to the CRM
  1. Connect your Microsoft 365 or Google mailbox
  2. Emails are polled automatically every 5 minutes
  3. AI scans for keyword matches and extracts contacts, organizations, dollar amounts, and next steps
  4. Matched emails appear here for you to review and commit to the CRM
Intent Classification

Every email is run through a lightweight AI classifier that determines whether it contains deal-related content. Emails are categorized as:

  • Deal — active deal discussion, terms, pricing, or engagement
  • Process — scheduling, due diligence, document requests, or logistics
  • Risk — concerns, objections, delays, or deal blockers
  • Relationship — introductions, referrals, or relationship-building
  • Non-deal — newsletters, automated notifications, etc. (skipped)

Only emails classified with deal intent are ingested. Non-deal emails are silently skipped.

Matched vs Unmatched
  • Matched — email sender/recipient was matched to an existing contact in your CRM. Ready to review and commit.
  • Unmatched — AI found relevant content but couldn't match a contact. You can manually assign to an existing contact or create a new one.
What AI Extracts
  • Summary — concise summary of the email conversation
  • Participants — names, emails, and organizations mentioned
  • Commitments
  • Next Steps — action items extracted from the email
  • Pipeline Signal — AI suggests a pipeline stage based on language in the email
  • Confidence Score — how confident the AI is in the match quality
Review Actions
  • Review & Commit — approve matched emails to log as a communication touchpoint and update org/contact data
  • Review & Assign Contact — for unmatched emails, link to an existing contact or create a new one before committing
  • Delete — discard irrelevant emails (they move to the Discard Bin)
Tips for Best Results
  • AI intent detection works automatically — no keyword setup required
  • Use the Poll Email button to sync immediately instead of waiting for the 5-minute cycle
  • Review items regularly — the queue builds up and older items become harder to action
  • High confidence scores (70%+) generally mean a strong intent signal and contact match
  • Emails classified as Risk may flag deal blockers worth addressing quickly
  • Configure email keywords in Admin Settings to control which emails are captured (e.g., "sponsorship", "partnership", "proposal")
  • Use the Poll Email button to sync immediately instead of waiting for the 5-minute cycle
  • Review items regularly — the queue builds up and older items become harder to action
  • High confidence scores (70%+) generally mean a strong keyword and contact match

Connect Your Email

For Microsoft, do NOT check "Consent on behalf of your organization" on the sign-in page.

Loading...

No emails pending review

|

Discard Bin

Deleted items — restore or permanently remove

Type Name / Subject Details Date Deleted Deleted By Actions

Settings

Sponsorship Tiers

Organization Types

Default types can be hidden from dropdowns. Users can also create custom types inline when adding organizations.

Default Types

Custom Types (Tenant-specific)

Change Password

Choose whether the AI chat bar starts expanded or collapsed when you log in

Open chat bar on login

When off, the chat bar starts collapsed — click the toggle to expand it anytime

Manage Email Intelligence Connections

View and manage email connections for all users in this tenant

No email connections

Super Admin Settings

System-wide configuration

AI Engine

Choose which AI powers the quick-add bar for all users

If OpenAI is unavailable, the system will automatically fall back to Ollama.

Microsoft 365 Email Ingestion

Connect mailboxes to auto-ingest relevant emails via Graph API

Emails are ingested only when both keywords appear in the subject or body (not signatures/quotes):

+ — within 250 characters

Once a thread matches, all future replies are auto-ingested. AI extracts summaries, commitments, and next steps. No raw email bodies are stored permanently.

Mailbox Connections

Select a CRM user and click "Add Mailbox". They'll see a prompt to connect their Microsoft 365 account next time they log in. You can add multiple mailboxes per user.

No mailbox connections yet

Select a user above and click "Enable User" to get started.

No audit entries yet
Time Action Subject
No unmatched emails
Subject From Status

These emails matched keyword rules but no CRM contact was found. Add the sender's email to a CRM contact to resolve.

Step 1: Register a Microsoft Identity App

  1. Go to Microsoft Identity admin center → App registrations → New registration
  2. Name: CRM Email Ingestion
  3. Supported account types: Accounts in any organizational directory (multi-tenant)
  4. Redirect URI (Web):
  5. Click Register, then copy the Application (client) ID

Step 2: Add API Permissions

  1. Go to API permissions → Add a permission → Microsoft Graph → Delegated permissions
  2. Add: Mail.Read, offline_access, openid, profile, email
  3. Do NOT add Application permissions — this system uses delegated (user-context) only
  4. No client secret is needed — the app uses PKCE (public client flow)

Step 3: Set Environment Variables

Add these to the server's systemd service file or .env:

MS_GRAPH_CLIENT_ID=<your-identity-client-id>

MS_GRAPH_REDIRECT_URI=

GRAPH_ENCRYPTION_KEY=<64-char-hex>

Generate encryption key: python3 -c "import os; print(os.urandom(32).hex())"

Step 4: Connect a Mailbox

  1. Select which CRM user the mailbox should be assigned to from the dropdown (or leave as "myself")
  2. Click "Connect M365" — you'll be redirected to Microsoft to sign in
  3. Sign in with the Microsoft 365 account whose inbox should be monitored and grant consent
  4. The connection appears in the list with status "Paused"
  5. Click the play button to enable ingestion for that mailbox
  6. The poller runs automatically via cron every 5 minutes, or click "Poll Now" to trigger immediately

Step 5: Set Up Cron Jobs

# Poll mailboxes every 5 minutes

*/5 * * * * /var/www/acg-crm/venv/bin/python /var/www/acg-crm/backend/graph_poller.py poll

# Purge staging every hour

0 * * * * /var/www/acg-crm/venv/bin/python /var/www/acg-crm/backend/graph_poller.py purge

# Retry failed extractions every 15 min

*/15 * * * * /var/www/acg-crm/venv/bin/python /var/www/acg-crm/backend/graph_poller.py retry

Google Gmail Email Ingestion

Connect Gmail / Google Workspace mailboxes to auto-ingest sponsorship emails

Google Mailbox Connections

Select a CRM user and click "Add Google Mailbox". They'll see a prompt to connect their Google account next time they log in.

Step 1: Create a Google Cloud Project

  1. Go to Google Cloud Console → Create a new project (or select existing)
  2. Enable the Gmail API under APIs & Services → Library

Step 2: Configure OAuth Consent Screen

  1. Go to OAuth consent screen → User Type: External (or Internal for Workspace-only)
  2. Add scopes: gmail.readonly, openid, email, profile
  3. Add test users if the app is in "Testing" mode

Step 3: Create OAuth Credentials

  1. Go to Credentials → Create credentials → OAuth client ID
  2. Application type: Web application
  3. Authorized redirect URI:
  4. Copy the Client ID and Client Secret

Step 4: Set Environment Variables

GOOGLE_CLIENT_ID=<your-google-client-id>

GOOGLE_CLIENT_SECRET=<your-google-client-secret>

GOOGLE_REDIRECT_URI=

Step 5: Add Cron Job

# Poll Google mailboxes every 5 minutes

*/5 * * * * /var/www/acg-crm/venv/bin/python /var/www/acg-crm/backend/google_poller.py poll

Auto-Fill Websites

Use AI web search to find websites for organizations missing them

Data Hygiene

Detect and merge duplicate records

Organization Duplicates

No duplicate organizations detected.

Contact Duplicates

No duplicate contacts detected.

ESO ATLAS — Tag Taxonomy

No tags yet. Add expertise, industry, and need tags for mentor/startup matching.

Advisory Settings

days

Deals with no stage change beyond this threshold appear as "stale" in the Revenue Command Center.

Toggle which stages appear in the pipeline board, stage filters, and deal dropdowns.

Platform Administration

No tenants found.

.staginglab.xyz | |

Name Username Email Role Status

No users in this tenant.

⚠ Decreased performance — failover to local LLM mode
(click to dismiss)

Review & Assign Contact

Assign or create a CRM contact for this email

No contacts found

Selected:

Selected:

Review & Commit Email

Edit extracted data before committing to communication logs

🎓

You're through the tutorial.

A quick guided tour to help you get oriented.

Scanning Card...

Running OCR and processing image

Card Scan Results

Required Fields

Use org mapping below to link/create

📊

Import Spreadsheet

Spreadsheet Column Maps To Sample

AI Parsed Data

Review and edit before saving

Organizations ()

Organization

Contacts ()

Contact

Deals ()

Sponsorships ()

Sponsorship

Events ()

Event

Tasks ()

Mentors ()

Founders ()

Startups ()

Students ()

Cohorts ()

Sessions ()

Mentor Assignments ()

Review Updates

Verify changes before applying

Confirm Deletion

These contacts matched your request:

Ask questions about your data

Ask me anything about your CRM

Try: "When did we last talk to..." or "How many gold sponsors?"

Thinking...