Skip to main content
One line per term, grouped by module. Dashboard names are in bold, API names in backticks. Each group links to the page that explains it in full.

Agents

Explained in What an agent is and Campaign types and capabilities.
  • Agent: the voice that takes the calls. Prompt, voice, skills, and what it records.
  • id, agentId: the agent id. The same value under two names.
  • agentType: the campaign type the agent was created as: outbound, inbound or confirmation; outreach and appointment are accepted as older spellings. null when none can be resolved.
  • capabilityIds, capabilities: what the agent may do on a call: appointment_booking, live_transfer, add_tag. Sent on create, read on the campaign.
  • templateId, templates: the starting capability sets for a type, fixed per agentType.
  • isActive, active: the agent’s live state. Get agent spells it isActive, List agents active.
  • hasCustomPrompt: whether the agent has its own prompt rather than the one it was created with.
  • platformFieldNames: post-call fields the platform manages. Always kept on update.
  • partialFailures: downstream syncs that did not apply after an otherwise successful update.
  • config.llm: generalPrompt (the instructions), beginMessage (the opening line), startingSpeaker (agent greets first, user waits for the person) and beginAfterUserSilenceMs (how long a waiting agent gives the person before it speaks).
  • config.voice: voiceId, speed, temperature, ambientSound (coffee-shop, convention-hall, summer-outdoor, mountain-outdoor, static-noise, call-center), ambientSoundVolume.
  • config.language: language, and denoisingMode (no-denoise, noise-cancellation, noise-and-background-speech-cancellation).
  • config.interaction: enableBackchannel, backchannelFrequency, backchannelWords, fillerWords, responsiveness.
  • config.callScreening.callPurpose: the reason the agent gives a call-screening assistant.
  • config.analysis: the outcomes and fields the agent records. See Outcomes.
  • sort on List agents: updatedAt.desc or createdAt.desc.
  • cascade: on Delete agent, must be agent_and_campaign.
  • mode on Clone agent: campaign copies the campaign and workflow onto the same agent; everything also clones the agent; agent copies only the agent, onto a brand-new campaign of the type you name.
  • Test call: a real call from the campaign’s number to toNumber, from fromNumber. Returns callId and callStatus.
  • Web test session: a browser conversation. Returns accessToken, callId, agentName.
  • Campaign test run: one contact pushed through the real campaign entry. Tracked by intent id with consumed, events, triggerKind, placementFailure.

Outcomes

Explained in What your agent records.
  • Outcome, disposition: what a call ended with. Workflow constants: SUCCESS (BOOKED), CONFIRMED, RESCHEDULE, TRANSFER, FAILED_TRANSFER, TAG_APPLIED, CALLBACK, INFO_ONLY (FOLLOWUP_REQUESTED), HUMAN_NEEDED, KILL_SWITCH, VOICEMAIL (NO_ACTION).
  • analysis.outcomes: your wording for the four describable outcomes, keyed opt_out, callback, human_needed, asked_for_info.
  • Outcome prompts: the same four, read and edited one at a time, with current beside the default.
  • AI-generated field: a fact the agent extracts. analysis.fields[] with key, type (text, choice, number, boolean), prompt, options, examples, extractWhen, required.
  • Signal: a boolean field a workflow can branch on.
  • analysis.locked: fields owned by an installed capability. Reword, never delete.
  • disposition on a call or contact: type, label, color, tag.
  • Automatic tags: tfu_ai_booked, tfu_ai_cancelled, tfu_ai_live_transfer, tfu_ai_standby, tfu_ai_human_needed, tfu_ai_kill_switch, tfu_ai_failed_transfer.

Skills and tools

