Guide
Sync Email to CRM with Manus AI
Use Manus AI and Nylas CLI to extract contacts from your email inbox, enrich them with signature data, and sync to Salesforce, HubSpot, or Pipedrive. No code, no manual data entry.
Written by Caleb Geene Director, Site Reliability Engineering
Reviewed by Caleb Geene
The problem
CRM data goes stale because nobody wants to manually enter contacts. A 2023 Salesforce report found that 91% of CRM data is incomplete within 12 months, mostly because reps skip manual entry. Your inbox already has every person you communicate with, plus context about what you discussed. But copying names, emails, titles, and companies from messages into Salesforce or HubSpot is tedious enough that most people skip it entirely.
The result: your CRM has gaps, your pipeline reports are inaccurate, and your team wastes time asking "who talked to this person last?"
How it works
Manus AI reads your inbox through the Nylas CLI, extracts contacts and companies, maps them to CRM fields, and outputs a CSV or makes API calls directly. The entire pipeline runs inside a single Manus conversation, typically processing 200 emails in under 3 minutes. You review before anything is imported.
- Fetch — Nylas CLI pulls recent emails and contacts as JSON
- Extract — Manus parses unique contacts, names, and companies
- Enrich — Manus reads email signatures for job titles and phone numbers
- Map — data is formatted to match your CRM's import schema
- Export — CSV file ready for import, or direct API push
Prerequisites
Four things are needed before starting: a Manus account, the Nylas CLI Skill installed in Manus, a CRM account, and an authenticated CLI session. Setup takes about 5 minutes if you already have the CLI installed.
- A Manus account (free tier works)
- Nylas CLI Skill installed in Manus — the Manus AI Skills guide covers installation
- A CRM account (Salesforce, HubSpot, Pipedrive, Zoho, or Dynamics 365)
- Nylas CLI authenticated with your email account
Step 1: Extract contacts from your inbox
The first step extracts every unique contact from recent email messages by parsing sender, recipient, and CC fields. Manus AI handles deduplication automatically, so a contact who appears across 50 threads shows up only once in the final list. Start a Manus conversation and give it this prompt:
List all unique contacts I've emailed in the last 30 days with their name,
email, and company. Deduplicate by email address.Manus uses the Nylas CLI Skill to fetch your recent messages. The --limit 200 flag caps the batch at 200 messages, which typically yields 80-120 unique contacts depending on your email volume. It also pulls your existing contacts for cross-referencing:
# Fetch recent emails
nylas email list --limit 200 --json
# Pull existing contacts for deduplication
nylas contacts list --jsonThe agent parses the from, to, and cc fields from every message, deduplicates by email address, and returns a structured list.
Step 2: Map to CRM fields
Field mapping converts raw contact data into the exact column format your CRM expects. Each CRM has its own required fields: Salesforce uses FirstName/LastName, HubSpot uses firstname/lastname, and Pipedrive uses name as a single field. Manus handles these differences when you specify the target CRM in your prompt.
Once Manus AI has the contact list, ask it to format the data. According to Salesforce's import documentation, Salesforce accepts CSV files with up to 50,000 records per batch:
Format these contacts as a Salesforce CSV with columns:
FirstName, LastName, Email, Company, TitleManus splits full names into first and last, infers company from email domains, and structures everything into the exact columns your CRM expects. For HubSpot, Pipedrive, or other CRMs, change the column names in the prompt.
Step 3: Enrich from email signatures
Email signature enrichment adds job titles, phone numbers, and LinkedIn URLs that don't appear in email headers. According to a Rocketseed study, 78% of business emails include a signature block with at least a job title. Manus parses these signatures to fill in CRM fields that would otherwise stay empty.
Ask Manus AI to read the latest message from each contact and extract signature data. The prompt below tells it to update the existing CSV with any fields it finds:
Read the latest email from each contact and extract their job title
and phone number from the signature. Update the CSV.For each contact, Manus reads the full message body using the Nylas CLI. The --json flag returns both the HTML and plain-text body, giving Manus two sources to parse signature data from:
nylas email read MESSAGE_ID --jsonManus identifies signature blocks by looking for patterns like phone number formats, "sent from" lines, and consistent formatting at the end of messages. Not every signature will have a title or phone number, so Manus leaves those cells blank rather than guessing.
Step 4: Export and import
The final step produces a downloadable CSV file formatted to your CRM's import specification. Manus generates the file inside the conversation window, so you can review every row before uploading. The output follows RFC 4180 CSV formatting, which all major CRMs accept.
A typical export from 200 emails produces 80-120 rows. Fields that Manus couldn't extract from signatures are left blank, so your CRM import won't reject rows with missing optional data:
FirstName,LastName,Email,Company,Title,Phone
Jane,Doe,jane@acme.com,Acme Inc,VP Engineering,+1-555-0123
Bob,Smith,bob@widgets.co,Widgets Co,CTO,
Alice,Johnson,alice@example.com,Example Corp,Director of Sales,+1-555-0456If you want Manus AI to push contacts directly via the CRM API instead of CSV, provide your API credentials in the prompt. Manus can call the Salesforce REST API, HubSpot Contacts API, or Pipedrive API to create records without a manual import step.
CRM-specific import guides
Each CRM has different import requirements, field naming conventions, and API rate limits. Salesforce limits bulk imports to 50,000 records per batch, HubSpot caps API calls at 100 per 10 seconds on free tier, and Pipedrive requires deal association for contact creation via API. The guides below cover each CRM's specific import workflow:
- Export email contacts to Salesforce
- Export email contacts to HubSpot
- Export email contacts to Pipedrive
- Export email contacts to Zoho CRM
- Export email contacts to Dynamics 365
Tips
A few practices keep this workflow reliable over time. Running weekly syncs catches new contacts within 7 days of first email. Filtering out personal domains (gmail.com, yahoo.com, hotmail.com) typically reduces noise by 30-40% and keeps your CRM focused on business contacts.
- Review before importing — always check the CSV for duplicates or incorrect data before uploading to your CRM
- Use
--limit— start with a smaller batch (50-100 emails) to verify the output before processing your full inbox - Schedule regular syncs — run this workflow weekly to keep your CRM up to date without manual effort
- Filter by domain — ask Manus to exclude personal email domains (gmail.com, yahoo.com) to focus on business contacts
- Command reference — every flag, subcommand, and example
- RFC 4180 -- CSV format — quoting / escaping rules every CRM importer expects
- RFC 6350 -- vCard Format Specification — canonical contact schema you can target instead of a flat CSV