CRM 05 · Salestrekker · API

Salestrekker. API, if they let you.

There is no native Make or Zapier app in this pack. Access is granted by your aggregator or by Salestrekker, not assumed. Ask in writing first. Do not scrape a login. Do not reuse someone else’s token.

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. The URL is the one they issued. Authorization is Bearer (or the header they specify) plus the key, stored in a Make / Zapier connection — not in the blueprint.

Ask in writing first

If the answer is no, stop. Use the Sheets bridge the same week. Do not half-build an HTTP scenario you cannot authenticate. This pack does not invent a Salestrekker endpoint.

Canonical crm value in the payload: salestrekker. Full payload and stamp body: 02-make-blueprints/02-notes.md.

If they will not let you create custom fields, hold state on the Sheet even if the read is live — otherwise the seven-day stamp does not work.

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_idclientIdYesNo
First namefirst_namefirstNameYesNo
Last namelast_namelastNameNoNo
EmailemailemailYesNo
MobilemobilemobileRecommendedNo
Current ratetbt_current_ratecustom.tbt_current_rateYesMap or create
New-money ratetbt_new_money_ratecustom.tbt_new_money_rateYesYES - create or maintain
Loyalty gap (bps)tbt_loyalty_gap_bpscustom.tbt_loyalty_gap_bpsYesYES - create / compute
LenderlenderlenderRecommendedNo
Product nameproduct_nameproductNameRecommendedNo
Existing client flagexisting_clientexistingClientYesMap
Email opt-outemail_optoutemailOptOutYesNo
Loyalty statetbt_loyalty_statecustom.tbt_loyalty_stateYesYES - create this
Last loyalty touchtbt_last_loyalty_touchcustom.tbt_last_loyalty_touchYesYES - create this
Broker ownerbroker_ownerownerIdRecommendedNo
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 Salestrekker watch file. Either: (1) HTTP → Make a request using the URL they issued, Iterator over the contact array, HTTP POST the canonical payload to the outreach webhook; or (2) import the Sheets bridge until access is granted. Everyone still imports the outreach blueprint.

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 → Make a request. Method and URL: whatever they issued for creating a task / activity. Title {{3.broker_task_title}}, body {{3.broker_task_body}}, linked to contact_id.
8 · Write the CRM note — SWAPHTTP POST a note on the same record. Body {{3.crm_note}}. Date: today.
9 · Stamp loyalty touch — SWAPHTTP PATCH/PUT the same record. Body uses the field-map names: custom.tbt_loyalty_state = touched, custom.tbt_last_loyalty_touch = today. Confirm names with the aggregator. 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 → GET / Custom Request (or Code) against the search URL they issued. Filter gap ≥ 25, existing clients, not opt_out. Then Webhooks → POST the canonical payload to Zap B. Map clientId, firstName, custom.tbt_* from the table. Do not invent a path.
Zap B stepModule
B6 TaskWebhooks by Zapier → Custom Request. Task/activity URL they issued. Title from broker_task_title, body from broker_task_body, linked to contact_id.
B7 NoteWebhooks → Custom Request. Note URL they issued. Body from crm_note.
B8 StampWebhooks → Custom Request. Update/patch URL they issued. custom.tbt_loyalty_state = touched, custom.tbt_last_loyalty_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 the key is refused, export Salestrekker’s settled book (current rate, new-money rate, gap) into 05-templates/Google-Sheet-Bridge-template.csv and import 01e-TBT-Loyalty-Tax-Watch-GoogleSheets-Bridge.blueprint.json the same week. Stamp the sheet so they are not hit twice in a week. Add a note back in Salestrekker by hand that week if you need it on the file.

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.