Claude Skill · Draft for review · 4 October 2026

FranConnect to HubSpot, every time.

Upload the FranConnect exports. Claude hands back the import files and the order to run them in. Monique imports.

How it works

Five types of import

1. Add contacts and companiesNew 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 dealsNew deals, each linked to its candidate by email. Files 7 and 8
3. Update existing dealsAny 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 dealsLinks the broker contact and company to broker deals created this round. Files 10 to 12
5. Import notesAlways 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

CreateImport them like any other deal (file 8)
→
Look upClaude finds those deals in HubSpot to get their IDs
→
UpdateLink the broker contact and company (files 10 to 12)

The broker can only be attached once the deal exists.

How HubSpot is set up

What Claude assumes
Deals onlyEvery enquiry becomes a deal, even dead or on hold ones. One contact per person, one deal per enquiry
One pipelineFranchise Sales Pipeline. Each FranConnect status has a matching deal stage
BrandSaved 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
CandidateThe person who enquired. A contact, linked to their deal with no label needed
Co-applicantsContacts, linked to the candidate as Spouse, Business Partner or Relative
Broker contactsContacts with Broker = Yes. Linked to the broker deal only, not the candidate (file 10 or 11)
Broker companiesThe 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.

What Monique uploads

Only the FranConnect exports. Everything in HubSpot, Claude looks up itself.

FranConnect exportUsed for
All LeadsContacts and deals. Required
Co-ApplicantsLinking co-applicants
RemarksNotes, and the close date for every deal
BrokersBroker emails, so new brokers can be added

Claude reads HubSpot directly

Connect Claude to HubSpot first. It looks, it never changes anything
Existing dealsSo deals already in HubSpot are updated, not created twice
Broker contactsContacts where Broker = Yes
Broker companiesCompanies where Broker = Yes
New broker dealsThe 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.

What Claude does
Creating and updating deals
1

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
2

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
3

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
4

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
5

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
6

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
7

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
8

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
Updating broker deals
9

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
Where every FranConnect column goes

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 columnGoes toHubSpot property
First Name, Last Name, EmailContactFirst Name, Last Name, Email
Mobile, Work PhoneContactMobile Phone Number, Phone Number
Address1, City, State / Province, Zip / Postal Code, CountryContactStreet Address, City, State/Province, Postal Code, Country/Region
Company Name, Veteran, LinkedInContactCompany Name, Veteran, LinkedIn
Inquiry DateContact Deal[Import] Inquiry Date on the contact, Inquiry Date on the deal
Lead StatusContact Deal[Import] FC Lead Status on the contact, Deal Stage on the deal
Lead Killed ReasonContact Deal[Import] Lead Killed Reason, Lead Killed Reason
Lead Source CategoryContact Deal[Import] Lead Source Category, Lead Source Category
Lead Source DetailsContact Deal[Import] Lead Source Details, Lead Source Details
Broker Network (from Lead Source Details)Contact Deal[Internal reference only] Broker Network, on both
State / ProvinceContact DealState/Province, on both
Franchise AwardedContact Deal[Import] Franchise Awarded, Franchise Awarded
Cash AvailableContact Deal[Internal reference only] Cash Available, Cash Available
Previous Franchise Experience?Contact Deal[Import] Previous Franchise Experience?, Previous Franchise Experience?
First Contacted, Last ContactedContact DealFC First Contacted Date, FC Last Contacted Date, on both
How did you hear about us?ContactFC How did you hear about us?
Brand NameDealBrand. A workflow appends it to the contact
Franchise Awarded Date, # of locationsDealFranchise Awarded Date, Number of Locations
Discovery Day Date, Pre-Discovery Day Notes, Post Discovery Day NotesDealDiscovery Day Date, Pre-Discovery Day Notes, Post-Discovery Day Notes
Leadership Call NotesDealLeadership Call Notes
Leadership Calls Status, Discovery Day StatusNot importedNo HubSpot property yet. Kept as a reference column
Market, Qualified, Buying PercentageNot importedAlways empty so far
Broker name, email and mobileNot importedNot 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.

The files to import

Thirteen files at most, run in number order

To create a deal: Deal Name, Pipeline and Deal Stage. To update a deal: Deal Record ID and Deal Name

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.

#FileObjectWhat is in it
1. Add contacts and companies
1Broker Companies, new onlyCompanyCompany Name, Company Domain, Broker (Yes on every row)
2Broker Contacts, new onlyContactFirst Name, Last Name, Email, Broker (Contact) Yes, Company Record ID, Broker (Company) Yes. Both Broker columns on every row
3Contacts, new onlyContactNew candidates and co-applicants. Every contact column from the list above
4Co-Applicants, SpouseAssociationContact Email, Co-Applicant Email
5Co-Applicants, Business PartnerAssociationContact Email, Co-Applicant Email
6Co-Applicants, RelativeAssociationContact Email, Co-Applicant Email
2. Create new deals
7Deals, non-brokerDealContact Email (links the deal to the candidate), Deal Name, Pipeline, Deal Stage, Close Date, and every deal column from the list above
8Deals, broker sourcedDealSame columns as file 7 (Deals, non-broker), plus Broker Network (Deal). Lead Source Category is Brokers on every row
3. Update existing deals
9Deal UpdatesDealAlways: 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
10Broker Deals, contact and companyDeal Contact CompanyDeal Record ID, Deal Name, Broker Email, Broker Company Record ID
11Broker Deals, contact onlyDeal ContactDeal Record ID, Deal Name, Broker Email. Independent brokers
12Broker Deals, company onlyDeal CompanyDeal Record ID, Deal Name, Broker Company Record ID. Network known, broker not named
5. Import notes, always last
13NotesNoteEmail, 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.

Mapping each file

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.

FileColumnPick
Add contacts and companies
1. Broker CompaniesEvery yellow column, including BrokerCompany
2. Broker ContactsCompany Record IDCompany 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. ContactsEvery yellow columnContact
4 to 6. Co-ApplicantsContact EmailContact Email
Co-Applicant EmailAssociation Email, and pick the file's label
Create new deals
7 and 8. DealsContact EmailAssociation Contact Email, no label
Every other yellow columnDeal
Updating deals
9. Deal UpdatesDeal Record ID, Deal NameDeal
The columns you want to updateDeal
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 DealsDeal Record ID, Deal NameDeal
Broker Email (10 and 11)Association Contact Email
Broker Company Record ID (10 and 12)Association Company Record ID
Notes
13. NotesEmailContact Email
Every other yellow columnNote
Rules Claude follows
Open questions, 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.

Take it with you

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.

Want to run the first one together? Happy to sit on a call for it, alyssa@gatherngrow.com