Office 365 + HubSpot
Connect Office 365 and HubSpot to Stop Your Sales and Productivity Tools from Fighting Each Other
Sync contacts, track emails, and update deals between Microsoft Office 365 and HubSpot automatically — no more manual data entry, no more out-of-sync teams.


Why integrate Office 365 and HubSpot?
Office 365 and HubSpot are two of the most widely used platforms in business today. One runs daily communication and productivity, the other drives marketing and sales pipelines. When they operate in silos, sales reps waste hours manually logging emails, updating contact records, and reconciling calendar data. Connecting Office 365 with HubSpot through tray.ai keeps customer interactions, contact records, and deal activity synchronized in real time.
Automate & integrate Office 365 & HubSpot
Use case
Automatic Contact Sync Between HubSpot and Office 365
When a new contact is created or updated in HubSpot, tray.ai automatically syncs that record to your Office 365 address book and distribution lists. New contacts captured via Outlook or Teams can also be pushed directly into HubSpot as leads. This bidirectional sync means every team member is always working from the most current contact data across both platforms.
Use case
Log Outlook Emails as HubSpot CRM Activities
Every email sent or received in Outlook involving a known HubSpot contact can be automatically logged as a CRM activity on the corresponding deal or contact record. Sales managers get full pipeline visibility without requiring reps to manually copy email threads into HubSpot, saving hours of admin work each week.
Use case
Create HubSpot Deals from Office 365 Calendar Meetings
When a sales rep books a discovery call or demo in Outlook Calendar with a prospect, tray.ai can automatically create or update the associated HubSpot deal, log the meeting as an activity, and set a follow-up task. Every qualified conversation enters the CRM pipeline the moment it's scheduled.
Use case
Trigger HubSpot Sequences from Office 365 Events
Use tray.ai to kick off HubSpot email sequences or lead nurturing workflows the moment a specific Office 365 event occurs — such as when a prospect opens a shared SharePoint document, responds to an email, or gets added to a specific Office 365 group. Marketing teams can then deliver timely follow-ups driven by real engagement signals, not guesswork.
Use case
Sync HubSpot Deal Stage Changes to Microsoft Teams Notifications
When a HubSpot deal moves to a new pipeline stage — Proposal Sent, Negotiation, Closed Won — tray.ai automatically posts a notification to the relevant Microsoft Teams channel. Sales leaders and cross-functional stakeholders stay informed in real time without logging into HubSpot.
Use case
Enrich HubSpot Contacts with Office 365 User Profile Data
When a prospect or customer already exists in your Office 365 tenant or Azure Active Directory, tray.ai can automatically enrich their HubSpot record with organizational data like job title, department, company size, and phone number. Sales and marketing teams can then segment and personalize outreach without doing manual research first.
Use case
Automate OneDrive Document Sharing for HubSpot Deal Milestones
When a HubSpot deal reaches a defined milestone — like moving to the Proposal stage — tray.ai can automatically generate a shared OneDrive folder, populate it with the relevant proposal templates or collateral, and attach the link to the HubSpot deal record. Reps always use the latest approved materials without hunting for them.
Get started with Office 365 & HubSpot integration today
Office 365 & HubSpot Challenges
What challenges are there when working with Office 365 & HubSpot and how will using Tray.ai help?
Challenge
Handling Bidirectional Sync Without Creating Duplicate Records
Syncing contacts between HubSpot and Office 365 in both directions simultaneously makes it easy to create infinite update loops or duplicate records — particularly when both systems update a contact within the same sync window. Most point-to-point integrations don't have the conflict resolution logic to handle this gracefully.
How Tray.ai Can Help:
tray.ai's workflow logic supports conditional branching, last-modified timestamp comparisons, and deduplication checks before any write operation. You can configure source-of-truth rules that specify which system wins on conflict, and idempotency checks prevent the same update from triggering a loop across both platforms.
Challenge
Mapping Inconsistent Field Schemas Between Platforms
HubSpot uses its own property schema with custom field types like dropdowns, multi-select, and calculated properties, while Office 365 contacts and calendar objects follow Microsoft Graph's schema. These schemas frequently don't align one-to-one, and mismatches can cause silent data loss or failed syncs.
How Tray.ai Can Help:
tray.ai's data mapping tools let you visually transform and translate field values between HubSpot and Office 365 schemas. You can use JSONPath expressions, string transforms, and lookup tables to normalize values like lifecycle stage labels, phone number formats, and date fields before writing to either system.
Challenge
Authenticating Securely with Microsoft Graph API at Scale
Accessing Office 365 data — Outlook emails, calendar events, OneDrive, Teams — requires OAuth 2.0 authentication via the Microsoft Graph API, which means managing access token refresh cycles, scope permissions, and tenant-level consent. For enterprise deployments with multiple Office 365 accounts, credential management gets complicated fast.
How Tray.ai Can Help:
tray.ai manages OAuth token lifecycle automatically for Office 365 connections, handling token refresh in the background and storing credentials securely in an encrypted credential vault. Multi-account configurations let you manage different Office 365 tenant credentials cleanly within a single tray.ai workspace.
Challenge
Filtering Relevant Emails Without Exposing Sensitive Communications
Not every Outlook email should be logged to HubSpot — only those involving known prospects or customers in specific deal contexts. Syncing all emails indiscriminately risks polluting the CRM with internal communications, confidential threads, or irrelevant correspondence. Over-filtering risks missing critical customer interactions. It's a real tradeoff.
How Tray.ai Can Help:
tray.ai workflows support multi-condition filtering logic that evaluates each Outlook email against rules like sender domain, recipient list, subject line keywords, and whether the sender or recipient exists as a HubSpot contact. Only emails passing all filter conditions get logged to HubSpot, giving you precise control over what enters the CRM.
Challenge
Keeping Integrations Resilient During Microsoft and HubSpot API Outages
Both HubSpot and Microsoft Graph impose rate limits and occasionally experience partial service disruptions. An integration that doesn't handle HTTP 429 throttling responses or temporary API unavailability will drop data silently, causing sync gaps that are hard to detect and painful to reconcile after the fact.
How Tray.ai Can Help:
tray.ai has built-in retry logic with exponential backoff for all connector calls, so throttled or transiently failed API requests are automatically retried without manual intervention. Failed workflow executions appear in tray.ai's execution logs with full error details, and you can configure alerting to notify your team if a workflow fails beyond the maximum retry threshold.
Start using our pre-built Office 365 & HubSpot templates today
Start from scratch or use one of our pre-built Office 365 & HubSpot templates to quickly solve your most common use cases.
Office 365 & HubSpot Templates
Find pre-built Office 365 & HubSpot solutions for common use cases
Template
Bidirectional Contact Sync: HubSpot ↔ Office 365
This template maintains a real-time bidirectional sync of contact records between HubSpot CRM and Office 365, so creates, updates, and deletions in either system are reflected in the other within minutes.
Steps:
- Listen for new or updated contact records in HubSpot using a webhook trigger
- Map HubSpot contact fields (name, email, phone, company) to corresponding Office 365 contact fields
- Create or update the contact in the Office 365 address book, handling conflicts using last-modified timestamp logic
Connectors Used: Office 365, HubSpot
Template
Log Outlook Emails to HubSpot CRM Activity Timeline
Automatically captures emails sent and received in Outlook involving known HubSpot contacts and logs them as engagement activities on the appropriate HubSpot contact or deal record, preserving full communication history.
Steps:
- Trigger on new email events in Office 365 Outlook via Microsoft Graph API
- Look up the sender or recipient email address in HubSpot to find the matching contact or deal
- Create a HubSpot engagement activity of type EMAIL with subject, body snippet, and timestamp
Connectors Used: Office 365, HubSpot
Template
Create HubSpot Deal and Task When Outlook Meeting is Booked
When a sales rep schedules a meeting with a prospect in Outlook Calendar, this template automatically creates a HubSpot deal in the appropriate pipeline stage, logs the meeting as a CRM activity, and creates a follow-up task due 24 hours after the meeting.
Steps:
- Trigger on new calendar event creation in Office 365 with attendees matching HubSpot contact emails
- Create or associate a HubSpot deal record with the correct contact and company
- Log the meeting as a HubSpot activity and schedule a follow-up task with a configurable due date offset
Connectors Used: Office 365, HubSpot
Template
Post HubSpot Deal Stage Updates to Microsoft Teams
Monitors HubSpot deal pipeline for stage changes and automatically sends a formatted notification card to a designated Microsoft Teams channel, keeping the entire revenue team informed of deal progress without requiring HubSpot access.
Steps:
- Trigger on deal property change (Deal Stage) in HubSpot via webhook
- Format a rich adaptive card message with deal name, owner, new stage, deal value, and close date
- Post the notification card to the configured Microsoft Teams channel using the Office 365 connector
Connectors Used: Office 365, HubSpot
Template
Enrich HubSpot Contacts from Azure Active Directory
When a new HubSpot contact is created whose email domain matches your organization or a known customer domain, this template queries Azure Active Directory via Office 365 to enrich the HubSpot record with title, department, and organizational hierarchy data.
Steps:
- Trigger on new HubSpot contact creation and extract the email domain
- Query Azure Active Directory via Office 365 Graph API for a user matching that email address
- Update the HubSpot contact record with enriched fields including job title, department, and manager name
Connectors Used: Office 365, HubSpot
Template
Auto-Create OneDrive Deal Folders at HubSpot Pipeline Milestones
Automatically provisions a structured OneDrive folder when a HubSpot deal reaches the Proposal stage, copies the relevant proposal and contract templates into it, and attaches the shareable folder URL back to the HubSpot deal record.
Steps:
- Trigger on HubSpot deal stage change to Proposal Sent using a workflow webhook
- Create a new structured folder in OneDrive using the deal name and company as the folder path
- Copy approved template files from a master SharePoint library and write the OneDrive URL back to the HubSpot deal as a custom property
Connectors Used: Office 365, HubSpot