Explained in Skills and tools and The tool library.
  • Skill: a rule the agent reaches for at one moment. type: instructions, name (up to 120 characters), whenToUse (up to 300), instructions, enabled.
  • Tool: an ability that runs real code. Types smart_service_area (zips, outOfAreaResponse), live_transfer, add_tag, check_tag (one tag, checkingMessage), appointment_booking.
  • Catalog: everything an agent could carry, from List available tools. Items have type, name, description, repeatable and fields; what is installed is read on the campaign.
  • Digest: one line per skill, from List agent skills with view set to summary.
  • Tools inventory: installed tools with freshness (live, cached) and an editableDescription.
  • version, expectedVersion: the concurrency token on the skill set.

Campaigns

Explained in What a campaign is, Who gets called, Speed to lead and power dialer, Calling window and Contact timezone.
  • Campaign: who the agent calls, when, how, from which number. One per agent.
  • campaignId, name, description, locationId, projectName.
  • active: live or paused. Alias isActive.
  • activeTags: entry tags. A contact who gets one joins the campaign.
  • inactiveTags: exit tags. A contact who gets one leaves it.
  • callIfDnd: dial contacts whose GoHighLevel record has Do Not Disturb on.
  • agentType on a campaign or project: the legacy template id, one of appointment_confirmation, appointment_booking, live_transfer, live_transfer_and_tag, live_transfer_and_booking, add_tag, inbound_receptionist. Also system: provenance, not behaviour.
  • dialing: the dispatch mode, s2l (speed to lead), pd (power dialer) or s2l_pd (both). Retired, read-only: reactivation, confirmation. Alias type.
  • Speed to lead: call the moment the entry tag lands. Power dialer: work the lead through a cadence.
  • callingWindow: days (ISO weekdays, Monday 1 to Sunday 7), start, end (HH:MM), tz. An array for split days.
  • useWindowTimezone: read the window in its own tz rather than the sub-account’s.
  • multipleTimezoneCheck: judge the window, the agent’s sense of time and bookings in each contact’s own timezone. On the campaign or as a project default.
  • dropOutsideWindow: drop a lead that arrives outside the window instead of parking it.
  • Parked lead: a lead held until the window opens.
  • AI After Hours: the AI calls only in the gaps around your human team’s hours. Dashboard only.
  • fromNumbers: the caller IDs the campaign dials from.
  • masterCampaignEnabled, master: see Master agent.
  • firstLiveAt, firstLiveAtSource: when the campaign first went live, by activation or first_dial.
  • config.calendarId, config.collectAddress: booking settings.
  • config.transferNumber, config.transferToAssignedUser, config.advancedRouting, config.transferRoutes (id, number, condition), config.transferMessage: transfer settings.
  • config.s2lDelaySeconds, config.s2lDelayHaltOnReply, config.s2lDoubleDial, config.callNowSkipTags: speed-to-lead settings. config.s2lDelayMinutes is the superseded whole-minute form.
  • config.cadenceId: the cadence a power-dialer campaign uses.
  • config.callbackDoubleDial: double dial on the agent’s return call.
  • config.voicemail, config.voicemailMessage, config.voicemailDetectionPrompt: leave one voicemail per cadence touch, on its last dial. Callbacks and inbound calls never leave one, and a step’s own call.voicemail replaces the message on that step.
  • Campaign entry: on a GoHighLevel sub-account, a contact joins when it gets an entry tag (activeTags) and leaves on an exit tag (inactiveTags). On a sub-account that keeps its contacts here, a contact joins when it arrives, and existing ones are added with Put contacts into a campaign.
  • Campaign name: name follows the agent’s name. A different name is set back to the agent’s, unless the campaign is running an active split test or another campaign in the project already has that name.
  • config.appliedTag, config.confirmedTag, config.fallbackTag: tags the agent applies for its capabilities.
  • config.testFormFields: stand-in lead fields a test call uses.
  • Backfill: enrol contacts already carrying the entry tag. dryRun, limit; returns matched, truncated, preview, skipped (noPhone, existingQueue), enrolled, statuses.

Campaign workflows

Explained in Campaign workflows.
  • Workflow: the graph that runs after each call. nodes keyed by id, edges (source, target, sourceHandle), dispositionEntries keyed by outcome, campaignConfig, advisories, version.
  • Node types: if, switch, add-tag, remove-tag, set-field, move-stage, add-note, send-sms, send-email, book-appointment, trigger.
  • Exits: then and else on if; case ids and default on switch.
  • Condition operators: is_true, is_false, is_set, is_empty, equals, not_equals, contains, starts_with, in, gt, gte, lt, lte.
  • Advisories: node_incomplete, unsafe_context, unreachable, unknown_outcome.
  • campaignConfig: callbackMode (ai, human), humanCallbackCalendarId, aiNotes, noteLanguage, convertedTag.
  • expectedVersion, allowRemovals: the write guards.

Calls

Explained in Call records.
  • Call record: one call. id (record id), callId (voice platform id), date, dateTime, leadName, phoneNumber, direction (inbound, outbound), status, duration, agent, callSummary, disposition, recordingUrl, cost, agentType, campaignId, campaignName, projectName, locationId.
  • Detail: adds transcript, segments (each with a speaker of agent or lead), fields, and transcriptSource (stored, live, unavailable).
  • sort: dateTime.desc, dateTime.asc, status.desc, status.asc, duration.desc, duration.asc, projectName.desc, projectName.asc.
  • excludeReviewed, durationMin, durationMax, dateFromUTC, dateToUTC, tz: filters.
  • pagination: page, limit, total, totalPages.

Contacts

Explained in Contacts and leads.
  • Contact: one person, by phone number, with their calling history. id, contactId, phoneNumber, leadName, projectName, locationId, dateAdded, leadGeneratedAtInCrm, leadGeneratedAtInCrmPrecision (time, day), leadReceivedByTfuAi, callCount, disposition, nextScheduledCall (nextCallTime, cadenceStep), isInternal.
  • Outcome type on a contact: appointment, appointmentConfirmed, appointmentRescheduled, appointmentCancelled, callBack, askedForInfo, whatsAppFollowUp, humanNeeded, liveTransfer, failedTransfer, killSwitch, disqualified, tagged, spamDetected.
  • dispositionSummary: counts of each outcome type for one contact.
  • Do-not-call flag: your project-wide “never call this person”.
  • Internal contact: your own test lead, excluded from performance figures. internal filter: all, only, exclude.
  • sortBy: leadName, phoneNumber, projectName, dateAdded, callCount. sortOrder: asc, desc.
  • search, locationIds, projects, masterCampaignId, agentVariantId: filters.

Analytics

Explained in Metrics and how they are calculated.
  • Lead rates divide by totalLeads. Conversion rates divide by conversations, answered calls over 30 seconds.
  • Counts: totalLeads, totalCalls, totalAppointments, totalCallbacks, totalTransfers, totalFailedTransfers, attemptedTransfers, killSwitch, avgCallDuration, callsPerLead.
  • Rates: pickupRate, conversationRate, conversationToPickupRate, bookingRate, transferRate, transferSuccessRate, appointmentConversionRate, transferConversionRate, combinedConversionRate.
  • window: the inclusive calendar days actually used.
  • cached, queryTime, generatedAt: server metadata. Do not build on them.
  • Per-project rows: project, leads, appointments, bookingRate, transfers, transferRate, filtered by agency, projects, excludeProjects.
  • Lead age: how long after the CRM created a lead it was sent here. Segments fresh, warm, dbr, unknown; unknownReasons: noLeadRecord, noCreationDate, noReceiptDate, straddlesBoundary, createdAfterReceipt.

Billing

