Setting Up Your CRM Integration
This guide walks you through integrating mOS with your CRM system using our third-party integration platform Merge. The integration syncs critical sales qualification data between mOS and HubSpot, Salesforce or other selected CRMs.
Security & Data Protection
We understand that integrating your CRM with third-party tools raises important security questions. Here's how we handle your data:
Merge Platform Security
Merge is a secure, industry-standard integration platform that specializes in CRM data synchronization. It handles the authentication and data transfer between mOS and your CRM system.
API Key Management
When connecting HubSpot, we recommend creating a dedicated private app with scoped permissions. This ensures mOS only has access to the specific data fields it needs. You can revoke API access at any time by deleting the private app in HubSpot.
Data Encryption & Transmission
All data transmitted between mOS and your CRM is encrypted in transit using industry-standard security protocols.
Permissions & Data Access
When connecting any CRM, you'll be presented with a permissions screen outlining exactly what access mOS requires. These permissions apply across all supported CRMs.
-
Read access — mOS reads the following data from your CRM: Opportunities, Contacts, Accounts, Users, Notes, and Stages
-
Write access — mOS writes back to the following: Opportunities, Contacts, Accounts, Notes, and Stages
What Data Is Synced
mOS syncs all opportunity data and fields from your CRM to ensure you have complete information available. However, only the fields you explicitly map during setup are displayed and used within mOS.
Compliance & Standards
Merge complies with SOC 2 Type II and GDPR requirements, ensuring your data is handled according to international security and privacy standards. You can view their trust centre here and their security page here.
Supported CRMs
Salesforce, Hubspot, Accelo, ActiveCampaign, Affinity, Capsule, Close, Copper, Insightly, Keap, Microsoft Dynamics 365 Sales, Nutshell, Pipedrive, Pipeliner, Salesflare, SugarCRM (Beta), Teamleader, Teamwork CRM, Vtiger, Zendesk Sell and Zoho CRM.
Pre-Setup Checklist: Fields to Create
Before initiating the sync, you must create fields in your CRM for each MEDDPICC category. Each category needs a Status field and a Notes field.
<aside> 💡
⚠️ You'll need CRM admin permissions to create custom fields. If you don't have these, share this section with your CRM administrator before proceeding.
</aside>
Field Categories
- Metric (
metric_status,metric_notes) - Economic Buyer (
economic_buyer_status,economic_buyer_notes) - Decision Criteria (
decision_criteria_status,decision_criteria_notes) - Decision Process (
decision_process_status,decision_process_notes) - Paper Process (
paper_process_status,paper_process_notes) - Implicate Pain (
implicate_pain_status,implicate_pain_notes) - Champion (
champion_status,champion_notes) - Competition (
competition_status,competition_notes)
If you've previously set up MEDDPICC fields in your CRM, check that the field names and values match exactly before connecting — mismatches will cause sync failures.
Field Types by CRM
HubSpot
- Notes Fields: Multi-Line Text field type
- Status Fields: Dropdown Select with Badge display option
Salesforce
- Notes Fields: Long Text field type
- Status Fields: Picklist field type
Status Field Values
For both HubSpot and Salesforce, add dropdown/picklist values: strong, medium, low
⚠️ CRITICAL: Status Field Values MUST Be Lowercase
Status field internal values must be lowercase (strong, medium, low) to match mOS requirements.
- Using Strong instead of strong will break the sync
- Using high instead of strong will break the sync
If values don't match, the sync will fail for that opportunity.
Color Coding
- Green = Strong
- Yellow = Medium
- Red = Low
Creating a Dedicated MEDDPICC Tab or Section
Create a new tab in your CRM called MEDDPICC to contain all synced mOS data. This keeps your integration organized without disrupting existing CRM workflows.
Starting Your CRM Connection
If your CRM has not yet been connected, you'll see a CRM Not Connected banner on your Opportunities List page. Click Start CRM Sync to begin, or navigate to Settings and click Connect CRM Account.
You'll be presented with a modal to select which CRM you're connecting. Follow the on-screen instructions to authenticate and connect your account — this will initiate the initial sync process.
⚠️ The first sync can take some time. Opportunities will not appear in mOS immediately. You'll receive an email confirmation once the initial sync is complete and your opportunities are ready to view. Once you receive that email, return to Settings to complete the rest of the CRM setup (field mapping, deal stages, and opportunity filters).
Once connected, follow the CRM-specific steps below to ensure your integration is fully configured. If you encounter any issues please contact support@meddicc.com
Sync Direction & Timing
mOS → CRM
Changes made in mOS are reflected in your connected CRM within approximately one minute.
CRM → mOS
mOS pulls data from your CRM every 15 minutes. Updates made directly in HubSpot or Salesforce will reflect in mOS within approximately 15 minutes.
Important: mOS only fetches recently updated opportunities during these 15-minute sync cycles. To retrieve all historical data or perform a complete refresh of all opportunities, use the Refresh button in the Settings page (see Full Data Refresh section below).
Connecting HubSpot via Merge
Step 1: Create a HubSpot Private App
- Sign into your HubSpot account
- Go to Development → Legacy Apps
- Click Create legacy app, then select Private App
- Go to Scopes tab and add all CRM scopes listed below
- Click Create app and copy the generated key
Required HubSpot Scopes
crm.objects.users.readcrm.objects.contacts.writecrm.objects.users.writecrm.schemas.deals.readcrm.schemas.deals.writesales-email-readcrm.objects.owners.readcrm.objects.companies.writecrm.objects.companies.readcrm.objects.deals.readcrm.objects.deals.writecrm.objects.contacts.read
Step 2: Connect via Merge
When connecting through Merge, you'll provide your Company ID and API key, then review and accept the permissions for CRM data access.
Connecting Salesforce via Merge
- Initiate the connection in mOS
- Log in with your Salesforce credentials
- Review and accept the permissions
Unlike HubSpot, Salesforce uses automatic scope authorization, so no manual configuration is needed.
Field Mapping
After connecting your CRM, map each mOS field to the corresponding CRM field you created:
Mapping Reference
Use these API names when setting up field mappings:
Metric: metric_status, metric_notes,
Economic Buyer: economic_buyer_status, economic_buyer_notes
Decision Criteria: decision_criteria_status, decision_criteria_notes
Decision Process: decision_process_status, decision_process_notes
Paper Process: paper_process_status, paper_process_notes
Implicate Pain: implicate_pain_status, implicate_pain_notes
Champion: champion_status, champion_notes
Competition: competition_status, competition_notes
⚠️ Note: API names may differ depending on how your fields were named during setup
Troubleshooting Missing Fields
- Refresh the page
- Wait for sync to complete
- Refresh again to see updated field list
Other CRMs
For all other supported CRMs, the connection process follows the same general flow — initiate the connection in mOS, authenticate with your CRM credentials, and review and accept the permissions. Field type guidance will vary by platform. If you're unsure how to create the required fields in your CRM, contact support@meddicc.com and we'll help you get set up.
Configuring Deal Stages
After connecting your CRM and mapping fields, you'll configure which deal stages appear in mOS. All stages from your CRM will be available in the Deal Stages section, where you can:
- Reorder stages — Drag to customize the pipeline order in mOS
- Show/hide stages — Toggle which stages appear in mOS (useful if you have legacy stages you don't want your team to use)
- Assign colors — Set a color for each stage for visual tracking
We recommend configuring your deal stages early in the setup process. Since all stages from your CRM appear by default, adjust them before your team starts using mOS to prevent accidental selection of outdated or unwanted stages.
Opportunity Filtering
How Opportunity Import Works
By default, mOS imports all opportunities updated within the last 2 years from your connected CRM. This means any opportunity outside that window will not be brought into mOS.
Once imported, all eligible opportunities are available within the platform — but you can control which ones are visible to your team using the opportunity filters.
Filtering Which Opportunities Your Team Sees
You can configure which opportunities are displayed to everyone in your organisation from the Import Settings tab within the Opportunity Settings page.
Available Filters
The following filters are available under Filters to Include:
- Close Date — Filter by a specific close date range (defaults to All Time)
- Owner — Filter by one or more opportunity owners
- Stage — Select which deal stages to include (e.g. you may want to exclude early-stage or legacy stages)
- ⚠️ You will only be able to select deal stages that are enabled in the Deal Stages tab. Use this filter to ensure your team only sees deals in the stages you care about.
- Value (min / max) — Set a minimum and/or maximum opportunity value to focus on deals within a specific range
In addition, the Exclusions section lets you explicitly exclude:
- Closed Won — Hide opportunities that have already been won
- Closed Lost — Hide opportunities that have already been lost
Live Preview Panel
As you adjust your filters, a panel on the right updates in real time to show you exactly which opportunities will be included, along with the total count and combined value of those opportunities. This gives you a clear picture of what your team will see before committing to any changes.
💡 Tip: Use the preview panel to sense-check your filters before saving — particularly useful if you're filtering by stage or owner to ensure no active opportunities are accidentally hidden.
Key Things to Know
- The 2-year import window is a system default and applies to all CRM connections
- Filtering happens after import — all opportunities within 2 years are pulled in, and filters determine what is displayed - this allows you to make changes quickly without waiting for a re-sync
- Filtering applies globally, so changes will affect what all users see in mOS
- Use the Full Data Refresh (see below) if you need to ensure all historical opportunities within the 2-year window are up to date before applying filters
Full Data Refresh
Use the Refresh button in the Settings page to perform a full refresh of all data. This will:
- Sync all previous field data again
- Update all data from your CRM
- Reflect any changes to field mappings
⚠️ Use this if you've recently changed field mappings or need to ensure all historical opportunity data is synced to mOS.

Post-Setup Verification
- Verify all fields were created with correct lowercase values
- Check fields are visible on your MEDDPICC tab
- Make a test change in mOS and verify it appears in CRM within ~1 minute
- Make a test change in CRM and verify it appears in mOS within ~15 minutes
- ⚠️ Ensure your existing MEDDPICC data is showing in your mOS opportunities before allowing changes (to prevent data loss)
Support
If you encounter any issues, contact: