CRM 07 · LMG MyCRM · API

LMG MyCRM. They grant the key.

Email LMG IT / your state office and ask for API access for a loyalty-tax watch. Take the answer in writing. There is no native Make or Zapier app in this pack.

APIv1.0Five TBT fieldsGap default 25 bps$99 AUD once

← All 12 CRMs · Make guide · Zapier guide

Connection type: API. HTTP modules only after they have said yes. Canonical crm value: lmg_mycrm. This pack does not invent a MyCRM endpoint.

Ask in writing first

If the answer is no, export settled clients from MyCRM (Client + Loan, status Settled) into the Google Sheet and import 01e the same week.

MyCRM exports often include open applications. Filter to settled existing clients before the file reaches Make or Zapier. LMG’s own marketing rules may be stricter than the Spam Act. Read them before you turn anything on that could email a client — and leave auto_email_client false anyway.

Fields for this CRM

Create the ones marked YES. Map the ones you already store. Do not invent a second current-rate field.

PurposeCanonicalThis CRMRequiredCreate?
Contact IDcontact_idcontact_idYesNo
First namefirst_namefirst_nameYesNo
Last namelast_namelast_nameNoNo
EmailemailemailYesNo
MobilemobilemobileRecommendedNo
Current ratetbt_current_ratetbt_current_rateYesMap or create
New-money ratetbt_new_money_ratetbt_new_money_rateYesYES - create or maintain
Loyalty gap (bps)tbt_loyalty_gap_bpstbt_loyalty_gap_bpsYesYES - create / compute
LenderlenderlenderRecommendedNo
Product nameproduct_nameproduct_nameRecommendedNo
Existing client flagexisting_clientexisting_clientYesMap
Email opt-outemail_optoutemail_optoutYesNo
Loyalty statetbt_loyalty_statetbt_loyalty_stateYesYES - create this
Last loyalty touchtbt_last_loyalty_touchtbt_last_loyalty_touchYesYES - create this
Broker ownerbroker_ownerbroker_idRecommendedNo
Broker emailbroker_emailset in watch mapperYesSet in the watch

Full translation and notes: 05-templates/CRM-Field-Map.csv. Gap is in basis points. Example: current 6.40 and new-money 5.90 is a 50 bps gap. Default watch threshold is 25 bps.

Make — watch file to import

No dedicated watch file for this CRM. There is no dedicated MyCRM watch file. Same HTTP pattern as Salestrekker: the URL they issued, then canonical payload to the outreach webhook. Or the Sheets bridge. See 02-notes.md.

Fallback file: 02-make-blueprints/01e-TBT-Loyalty-Tax-Watch-GoogleSheets-Bridge.blueprint.json.

Everyone also imports 02-make-blueprints/02-TBT-Loyalty-Tax-Outreach.blueprint.json. Import outreach first so you have the webhook URL. Walkthrough: MAKE-Setup-Guide.html.

Make — last-step swap

On the outreach scenario, modules 7, 8 and 9 are HTTP placeholders labelled SWAP. Replace them. The middle (consent, gap gate ≥ 25 bps, OpenAI, broker Gmail) does not change.

Outreach moduleSwap for
7 · Create the broker task — SWAPHTTP task/activity using the URL they issued. Title {{3.broker_task_title}}, body {{3.broker_task_body}}.
8 · Write the CRM note — SWAPHTTP note. Body {{3.crm_note}}.
9 · Stamp loyalty touch — SWAPHTTP update. Field-map names: tbt_loyalty_state, tbt_last_loyalty_touch. Confirm with LMG. Do not skip.

Stamp body (use this CRM’s field names from the table):

{
  "tbt_loyalty_state": "touched",
  "tbt_last_loyalty_touch": "{{formatDate(now; \"YYYY-MM-DD\")}}"
}

Zapier — first module and last three

Zapier cannot import a Make blueprint. Build two Zaps by hand. Full click-path: ZAPIER-Setup-Guide.html. This page is the CRM-specific first and last steps only.

WhereWhat
Zap A · first moduleWebhooks by Zapier → Custom Request against the search URL LMG issued. Filter settled, gap ≥ 25, not opted out. Then POST canonical payload to Zap B. Map contact_id, first_name, tbt_* from the table.
Zap B stepModule
B6 TaskWebhooks → Custom Request. Task URL they issued.
B7 NoteWebhooks → Custom Request. Note URL they issued. Body from crm_note.
B8 StampWebhooks → Custom Request. Update URL they issued. State = touched, last touch = today.

Zap A then POSTs the canonical keys (see the field-map Canonical column) to Zap B’s Catch Hook. Leave auto_email_client as false. Replace [YOUR BROKER EMAIL], [YOUR FIRST NAME], [YOUR BUSINESS NAME].

Fallback — Google Sheets bridge (01e)

If LMG says no, export Client + Loan (status Settled) with current rate, new-money rate and gap into Google-Sheet-Bridge-template.csv and import 01e the same week.

T Test on yourself before any live send

  1. Create yourself as a settled existing-client test record with a real email you read, a current variable rate, a new-money / retention reference, and tbt_loyalty_gap_bps at or above 25. State due or queued. Last touch empty.
  2. Run the watch (Make scenario 01, or Zap A) with a limit of 1, filtered to only this record.
  3. Confirm the broker email arrives. Confirm you did not get a client email. auto_email_client stays false.
  4. Confirm the broker task, the CRM note (or sheet write-back), and the stamp: state touched, last touch = today.
  5. Run again the same day. The engine must not draft you a second time. Then set state to opt_out and run again — must not draft.

If the stamp fails, stop. Fix it before anyone else is in the set. After the loop is proven on you, you may flip auto_email_client — not before. Read 04-compliance first.