Explained in Balances, spend and sub-account wallets.
  • Summary sections: balance, autoRecharge, subscription, pendingPurchase, spendThisMonth, subAccounts, pendingCredits, chatPrice. unavailable names any that could not load.
  • chatPrice: what one AI message costs, as a share of a minute at the payer’s rate per minute. multiplier (0.01 to 1.00, 0.25 by default), secondsPerMessage, source (DEFAULT, AGENCY, SUB_ACCOUNT). The agency’s is on the summary; a sub-account’s is on Get sub-account wallet, null when it cannot be read right now.
  • attention: code, severity, message. Severities: ACTION_REQUIRED, WARNING, INFO.
  • Transaction types: PURCHASE, REFUND (a verified refund of a payment, removing its wallet credit), CHARGEBACK (a lost payment dispute, removing its wallet credit), BONUS, SUB_ACCOUNT_TOP_UP, MINUTES_RETURNED, CALL_USAGE, PHONE_NUMBER, CO_AUTHOR, VOICE_SESSION.
  • walletEffect: ADD, DEDUCT, NONE. cashFlow: PAID_BY_YOU, PAID_TO_YOU, NONE.
  • Usage: callCostUSD (what calls cost you), billedToClientsUSD (what rebilled sub-accounts were charged), phoneNumbersUSD, coAuthorUSD (AI builder replies, each at the chat price), voiceSessionsUSD (Tars Home conversations, builder voice sessions, roleplays, test calls and campaign test runs, at your per-minute call rate; voiceSessionsByKind splits them by kind: tars_home, builder_voice, role_play, builder_test_call, campaign_test_run), totalCostUSD. groupBy: sub_account, day.
  • Sub-account wallet status: ACTIVE, LOW_BALANCE, IN_DEBT, DEPLETED. visibility: ENABLED, DISABLED.
  • Sub-account auto-recharge: thresholdUSD, rechargeAmountUSD, both in dollars.
  • creditBatches: what a sub-account’s balance came from, oldest first. Batches with what is left of each, or, on a wallet kept as one balance, purchase records (minutesRemaining 0) and one last row with id balance holding the whole balance at the current rate.
  • Documents: scope (platform, sub_accounts), kind (INVOICE, RECEIPT), truncated.
  • window: from, to, days, whole UTC days.
  • Changing billing: billing:write for settings, billing:charge to charge a card (needs Idempotency-Key, not over MCP). Plans: BRONZE, SILVER, GOLD, DIAMOND.
  • Auto-recharge mode: stored for each agency and set by our team. Automatic mode charges the card, at most 5 times in any 24 hours; approval mode raises a request our team approves before anything is charged. It applies only to automatic recharges: a purchase is always charged at once.
  • Purchase status: PAID, CREDIT_PENDING when the card was charged and the minutes are being added, or PROCESSING while Stripe finishes. Charge status: SUCCEEDED, or CREDIT_PENDING when the card was charged and the minutes have not landed yet. rebillingLeftOn: the charge’s outcome is unknown, so rebilling stayed on.
  • Idempotency-Key: a finished request (a success or a refusal) replays its first answer with idempotentReplay: true; after a 503 that changed nothing the same key runs again; after a 500 on Buy a plan the same key answers IDEMPOTENCY_OUTCOME_UNKNOWN, so read the wallet back and use a new key.
  • Change errors: STRIPE_NOT_CONNECTED, PROJECT_WALLET_NOT_AVAILABLE_ON_PLAN (sub-account wallets are on the Business plan or for a managed agency only), REBILLING_OFF, NO_USABLE_CARD, PAYMENT_METHOD_SELECTION_REQUIRED, USABLE_DEFAULT_PAYMENT_METHOD_REQUIRED, PROJECT_RATE_NEEDS_CONFIRMATION, PENDING_CREDITS_EXIST, SUB_ACCOUNT_WALLET_REQUIRED, THRESHOLD_FIXED_FOR_SELF_SERVE, SUB_ACCOUNT_CHANGED_DURING_WRITE, CREDIT_GUARD_PARTIALLY_APPLIED, IDEMPOTENCY_KEY_REQUIRED, IDEMPOTENCY_KEY_INVALID, IDEMPOTENCY_KEY_REUSED, IDEMPOTENCY_IN_PROGRESS, IDEMPOTENCY_OUTCOME_UNKNOWN, PAYMENT_RECONCILIATION_REQUIRED, FREE_PLAN_BRONZE_ONLY and FREE_PLAN_BRONZE_COOLDOWN (the Free plan buys the Bronze pack once every 30 days), ACCOUNT_STATE_UNAVAILABLE (your account’s state could not be read; nothing was charged or changed: contact support), AUTO_RECHARGE_PACK_REQUIRED (choose Silver, Gold or Diamond before switching auto-recharge on), PAYMENT_METHOD_PROVIDER_UNAVAILABLE (Stripe could not confirm the card; nothing was changed).
  • Read errors: 503 with CANONICAL_BILLING_READ_UNAVAILABLE or CANONICAL_BILLING_CUTOVER_UNAVAILABLE when billing information is temporarily unavailable, or READ_BUDGET_EXCEEDED when the answer would read more billing history than one request may. Nothing was changed; try again shortly.

