Five types of import
| 1. Add contacts and companies | New candidates, co-applicants and brokers as contacts, and new networks as companies. Brokers and networks get Broker = Yes. Then the co-applicant links. Files 1 to 6 |
| 2. Create new deals | New deals, each linked to its candidate by email. Files 7 and 8 |
| 3. Update existing deals | Any deal already in HubSpot, broker or not. Deal data only: stage, close date and lead source. The broker is already linked. File 9 |
| 4. Update broker deals | Links the broker contact and company to broker deals created this round. Files 10 to 12 |
| 5. Import notes | Always last. Notes attach to contacts by email, so they go in once every contact exists. File 13 |
Non-broker deals: one step
Create, and they are done. There is no broker to attach.
Broker deals: two steps
The broker can only be attached once the deal exists.
How HubSpot is set up
| Deals only | Every enquiry becomes a deal, even dead or on hold ones. One contact per person, one deal per enquiry |
| One pipeline | Franchise Sales Pipeline. Each FranConnect status has a matching deal stage |
| Brand | Saved on the deal: Another Nine or Menchies. A workflow appends it to the contact. When a new brand comes on, Monique adds it to the Brand dropdown on both the contact and the deal before the next import, or those rows won't import |
| Candidate | The person who enquired. A contact, linked to their deal with no label needed |
| Co-applicants | Contacts, linked to the candidate as Spouse, Business Partner or Relative |
| Broker contacts | Contacts with Broker = Yes. Linked to the broker deal only, not the candidate (file 10 or 11) |
| Broker companies | The broker's network, like Franzy or The Perfect Franchise, with Broker = Yes. Linked to the broker deal (file 10 or 12) |
Broker = Yes is how Claude knows who is a broker, on both contacts and companies. It also adds the Broker label automatically. So always set it on new brokers.
Only the FranConnect exports. Everything in HubSpot, Claude looks up itself.
| FranConnect export | Used for |
|---|---|
| All Leads | Contacts and deals. Required |
| Co-Applicants | Linking co-applicants |
| Remarks | Notes, and the close date for every deal |
| Brokers | Broker emails, so new brokers can be added |
Claude reads HubSpot directly
| Existing deals | So deals already in HubSpot are updated, not created twice |
| Broker contacts | Contacts where Broker = Yes |
| Broker companies | Companies where Broker = Yes |
| New broker deals | The deals made by file 8, once imported, to get their IDs |
This only works if Broker = Yes is kept up to date. A broker without it can't be found, so Claude lists them for Monique instead of linking them. If the HubSpot connection isn't working, Claude stops and says so.
Checks the files
- Counts the rows and reports what is in each file
- Stops and asks if a file looks different from last time
- Never treats a smaller remarks file as a replacement for a bigger one
Tidies the data
- Emails in lowercase, US phone numbers with +1, dates as month/day/year
- First name before last name, brand spelt the same every time
- Only clears a value it knows is a placeholder, like "Not Contacted"
- Removes the owner columns. There's no need to set an owner, it's all Tom
Puts aside what shouldn't go in
- Test records, brand and Burgess Media staff, and likely bots go to a Set Aside file with the reason. Nothing is deleted
- They're left out of every file: contacts and deals, co-applicants, broker links and notes
- Bots are flagged for Monique to confirm. People outside the US go in as normal
Makes the deals
- Deal name is Last First - Brand, for example Amiss Scott - Another Nine. Stage is the FranConnect status
- Two of each lead source column: Lead Source Category, Lead Source Details and Broker Network each have one column for the contact and one for the deal, ending in (Deal)
- Inquiry Date: map this to deal level
- Close date is the day the deal reached its current stage, taken from the remarks. Dead deals use the day they were killed. Do Not Contact is left blank. If there's no date, it stays blank
- New or existing: checks each enquiry against the deals already in HubSpot by email, brand and inquiry date, never by deal name. Deals already in HubSpot go in the update file (file 9), never in the create files, or HubSpot makes a second deal. HubSpot duplicates are listed for Monique to merge
- Same person, same brand, twice: a separate deal only if the inquiry dates differ. Then each deal name gets the inquiry date, for example Mohrbach Kyle - Another Nine (21 Jul 2026)
- New contacts (candidates and co-applicants not in HubSpot yet) go in their own contacts file (file 3). Deals go in separate deal files (7 and 8), linked to the contact by email. Someone already in HubSpot isn't added again
- New broker deals and new non-broker deals go in separate files. The broker is linked later, in one of three ways depending on what's known, to keep import errors down:
- Deal + contact + company: a named broker with a network. Most broker deals
- Deal + contact: an independent broker, who has no company
- Deal + company: FranConnect recorded the network but not the broker's name
- A status that isn't in the pipeline: stops and asks
Links co-applicants
- One file each for Spouse, Business Partner and Relative
- Co-applicants with no one to link to are put aside, not guessed
- A pair listed twice with different labels is flagged for Monique
Gets new brokers ready
- Brokers are linked to the broker deal only, never to the candidate
- New brokers and networks are added first (files 1 and 2). Both files have a Broker column set to Yes on every row, so they can be found later and get the Broker label
- Each new broker is linked to their network by the company's ID
- A broker's email often doesn't match their network. Ifpg and Franserve brokers use their own business emails, like ray@gloverfranchising.com for Franserve. So the network comes from the lead source, never the email
- If FranConnect only records the network (for example just Franzy) and not the broker's name, there's no broker to add. The deal is linked to the network company only
Gets the notes ready
- Only new remarks. Claude checks the notes already in HubSpot and leaves out any remark that's already there, so nothing is imported twice
- Every new remark goes in, including status changes and opt-outs
- Imported last (file 13), once every contact exists
Checks its own work
- Every new deal has a name, pipeline and stage
- No deal is in the create files if it already exists
- Every note and link has a contact to attach to
- Row counts add up, and nothing is missing
- Reports anything wrong instead of quietly fixing it
Adds the broker to each deal
- Reads the broker's name from the lead source, for example Franzy (Caleb Clayton)
- Finds that broker and their network in HubSpot, looking only at contacts and companies with Broker = Yes. A different email domain is fine
- Network but no broker name: links the network only. Independent broker: links the broker only
- No match: lists it for Monique, never guesses
Every column in the All Leads export lands on a HubSpot property on the contact or the deal, or nowhere. Import columns are named after the HubSpot property, so the import screen matches them. If FranConnect adds a column that isn't here, Claude stops and asks.
| FranConnect column | Goes to | HubSpot property |
|---|---|---|
| First Name, Last Name, Email | Contact | First Name, Last Name, Email |
| Mobile, Work Phone | Contact | Mobile Phone Number, Phone Number |
| Address1, City, State / Province, Zip / Postal Code, Country | Contact | Street Address, City, State/Province, Postal Code, Country/Region |
| Company Name, Veteran, LinkedIn | Contact | Company Name, Veteran, LinkedIn |
| Inquiry Date | Contact Deal | [Import] Inquiry Date on the contact, Inquiry Date on the deal |
| Lead Status | Contact Deal | [Import] FC Lead Status on the contact, Deal Stage on the deal |
| Lead Killed Reason | Contact Deal | [Import] Lead Killed Reason, Lead Killed Reason |
| Lead Source Category | Contact Deal | [Import] Lead Source Category, Lead Source Category |
| Lead Source Details | Contact Deal | [Import] Lead Source Details, Lead Source Details |
| Broker Network (from Lead Source Details) | Contact Deal | [Internal reference only] Broker Network, on both |
| State / Province | Contact Deal | State/Province, on both |
| Franchise Awarded | Contact Deal | [Import] Franchise Awarded, Franchise Awarded |
| Cash Available | Contact Deal | [Internal reference only] Cash Available, Cash Available |
| Previous Franchise Experience? | Contact Deal | [Import] Previous Franchise Experience?, Previous Franchise Experience? |
| First Contacted, Last Contacted | Contact Deal | FC First Contacted Date, FC Last Contacted Date, on both |
| How did you hear about us? | Contact | FC How did you hear about us? |
| Brand Name | Deal | Brand. A workflow appends it to the contact |
| Franchise Awarded Date, # of locations | Deal | Franchise Awarded Date, Number of Locations |
| Discovery Day Date, Pre-Discovery Day Notes, Post Discovery Day Notes | Deal | Discovery Day Date, Pre-Discovery Day Notes, Post-Discovery Day Notes |
| Leadership Call Notes | Deal | Leadership Call Notes |
| Leadership Calls Status, Discovery Day Status | Not imported | No HubSpot property yet. Kept as a reference column |
| Market, Qualified, Buying Percentage | Not imported | Always empty so far |
| Broker name, email and mobile | Not imported | Not on the candidate, used to find the broker |
State/Province, Lead Killed Reason, Veteran, Brand and Lead Source Category are dropdowns. A value that isn't an option is left out of the import and listed for Monique, because it would fail the row.
Thirteen files at most, run in number order
Update files only carry what is being added, so nothing on the deal gets overwritten. Skip any file with no rows. Never import the Set Aside file.
| # | File | Object | What is in it |
|---|---|---|---|
| 1. Add contacts and companies | |||
| 1 | Broker Companies, new only | Company | Company Name, Company Domain, Broker (Yes on every row) |
| 2 | Broker Contacts, new only | Contact | First Name, Last Name, Email, Broker (Contact) Yes, Company Record ID, Broker (Company) Yes. Both Broker columns on every row |
| 3 | Contacts, new only | Contact | New candidates and co-applicants. Every contact column from the list above |
| 4 | Co-Applicants, Spouse | Association | Contact Email, Co-Applicant Email |
| 5 | Co-Applicants, Business Partner | Association | Contact Email, Co-Applicant Email |
| 6 | Co-Applicants, Relative | Association | Contact Email, Co-Applicant Email |
| 2. Create new deals | |||
| 7 | Deals, non-broker | Deal | Contact Email (links the deal to the candidate), Deal Name, Pipeline, Deal Stage, Close Date, and every deal column from the list above |
| 8 | Deals, broker sourced | Deal | Same columns as file 7 (Deals, non-broker), plus Broker Network (Deal). Lead Source Category is Brokers on every row |
| 3. Update existing deals | |||
| 9 | Deal Updates | Deal | Always: Deal Record ID, Deal Name. Plus what changed: Deal Stage, Close Date, Lead Source Category (Deal), Lead Source Details (Deal), Broker Network (Deal) |
| Tell Claude files 1 to 9 are in. It looks up the new broker deals and builds 10 to 12. Then | |||
| 4. Update broker deals | |||
| 10 | Broker Deals, contact and company | Deal Contact Company | Deal Record ID, Deal Name, Broker Email, Broker Company Record ID |
| 11 | Broker Deals, contact only | Deal Contact | Deal Record ID, Deal Name, Broker Email. Independent brokers |
| 12 | Broker Deals, company only | Deal Company | Deal Record ID, Deal Name, Broker Company Record ID. Network known, broker not named |
| 5. Import notes, always last | |||
| 13 | Notes | Note | Email, Notes body, Activity date, Activity assigned to. Always last, or HubSpot makes blank contacts from the emails |
Candidates already in HubSpot are not added again in file 3. Their new deal in file 7 or 8 still links to them by email. Each broker deal goes in one of 10, 11 or 12, so every column in a file is filled on every row.
Yellow columns get imported. White columns don't. Every file is a Google Sheet in a dated folder next to the exports, named by run order and what it does, for example 01 - CREATE contacts - Brokers or 09 - UPDATE deals - Stage, close date, lead source. In every file, the columns to import are highlighted light yellow and come first. White columns on the right, like the row number from FranConnect, are there to help you check the file. Pick Don't import for every white column.
When you import a file, HubSpot asks where each column should go. This is what to pick for the yellow columns.
| File | Column | Pick |
|---|---|---|
| Add contacts and companies | ||
| 1. Broker Companies | Every yellow column, including Broker | Company |
| 2. Broker Contacts | Company Record ID | Company Record ID. Always map it, or HubSpot links brokers by email domain and makes one-person companies |
| Broker (Company) | Company Broker | |
| Every other yellow column, including Broker (Contact) | Contact | |
| 3. Contacts | Every yellow column | Contact |
| 4 to 6. Co-Applicants | Contact Email | Contact Email |
| Co-Applicant Email | Association Email, and pick the file's label | |
| Create new deals | ||
| 7 and 8. Deals | Contact Email | Association Contact Email, no label |
| Every other yellow column | Deal | |
| Updating deals | ||
| 9. Deal Updates | Deal Record ID, Deal Name | Deal |
| The columns you want to update | Deal | |
| Only keep the columns you want to change. Whatever is in the file overwrites what's on the deal, including blanks. Delete any other column from the file before you import it | ||
| 10 to 12. Broker Deals | Deal Record ID, Deal Name | Deal |
| Broker Email (10 and 11) | Association Contact Email | |
| Broker Company Record ID (10 and 12) | Association Company Record ID | |
| Notes | ||
| 13. Notes | Contact Email | |
| Every other yellow column | Note | |
- Never guess. If FranConnect left it blank, it stays blank
- Never delete. Anything left out is put aside with a reason
- Never import. Claude prepares the files. Monique imports them
- Keep the row number from the export on every row, as a white reference column, so anything can be traced back
- Ask when unsure. A new stage, brand, label or network is a question for Monique
1. Are the columns in the right place?
Check the list above, especially the Discovery Day fields on the deal, and leaving out Market, Qualified, Post Discovery Day Notes and Buying Percentage.
2. Close date for Closed Lead - Sold
Use the day it moved to that stage, like every other deal, or the Franchise Awarded Date? Until Monique decides, Claude uses the stage date.
Add it to Claude, or keep a copy
Download the zip and upload it in Claude under Settings, Capabilities, Skills. The Markdown file is the same thing as plain text.
The PDF option opens your browser's print window. Choose Save as PDF as the destination.