Skip to main content

Sync sales agent contacts and conversation stages to HubSpot

Keep your CRM current as prospects book tours and close, without anyone retyping the outcome.

Written by Yasen Marinov

Product: OfficeRnD Flex with the AI Hub add-on

Who: Admins

Where: On the Admin Portal, under AI Hub > Settings and Integration Hub

Availability: AI Hub is a paid add-on.

Your sales agent books the tour and moves the conversation to Won, and none of it reaches HubSpot until someone opens the conversation and retypes it into the contact record. Contact creation in AI Hub closes that gap. The agent creates the contact in Flex as soon as the conversation has a confirmed location, and the HubSpot integration carries the conversation stage, location, and product type across to the matching contact.

The setting that creates contacts belongs to the agent. Everything after that belongs to the HubSpot integration: which properties map across, which direction each one syncs, and how often.


In this article:

  • Learn what the agent creates, and when

  • Turn on contact creation for the agent

  • Map the AI Hub properties to HubSpot

  • Set how often the values sync


Prerequisites

Contact creation happens inside Flex, but everything that follows runs on the HubSpot integration, so you must set up the integration first.

  • The HubSpot v2 integration, activated and connected. Activate and configure the HubSpot v2 integration →

  • The Companies & Members (Contacts) entity is connected, with a sync direction that includes OfficeRnD to HubSpot.

  • The sales agent is live on at least 1 product line, so conversations exist for it to create contacts from.


How contact creation and stage sync work

The integration is connected, and the agent still creates nothing until a prospect names a location. Flex can't create a contact without one, so a conversation can run for days and leave no record behind.

Once the location is confirmed, OfficeRnD creates a member with the Contact status and attaches 3 custom properties.

  • AI Hub Conversation Stage: a Select field visible only to admins. Its options match the conversation stages in AI Hub, such as Open, Tour Booked, Won, and Recovered. See what each conversation stage means →

  • AI Hub Location: a text field showing the location the prospect is discussing right now.

  • AI Hub Product: a text field showing the product type the prospect is discussing right now.

Stage automation in Flex overrides manual stage changes, which makes the conversation the source of truth for the stage. Treat the value on the contact record as a copy, and change the stage in the conversation when you need to correct it.

Important: AI Hub Location is not the custom HubSpot location property the integration uses to match your Flex locations. That one identifies where the member belongs. AI Hub Location tracks whichever location the conversation is about at that moment, and it changes when the prospect changes their mind.


Turn on contact creation for the agent

The 3 properties above don't exist in your account yet. One setting creates them and starts contact creation at the same time, so you don't need to build anything by hand.

  1. Go to AI Hub > Settings.

  2. Under Actions, select the Enable contact creation checkbox.

Note: OfficeRnD adds AI Hub Conversation Stage, AI Hub Location, and AI Hub Product to Settings > Data & Extensibility > Custom Properties the first time you select this checkbox.


Map the AI Hub properties to HubSpot

The properties now exist on the member record in Flex, and HubSpot has no idea they do. Each one reaches HubSpot only after you map it to a HubSpot contact property, in the same integration step where you map any other member property. Map member properties to HubSpot contact properties →

Important: Every property mapping carries its own sync direction. Set the direction for these 3 to OfficeRnD to HubSpot, or the values stay in Flex and the HubSpot fields stay empty.

If your HubSpot instance has no contact properties for stage, location, or product type, create them before you start, because the mapping step needs somewhere to put the data. Then map each property:

  • AI Hub Conversation Stage to a contact property whose options match the AI Hub stage names.

  • AI Hub Location to a contact property for the location under discussion.

  • AI Hub Product to a contact property for the product type under discussion.


Set how often the values sync

Mapping decides what moves. It doesn't decide when, and this is where most "HubSpot still shows the old stage" questions come from.

The integration syncs a connected entity every hour, provided you turned on automatic sync when you connected Companies & Members (Contacts). Without it, values sit in Flex until someone runs a manual sync. To sync on demand:

  1. Go to Integration Hub > All Integrations, then open the CRM tab.

  2. Click Configure next to HubSpot.

  3. On the Entities tab, click the arrow next to Companies & Members (Contacts) and select Sync.

A sync takes a few minutes, and any change made while it runs waits for the next one. If records stop matching after you merge or clean up contacts in HubSpot, fix HubSpot sync errors after a merge or cleanup →


Best practices

These won't change whether the sync works, but they change how much you trust it 6 months from now.

  • If you report or route on location in HubSpot, treat AI Hub Location as a point-in-time value tied to the conversation, not a permanent attribute of the contact.

  • If your team works the deal in HubSpot rather than in AI Hub, log the agent's emails to the contact as well, so the record shows the conversation and not only its outcome. Log sales agent emails to HubSpot →

  • If you rename a stage option in HubSpot, update the mapping at the same time. The stage value arrives as text that must match an existing option.


FAQs

Why wasn't a contact created for a prospect who already messaged the agent?

No location has been confirmed in that conversation yet. Flex requires a location to create a contact, so the agent waits until the prospect names one, no matter how far the conversation has progressed.

Why does HubSpot still show the old conversation stage?

The stage in HubSpot updates on the integration's sync schedule, not the moment the conversation changes. Automatic sync runs every hour, so check the timing first, then confirm that automatic sync is turned on for Companies & Members (Contacts) and that the property's direction is set to OfficeRnD to HubSpot.

Why do AI Hub Location and my HubSpot location property show different values?

AI Hub Location and your HubSpot location property answer different questions, so they can differ. AI Hub Location holds the location the conversation is about right now. The location property the integration uses for matching holds where the member belongs. Use AI Hub Location when you want the current one.

Can I change the conversation stage from HubSpot?

Change the stage in the conversation, not in HubSpot. Stage automation in Flex overrides manual changes, so a value edited on the contact record can be replaced at the next sync.

Did this answer your question?