Power dialer

Explained in Cadences, steps and the queue.
  • Cadence: the follow-up schedule. cadenceName, isDefault, locationIds, campaignIds, activeDays, active, stepCount, schedule[], mode (appointment_reminder for appointment campaigns).
  • Step: one entry in schedule[]. Shapes: wait (offsetMinutes), clock time (day, hour, minute, period AM or PM), reminder (minutesBeforeAppt). Plus label, doubleDial, call (enabled, openingMessage, screeningPurpose, voicemail, voicemailMessage), additionalActions[].
  • Additional action: on a GoHighLevel sub-account, type of sms, email, add-tag or move-stage, with body or snippetId, subject, tags, pipelineId, stageId. On a sub-account that keeps its contacts here, type of api-event (Send webhook), with url, eventName and data. All of them take delaySeconds and jitterSeconds.
  • Update guards: deletions[] with a strategy of advance or remove, stepOrder, confirmReorder, allowEmpty.
  • Queue: where every lead is waiting. Each lead has queueId, cadenceStep, callStatus, nextCallTime, live, callback and pipeline, which names the queue holding the lead: v2 the current queue, v1 older rows. Act on leads by queueId.
  • Run now, move (targetStep, zero-based), remove: act on waiting leads by queueId or selectAll. Skips come back in skipped with a reason.
  • Callback leads, parked speed-to-lead leads: two views of the queue.

Phone numbers

Explained in Phone numbers and caller ID.
  • Pool: every number the agency owns. Each has phoneNumber, pretty, source (customer-twilio and custom are yours; anything else was bought here), monthlyChargeUSD, campaigns[].
  • Search: place, areaCode, countryCode (US, CA), contains, tollFree. Matches carry a country. Unavailable reason: unknown_place, no_inventory, out_of_coverage.
  • Buy, attach, assign, unassign, move, release (released, releaseFailed).
  • Caller ID: the number the lead sees. Local numbers get answered more.
  • Bring your own carrier: numbers imported from your Twilio account. See Connect your own Twilio numbers.

Voices

Explained in Voices.
  • Voice list: every voice an agent can speak with. Each has voiceId, voiceName, gender (male, female, or empty), accent, age, previewAudioUrl, and a source: own (your agency added it), shared (another agency added it) or curated (the catalogue).
  • Voice detail: adds region and isCustom (true for a voice outside the curated catalogue).
  • degraded: on Get voice, the provider could not describe a voice from your list.
  • Voice library: the voices your agency added. Each has providerVoiceId, displayName (your label), addedAt and voiceIds (the ids that select it on an agent).
  • used, limit, remaining: your plan’s voice allowance. limit and remaining are empty when there is no limit.
  • Voice search: a query; each hit has providerVoiceId, name, description.
  • Removing a voice: the preview returns agentCount, agentNames, fallbackVoiceId. The removal returns reassignedAgents (agents moved to the default voice) and incompleteAgents (agents that could not be moved).
  • references.voiceId: sent with VOICE_ALREADY_SHARED, the voice to select instead of adding it.

Split testing

