Skip to main content

Tazman

Tazman is a CRM primarily used for managing classes, studios, and educational institutions.

Official Tazman doc hubs (For deeper reference):


CRM config (crmConfig)

FieldRequiredUse
serverYesBase URL of the customer's Tazman instance (e.g. https://app.tazman.co.il). Used as the prefix for every API call.
tokenYesAuthentication token. V1 sends it in the request body; V2 sends it as an Authorization: Bearer header.
apiVersionNoSet to 'v2' to use the new Tazman API for newOpportunity (different endpoint, body shape, and auth header). Absent → legacy V1 path.
resultPhoneField / resultNameField / resultIdField / resultStatusFieldNoLodash paths into the Tazman customer object that remap which raw field powers crmData.phone/name/id/status. Defaults: the raw phone/name/id/state fields. Can also be overridden per-call as YAML params of the same names.
Always use V2 for new customers

From now on, always include apiVersion: 'v2' in crmConfig for newly onboarded Tazman customers. The legacy V1 path is retained only for back-compat with already-onboarded customers; new bots should default to V2.


Adapter Functions

getCustomerDetails

Looks up a customer by phone.

When it runs: At the start of the flow to identify the customer before routing.

Basic

  tazman_lookup:
type: func
func_type: crm
func_id: getCustomerDetails
on_complete: known_customer
on_failure: unknown_customer
ParamRequiredNotes
phoneNumberNo**If omitted, uses the chat’s formatted channel phone (when present).
minimalFieldsNoBy default false - if set to true will exclude the additional_fields param.

Result: Merges mapped fields (id, name, phone, status mapped from state, locationId mapped from location_id, and deepLink) plus the raw Tazman customer object into crmData.

Phone retry behavior

If the first lookup returns nothing, the adapter automatically retries once with all dashes stripped from the phone number before reporting failure.

Advanced

  tazman_lookup_by_phone:
type: func
func_type: crm
func_id: getCustomerDetails
params:
phoneNumber: "%state:node.collect_phone.text%"
on_complete: known_customer
on_failure: unknown_customer

newOpportunity

Creates a new lead/client. Most commonly used when the sender is not identified or when capturing lead details.

When it runs: When getCustomerDetails returns on_failure — to register an unknown sender as a lead.

The behavior depends on crmConfig.apiVersion:

  • V2 (apiVersion: 'v2') — POST /manager-api/external/clients with Authorization: Bearer ${token} header. Recommended for all new customers.
  • V1 (legacy, no apiVersion) — POST /manager-api/zapier/clients/save with token + fields in the body. Retained for back-compat with existing customers only.

Requires apiVersion: 'v2' in crmConfig.

Basic

  tazman_new_lead:
type: func
func_type: crm
func_id: newOpportunity
on_complete: lead_created
on_failure: lead_failed
ParamRequiredNotes
name_fNo**First name. If omitted, uses chat.title. Must resolve to a non-empty string — the call fails otherwise.
name_sNoLast name.
phoneNo**If omitted, uses chat's formatted phone.
phone2NoSecondary phone.
emailNo
id_numNoNational ID.
birthdayNoYYYY-MM-DD.
sexNoe.g. male / female.
addressNo
city_otherNo
indexNoPostal index.
faxNo
add_sms_phone1 / add_sms_phone2NoExtra phones to register for SMS.
parent_client_idNo
location_idNo
state_idNoFound in Tazman settings > customer state IDs.
passwordNo
commentNo
ext_acc_idNoExternal account ID.
tagsNoArray of { tag_id, tag_value } objects.
additional_fieldsNoArray of { field_id, field_value } objects.
invoice_id_num / invoice_nameNoInvoice details.

Result: Returns the raw Tazman response payload (response.data.data) as crmData.

Advanced

  tazman_new_lead_extras:
type: func
func_type: crm
func_id: newOpportunity
params:
name_f: "John"
name_s: "Doe"
email: "john.doe@example.com"
city_other: "Tel Aviv"
comment: "Lead arriving from WhatsApp bot"
tags:
- tag_id: 40612
tag_value: true
- tag_id: 40662
tag_value: true
additional_fields:
- field_id: 1
field_value: "Additional Value 1"
on_complete: lead_created
on_failure: lead_failed

V1 (legacy)

Legacy path

Used by customers onboarded before V2. Set apiVersion: 'v2' in crmConfig to use the V2 path above. Do not use V1 for new customers.

Basic

  tazman_new_lead:
type: func
func_type: crm
func_id: newOpportunity
on_complete: lead_created
on_failure: lead_failed
ParamRequiredNotes
phoneNo**If omitted, uses chat formatted phone.
first_nameNo**If omitted, uses chat.title.
last_nameNo
emailNo
phone2No
state_idNoFound in Tazman settings > customer state IDs
faxNo
genderNoe.g., male
id_numNo
cityNo
indexNo
addressNo
passwordNo
commentNo
tagsNoObject with key-value pairs where the key is the tag ID and the value is its state
additionalNoObject with key-value pairs where the key is the additional field ID and the value is its state

Result: Success and returns the raw crmData response directly from Tazman.

Advanced

  tazman_new_lead_extras:
type: func
func_type: crm
func_id: newOpportunity
params:
comment: "Lead arriving from WhatsApp bot"
email: "user@example.com"
city: "Tel Aviv"
tags:
"40612": 1
"40662": 1
on_complete: lead_created
on_failure: lead_failed

Tazman Onboarding (for Texter Support)

Message our contact at Tazman.

You send:

  • Project ID
  • API token with View + Send Template Messages scopes
  • WhatsApp phone number

Customer DB — crmConfig fields

FieldProvided by Tazman?Req / extraUse
serverYesRequiredBase URL of the customer's Tazman instance (e.g. https://app.tazman.co.il)
tokenYesRequiredAuthentication token (sent as Authorization: Bearer header for V2, in the body for legacy V1)
apiVersionNo (set by us)Required for new customersSet to 'v2' for every new Tazman onboarding. Existing customers without this stay on legacy V1.