Glossary
Key terms used across the Told platform.
Platform concepts
| Term | Definition |
|---|---|
| Team | A workspace in Told. Each team has its own sources, members, plans, and data. Teams are independent from each other. A team has a status: active, inactive, paying, unpaid, or blocked. |
| Member | A user belonging to a team with a role. Members are listed in team.listUsers. Pending invitations are in team.waitingUsers. |
| Role | Permission level for a team member: admin (full access + billing), member (create/edit sources and surveys, invite users), or viewer (read-only access to reports). |
| Plan | The subscription tier for a team. Plans define limits on responses, sources, multilingual features, and more. Managed via Stripe. |
Sources & files
| Term | Definition |
|---|---|
| Source (Folder) | A website, web app, or mobile app where you install the Told SDK. Each source has a type: IN_APP (web), IN_APP_MOBILE (mobile), or LINK (standalone). Sources also have a subType: PRODUCT, WEBSITE, LINK, MAIL, or MOBILE. |
| File | A container for a survey or product tour. Each file lives in a source and points to one AppData (Survey or ProductTour). Files manage public link settings (password, access code) and public report sharing. |
| AppData | The polymorphic base for Survey and ProductTour. A File always references one AppData. |
| ClientApp | An installation record for a source. Stores the hostname (web domain) or mobile app bundle ID, and tracks whether the SDK is installed. The SDK validates that the hostname matches the registered ClientApp. |
| Source ID | The unique identifier for a source, passed to told('init', SOURCE_ID) to connect the SDK. |
| Tag | A label on a source for organization (e.g., "production", "staging"). Sources are grouped by tag on the dashboard. |
Surveys
| Term | Definition |
|---|---|
| Survey | A feedback form composed of questions, with customization, triggers, audiences, and localization. Surveys have a type matching their source: IN_APP, IN_APP_MOBILE, or LINK. |
| SurveyQuestion | A question inside a survey. Told supports 9 types: Multiple Choice, Open Text, Opinion Scale, NPS, Message, Contact Info, Calendar, Chat (AI), and Legal. Each question uses a MongoDB discriminator model. |
| SurveyChoice | An option in a Multiple Choice question. Has content (translatable), position, and otherChoice flag. |
| Welcome message | Optional intro screen before the first question. Has translatable content, description, button, and media. |
| Thank-you message | Completion screen after the last question. Has translatable content, description, button, media, and optional confetti animation. |
| Condition | A rule on a question that redirects respondents based on their answer. Conditions have a conditionType (equal, notEqual, any, asAnswered, asNotAnswered) and a resultType (question, thankyou, link, close). |
Product tours
| Term | Definition |
|---|---|
| ProductTour | A guided walkthrough with steps, displayed as overlays on the user's website. Shares the same trigger/audience system as surveys. Has additional customization: radius, label style, and sounds. |
| Step | A single point in a product tour. Has a kind (pin = tooltip on element, modal = centered overlay) and a style (card, modal, video, arcade, compact). Steps have a target (CSS selector), url, and can span multiple pages. |
| Pin | A step of kind pin — a tooltip attached to a specific HTML element identified by a CSS selector. |
Users & audience
| Term | Definition |
|---|---|
| SourceAuthor | A user/visitor tracked by the SDK within a specific source. Has an anonymousID (auto-generated), optional userId (from identify), customData (traits), deviceType, language, nbSessions, and associated companies. |
| SurveyAuthor | A respondent session — one per SourceAuthor per survey. Tracks hasStarted, hasAnswered, reachEnd, asSkipped, currentQuestion, resultNPS, and confidentiality status. |
| Author | An email-based identity that can be linked to a User account. |
| SourceAuthorCompany | A company/group associated with SourceAuthors. Has a groupId, customData (name, industry, plan, employees, etc.), and groupSize. |
| Audience | A reusable segment of users defined by filters. Has a conditionType (and/or) to combine filters, and belongs to a source. Each source can have a default audience. |
| Solicitation | The number of times a user has seen a Told survey or product tour appear. |
| Session | A single visit by a user. A new session starts after 30 minutes of inactivity. Tracked as nbSessions on the SourceAuthor. |
Triggers
| Term | Definition |
|---|---|
| SurveyTrigger | The "where" condition — what user action shows the survey. Types: SurveyTriggerURL (page visit), SurveyTriggerScreen (mobile screen), SurveyTriggerClick (click on element), SurveyTriggerCustomEvent (custom event). |
| SurveyTriggerWhen | The "when" condition — time period, recurrence, and display rules (seeItOnlyOnce, replyOnlyOnce, stopOnClose, tillFinish, automaticResume). |
| SurveyTriggerWho | The "who" condition — basic audience filter by devices, languages, countries, browsers, OS, app versions, and rollout percentage. |
| Display only once | seeItOnlyOnce — Survey appears only the first time conditions are met. |
| Reply only once | replyOnlyOnce — Survey can appear again but not after completion. |
| Hidden fields | Key-value data attached to a respondent programmatically. Visible in reports but not in the survey UI. |
Events
| Term | Definition |
|---|---|
| Event | A tracked user action. Stored with name, sourceAuthor, source, and primaryData (language, device, URL, etc.). |
| Automatic events | Events tracked by the SDK without code: CHANGE_PAGE, ON_CLICK, ON_SCROLL, START_SESSION. |
| Custom event | An event you fire from code: CUSTOM_EVENT. Sent via told('addEvent', ...), analytics.track(...), or dataLayer.push(...). |
| System events | Events tracked for survey lifecycle: START_SURVEY, NEW_ANSWER, REACH_END, CLOSE_SURVEY, SKIPPED, IDENTIFY, RESET, GROUP, START_PRODUCT_TOUR. |
Integrations
| Term | Definition |
|---|---|
| Webhook | An HTTP callback triggered by a survey event. Sends JSON to an external URL. Event types: surveyFormAnswer, surveyAnswer, surveyNPSAnswer. |
| SDK | The JavaScript, Android, or iOS library installed on your website/app. |
| Segment | Third-party analytics platform. Told auto-receives analytics.track() events. |
| dataLayer | JavaScript array used by Google Tag Manager. Told reads events from it. |