Explained in Agent split tests.
  • Split test: two to five variants of one agent in one campaign. status (active, ended), revision, primaryAgentId, variants[], sync (status of healthy or error, and failedAt, when the failure was recorded).
  • Variant: one version of the agent. agentId, name, sequence, weight (1 to 100 when live, totalling 100 across the live ones), status (active, removed), splitDraft, addedAt, removedAt (when it was removed, empty while active), isPrimary (true for the campaign’s own agent).
  • customName: a read-only flag, true once a variant has been given a name of its own through Rename split variant. The primary never gets it.
  • Draft variant: a member excluded from the cycle. splitDraft is true and weight is 0, so it takes no calls while staying testable and in step with the campaign. A live variant covers calls to its leads until it is included again. Set a weight of 0 to exclude, any weight from 1 to include.
  • Primary variant: the original agent. Cannot be removed, and cannot be excluded.
  • agentVariantId: the filter that scopes analytics, calls and contacts to one variant, with campaignId.
  • idempotentReplay: set when an Idempotency-Key matched an earlier add.

Master agent

Explained in Master Agent.
  • Master agent, master campaign: one campaign mirrored into a child campaign per linked project.
  • masterCampaignEnabled: the switch on the campaign.
  • master: enabled, masterCampaignId, projects[], rescan (rescanned, failed, errors).
  • Linked project entry: role (parent, child), status, syncVersion, syncedVersion, lastError, bindingScanStatus, bindingScanMatchedCount, bindingScanMissingCount, bindingScanError.
  • Binding: an asset resolved by name in a child sub-account, such as a calendar or pipeline stage.
  • masterCampaignId: the filter that reads across every child at once.

Projects

Explained in Agencies, projects and sub-accounts.
  • Agency: your account. agencyName, agencyId, niche, agencyType.
  • Project, sub-account: one client sub-account, keeping its contacts in a GoHighLevel location or here. id (record id), locationId, companyId, projectName, businessName, businessNameOverridden, timezone, crm (ghl when a GoHighLevel location is connected, native when the sub-account keeps its contacts on the platform).
  • status: live, stopped, disconnected. active: false parks the project and frees a plan slot. installed, uninstalledAt.
  • planLocked: on the Free plan, a project past its 3 oldest active ones. It places no new calls and refuses changes with PLAN_SUBACCOUNT_LIMIT until you upgrade. Activating a fourth on the Free plan returns SubAccountCapReached.
  • callbacksHandledByHuman, multipleTimezoneCheck, useWindowTimezone, callingWindowOverride, knowledgeBase, campaigns[], ghl (live location data).
  • System: a legacy template with id, letter, name, description, promptVars, metadataVars, dynamicVars, postCallFields, dispositions, sideSignals.
  • Validation: ok, error, system, agentName, missing, present, extra.

GoHighLevel

Explained in GoHighLevel resources.
  • Custom field: id, name, fieldKey (such as contact.what_service), placeholder, dataType.
  • Custom value: id, name, fieldKey (the merge tag), placeholder, value.
  • Calendar: id, name, calendarType, active. Tag: id, name.
  • Contact lookup: by phone, contact: null when none.
  • Connection errors: GHL_NOT_CONNECTED, SUBACCOUNT_DISCONNECTED, REAUTH_REQUIRED.

Everywhere

Explained in Conventions. Every operation these terms appear in is listed in the API reference.
  • locationId: the id to scope on. projectName: a label.
  • tz: the time zone a plain-date filter is read in. Without it, a plain date is a UTC day.
  • Idempotency-Key: replay-safe header on four operations.
  • version, expectedVersion, revision: concurrency tokens.
  • RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset: the headers to build on.
  • Error codes: Unauthorized, InsufficientScope, Forbidden, FORBIDDEN, AccessDenied, VALIDATION, BadRequest, NotFound, NOT_FOUND, CONFLICT, IN_USE, SYNC_FAILED, VOICE_ALLOWANCE, VOICE_CAPACITY, VOICE_ALREADY_SHARED, VoiceProviderUnavailable, PROVIDER_UNAVAILABLE, TooManyRequests, RateLimited, InternalError.