Video chapters
- 0:00 Welcome
- 0:17 How website lead capture works
- 0:41 Part 1 · The landing page and its enquiry form: explained
- 0:49 Part 1 · The landing page and its enquiry form — Forms: kitchen-enquiry, Build Studio import, Edit Link, Publish
- 2:22 Part 2 · A chat on every page, AI first: explained
- 2:33 Part 2 · A chat on every page, AI first — Live Chat setup, AI assistant knowledge and rule
- 3:27 Part 3 · Who's on the site right now: explained
- 3:38 Part 3 · Who's on the site right now — Customer Activity: two visitors, source, journey
- 4:01 Part 4 · Invite the right visitor: explained
- 4:09 Part 4 · Invite the right visitor — Engage invite, Reply, Start Chat
- 4:33 Part 5 · AI replies, takeover and a live broadcast: explained
- 4:46 Part 5 · AI replies, takeover and a live broadcast — AI answer, Agent Desk AI tab, Takeover, Share Camera
- 5:26 Part 6 · The enquiry becomes a lead: explained
- 5:36 Part 6 · The enquiry becomes a lead — Form Submitted → Create Lead → Create Task, the visitor books, Monitor
- 6:45 Part 7 · The owned lead and its history: explained
- 6:53 Part 7 · The owned lead and its history — Leads pipeline, lead details, Sam's task, chat history
- 7:21 Wrap-up
Written guide
What you will learn
Connect a published Appmint website to a real CRM enquiry. We will build the entry point, route website chat, see the visitor context and save a lead with a clear owner. The final check is the linked conversation and follow-up, not merely a form confirmation.
01. Find the page and understand the editing context
Why this matters
A site contains pages. The site selector chooses the website we're working on; the page selector chooses a page inside that context. Preview and Edit have different purposes: Preview shows the experience, while Edit opens the canvas and its controls.
Steps
- Expand Build Studio and open Dashboard. Locate Recently edited, All Pages, New web page and Templates. Older builds may label the saved-page library Saved Pages.
- Open the site selector, search for the intended training site and select it. Confirm the name in the toolbar.
- On an existing saved page, use the eye to preview, return, then use the pencil to edit. Show the page name in the canvas.
- Close the editing tab to leave it. Do not use a delete action to navigate away.
Result and recovery
Show the intended site and page together. If an expected page opens blank, return to Saved Pages and reopen the record before saving anything over it.

The October 4 capture uses the formdemo site. Select your own intended site; the eye previews a saved page and the pencil edits it. The publication badge does not establish that a draft is private.
02. Create and save a page
Why this matters
A blank page gives you direct control over the structure. A template gives you a starting design that you adapt. Either route needs its own saved page identity. Applying HTML to the canvas and saving the page record are separate actions.
Steps — blank page
- Choose New Web Page. Open HTML and insert the starter below. It gives this exercise a navigation link, heading, service article and contact section; the actual enquiry form is connected later.
- Apply the document to the canvas. Show Page applied to canvas and the visible content.
- Use the top toolbar Save. Enter Site, Name
services, Slugservicesand TitleServices. Use a different available name if that record already exists; keep the chosen identifier consistent. - Complete the form's Save and show the resulting saved page name. Close and reopen the record.
A minimal starter for this exercise:
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Services</title></head>
<body>
<nav><a href="#contact">Request a consultation</a></nav>
<main><h1>Design services for your home</h1>
<section id="services"><article id="room-consultation"><h2>Room Consultation</h2><p>A focused session to discuss one room and the next steps.</p></article></section>
<section id="contact"><h2>Tell us about your project</h2><p>Our consultation request form will be linked here after its public route has been tested.</p></section>
</main></body></html>This is example page content, not a functioning form. Replace the contact placeholder with the saved form's verified link after section 10; a heading alone cannot collect an enquiry.
Alternative — template
Open Build Studio → Templates, select Services or All, inspect a preview and use its create-page action. Check the resulting new page's site and identity. Replace inherited names, images, links and form destinations before saving. The categories include Home, Store, Listing, Blog, Form, Landing and About; present them in the library rather than reading them over the blank-page procedure.
Gotcha
A saved draft is not necessarily private: sites may serve drafts. Explain that policy beside the publication section; keep unfinished sensitive content out of the example.
03. Edit content and control the hierarchy
Why this matters
The selected element determines the scope of an edit. A heading sits inside a service card, and the card sits inside the service section. Changing the parent layout can affect all its children; changing the heading's words should affect only that heading.
Visual
Use the real element tree and the matching canvas element. Reveal parent and child together, then return to the canvas. Do not use an arbitrary box around unrelated content.
Steps
Double-click the heading and change its text. Exit text editing. Select the service article in the tree and use Clone element. Change the copy to a second service and replace any copied unique HTML IDs. Show two complete cards. In a separate short operation, use Copy element, select a target, and Paste → Paste as last child. Show where the new child appears, then remove that extra example. Explain first child/before/after/Replace while the Paste menu is visible, before performing the selected action.
Select related elements, use Container Tools → Put in Container, inspect the wrapper, and use Remove Container to show the reverse. Demonstrate Text Alignment on selected text separately from rearranging the surrounding layout. Undo an accidental deletion and confirm the restored parent and children.
04. Style the page and reuse design choices
Why this matters
Style affects the selected element. Class supplies reusable styling hooks. Attributes holds values such as a link destination or image source. The page's theme provides broader defaults, so use it before adding many local overrides.
Steps
Select the service-section container and set a readable width, internal spacing and a consistent gap. Use a two-column layout at wide widths and a single column on narrow screens. Change heading and paragraph typography on their respective elements. Apply the same service-card class to both cards. Open Attributes on the image, set a real src and descriptive alt, and preserve its proportions. Set a contact link's href to the actual contact section and test it in preview.
Open the page theme settings, make one theme change and inspect its effect on the heading, body and button. Insert another available preset/component instance and inspect which attributes are copied. Do not claim that a copied block receives later global updates unless that relationship has been established.
Result
Show both cards as a coherent section, the real image and the working contact link. A familiar-looking page without functioning links is not the completed demonstration.
05. Configure interactive components
Why this matters
Components can keep a page useful without making it crowded. Tabs switch between related content, an accordion opens an answer, and a dialog or drawer reveals a focused task. The editor may expose all the underlying content so you can edit it; Preview is where we check the visitor's interaction.
Demonstration — main interaction
Use HTML → Sync from canvas before inserting the written course's wm-tabs and wm-accordion examples inside main. Apply to canvas. Select the custom element in the tree and inspect its settings. In preview, click both tab labels and the accordion heading. Show the corresponding content changing and returning.
Component alternatives — separate short demonstrations
- Grid: wrap the cards in
wm-grid, give eachslot="item", set Columns (Default) to1, Columns (MD - 768px+) to2, and Gap (px) to24. Check both widths. Search/filter/sort settings need record-backed tests; changing a label alone does not establish their behavior. - Slider: create actual
slot="slide"children. Set Slides Per View to1, enable navigation arrows and pagination, leave autoplay off initially, and move forward/back. Then show the speed and autoplay-delay choices separately. - Dialog: provide trigger and content slots, a unique ID
consultation-details, and a button actionui.dialogwith Target#consultation-details, Modeopen. Enable its close button and test open/close/reopen. - Drawer: show Slide Direction, Width, Height and Show Overlay, then test the chosen direction in preview.
- Mega menu: pair trigger and panel slots in order. Explain Trigger Type, Animation, Hover Delay, Hide Delay and Mobile Breakpoint while its settings are visible; demonstrate one chosen configuration on desktop and phone.
- Navigation: use real destinations.
wm-navigationitems useslot="nav-item"; verify each destination instead of judging by its label.
Keep these alternatives chapter-accessible. Do not interrupt a dialog opening to lecture on every slider option.
06. Check responsive layouts
Why this matters
The device controls show the same page at different sizes. They don't create separate phone and desktop pages. We want the layout to adapt while preserving its content and actions.
Steps
Switch desktop → phone → tablet using the toolbar controls. Change orientation. Show card columns changing, the heading wrapping and the contact action remaining accessible. If something overflows, select its container, inspect fixed/minimum widths and padding, correct the constraint and repeat that viewport test. Open external preview and test the actual links and interactive components there as well.
07. Publish and verify the visitor result
Why this matters
Publishing follows your site's review policy. A submitted approval request is not the same as a released page. Staff preview is also different from the public visitor URL.
Steps
Run the visitor route in external preview first. Press Publish on the saved page. If the organization requires review, complete the authorized review and return to the actual published state. Open the public URL in a separate visitor session. Check the page title, both service records, navigation and one uniquely identified contact submission. If content is stale, compare the site/page, saved version, review status and URL before retrying publication.
08. Create the form and its destination
Forms can store inline submissions or create records in an existing collection. Choose that destination before building fields, because it changes where the answer is saved.
Steps
Open Forms → Forms and create a form. In Setup enter Name and Title, set Status, optional Opens and Closes, and Message after submitting. In Fields choose Build the fields here or Use an existing collection. For the first demonstration choose inline fields.
Check the result
The saved form has Setup, Fields, Access, Messages, SEO and Submissions. A collection-bound form follows the collection’s schema and access; do not present it as identical to inline submission storage.
09. Configure identity and access
Who is filling this in? controls identity checks. Who may open it? controls reachability. Email only records an address without verifying it.
Steps
Open Access. Choose Nothing, Magic link, One-time code, Username & password or Email only as required. Choose Anyone who can reach it, One access code or Participants only. Configure the code or intended participants. Review public permissions and Save changes.
Check the result
The form link can be refused until Guest can read and create. A visible Copy link is not permission proof. Magic links/codes require working delivery; never narrate Email only as verified identity.
10. Share and submit from the customer view
The generated link uses the configured site base. The customer result must be tested outside the staff session.
Steps
- Save the form, then open Setup and copy its Link. If Form link unavailable appears, follow the displayed prerequisite. The recorded prerequisite was to enable Forms in the default site’s Site Features, then choose Refresh form link. Do not guess a public URL.
- Open the link in a separate respondent browser session. For the two-field exercise, attempt an empty required name, then an invalid email. Correct the errors using a name and address you control.
- On Check your answers, inspect both values. Choose Edit to correct one; choose Submit once when ready.
- Read the confirmation, then return to Studio and check the stored answer as described next.
- Connect the tested public Link to the Services page’s enquiry call to action. Save the page, open its visitor view, follow that link and confirm it reaches the same form. This page-to-form handoff still needs its own recorded proof.


These October 4 captures show the two-field Forms rehearsal. The example.invalid address tested local storage without email delivery; use a reachable address when testing notifications. This is not proof that a CRM lead was created.
Check the result
Do not invent an embed button if only the generated link is exposed. Invitation delivery and one-time code behavior are separate tests.
11. Review the saved answer and workflow
Submissions is the persisted answer view. A configured workflow should create its own task, which needs to be matched to that exact submission.
Steps
Open the form’s Submissions tab or top-level Submissions, find the matching timestamp and choose View. Compare the answer labels and values with the respondent review. If attachments were included, open the intended file and verify access.

This record is a form_submission, with guest as the submitter. It has not automatically become a CRM lead, verified customer identity or workflow task.
In Setup select Send submissions to a workflow and save. Submit a second controlled answer, open Workflows and inspect the corresponding task and source reference.
Check the result
A success message alone does not establish field mapping or task creation. Collection-bound output must also be inspected in its owning collection.
12. Build fields and validate the respondent experience
Inline fields belong to this form. A bound collection supplies its own schema and stores its own records. Field names identify the saved answers; titles are the readable labels the respondent sees. The preview helps inspect layout, but a real submission verifies storage and access.
Steps
In Fields choose Build the fields here. Use Schema Builder to drag the appropriate controls into the form, then select a field and open its Properties. Give each field a stable Name and a clear Title. For a contact email, select the email format; for a longer answer choose the textarea variant. Add a useful Description or Placeholder where the format would otherwise be unclear. Mark only necessary inputs Required. Set minimum/maximum length where a real requirement exists, and inspect any default value so it cannot silently become a respondent's answer.
For attachments use the file control's file types and maximum size options. Select the accepted categories, such as images or PDF Document, instead of allowing all files without a reason. For repeated items inspect minimum/maximum item settings when repeatable is enabled. Place fields in an existing layout group; the current selector uses actual layouts because a name that matches no layout can hide the field from the rendered form.
Switch to Form Preview. Inspect order, labels, required indicators and readability. Use Schema Tree to find an unexpectedly missing control. JSON Schema is the advanced alternative for inspecting the underlying schema; preserve field names already used by answers or templates. In the embedded form editor, Collection Info, Notifications and Live View are intentionally absent: save the enclosing CRM form, and use that form's Messages and Submissions instead.
Save changes, open the public link as the intended respondent, and attempt an empty required field and a malformed email. Correct the validation error, submit a valid answer and inspect Submissions. Open View for Submission Details and compare the saved answer labels and values. Use Notes for an internal observation. Change a submission status only through the offered selector, then reopen it to confirm the result. Delete opens a confirmation for that submission; do not use it as a substitute for correcting the original form.
For Use an existing collection, select the saved collection in the picker and inspect its fields before publishing the form. Submit a controlled answer, then verify the matching collection record as well as any form activity. Changing the storage source is a design change; check downstream templates and workflow references before switching an established form.
Check the result
Name validation permits identifiers starting with a letter, underscore or dollar sign, followed by those characters or digits; the field-name schema sets a 3–100 character length. A readable title can contain ordinary business wording without changing that identifier. Hidden and Disabled are separate field properties; do not rely on either as server-side access control. Browser validation, server validation, duplicate handling and close/expiry enforcement must be checked independently at the published link. To stop new responses, set the intended closed/expiry state in Setup, save, then reopen the link independently and verify the actual refusal.
13. Website Chat Widget Setup
The website widget is the visitor’s entry to your team. Appearance, agent availability and routing are separate settings. Test a fresh public session after saving the design.
Steps
Open Chat Designer, configure the intended design and save. Apply its site or embed configuration, then open the website as a fresh visitor and start a conversation.
Follow these steps
Appmint-site setup: use the current integrated wizard first
For an Appmint-hosted site, open the active site's Features area and the Live Chat setup action. Set up Live Chat proceeds through Widget → AI replies → App user → Finish. Select an existing widget or enter the intended new widget name. On AI replies, choose whether to answer automatically and select the intended existing assistant or the proposed new assistant. On App user, select the intended existing app credential or enter the proposed App ID. Review the final configuration and finish once. The source links the resulting chat_config to the site's chatConfig and enables the live-chat feature. It writes at Finish, not at each Next. Inspect the result and then open a fresh visitor session to test the chosen route.
Use the manual Chat Designer / Embed Code path below for external HTML/React sites, detailed configuration or changing an existing integration. Creating three separate records manually is not the preferred first setup when the integrated wizard is available. Keep the generated app secret private. Source: components/welcome-screens/buttons/live-chat-setup-wizard.tsx and site-features-section.tsx.
Prepare the website and a separate visitor browser before opening the agent queue. You need an Appmint staff account in the correct organisation, a site you can configure, and a second participant or isolated browser session that is not signed in as the agent. For transfer, have another authorised staff member available. For media, use a browser with permission to capture the intended screen, camera and audio. A local preview of your own message or camera is not the customer's experience.
In the selected site's settings, open Chat. The two linked fields are Chat configuration and Chat app credential. If no widget exists, click Set up chat; for an existing setup the button reads Reconfigure chat. The wizard has Widget, AI replies, App user and Finish steps.
On Widget, choose Use an existing widget when you are maintaining a known configuration. Otherwise choose Create a new one and enter Name cedar-help-chat. For the first human-support exercise, a new configuration keeps our starting behavior clear. The wizard's defaults enable attachments and emoji, make the widget available at all times and set it online. You can refine its design and availability later in CRM → Chat Designer.
On AI replies, choose Agents only for the first exchange. We will add AI after we establish that the visitor reaches the desk. Choose Yes, use AI when preparing the AI exercise; it offers an existing assistant or an Assistant name for a new one. Selecting an existing assistant is useful when you already maintain approved product knowledge there. A newly created assistant needs that knowledge configured before it can answer product-specific questions reliably.
On App user, choose an existing identity intended for this widget or Create a new one and enter App ID cedar-help-widget. This is an app user's username. It is not an API key, a staff email or the widget configuration's record identifier. Review the summary on Finish before saving: nothing has been created by simply moving through the previous pages.
Click Finish and inspect Live chat is on. The wizard links the widget configuration and app identity to the site and enables live chat. If a new app secret is shown once, retain it using your organisation's approved credential handling; do not put it in a tutorial recording or substitute it into the public widget's appId field. Return to the site's Chat section and confirm both selected fields identify the intended records.
For a site outside Appmint, use the generated Embed code, or CRM → Chat Designer → Embed Code for the saved widget. Select the correct app credential when generating the code. Preserve the stylesheet link, the container, the loader script and the AppmintChat.init options. The values have different jobs: orgId chooses the organisation, configId identifies the chat configuration, and appId is the app-user username. Copy the generated snippet into the intended page before </body> as directed. The required stylesheet keeps a successfully loaded widget from appearing unstyled.
Open the real visitor page independently. Expand the widget and complete the displayed visitor/start flow if one appears. Verify that its wording and appearance belong to Cedar & Form and that it opens on the intended site. If the widget is absent, check the enabled site feature, both linked identifiers and loaded assets before changing agent availability. If it appears without styling, check that the stylesheet was included. If an old AI configuration still answers during the Agents only exercise, inspect the widget's saved AI association; selecting Agents only while reusing an existing configuration must be checked, not assumed to have cleared its previous assistant.
Scene direction
14. Agent Connection, Queue and Visitor Replies
Agents need a connected session to handle visitor conversations. The queue, picked-up conversation and visitor reply must stay matched throughout the demonstration.
Steps
Connect from the Chat control. Open the visitor’s queue item, pick it up and send a reply. Switch to the visitor view and read that reply.
Follow these steps
The website is ready; now a person needs to receive its conversation. In Appmint's top header, open Chat and choose Connect chat if it is offline. Wait for Online, then use Open chat or CRM → Chat. Open conversations in the same header menu leads to the email, SMS and social inbox; use Open chat for this website-support exercise.
The full Chat application has Agent Desk, Activity and Logs, plus a Broadcast control. In a compact window some labels become icons; enlarge the window or inspect their tooltips. A Chat surface embedded in Workspace can use a reduced mode without the queue, AI, customers or broadcast. Open the full CRM module when a control from this course is missing.
On Agent Desk, select Available to receive new work. Busy describes an agent handling conversations without new assignments; Away indicates absence from the desk. Those availability states differ from Go offline, which disconnects chat. Setting Available cannot compensate for an Offline connection.
In the independent visitor widget, enter: “I am looking at the Arc lamp. Where are its dimensions?” Send it in the Agents only configuration. Back in Agent Desk, select Queue. Look for the visitor identity, waiting time and any priority, skill or reason displayed with the entry. Use Journey when the recorded customer context will help you understand the request. An anonymous entry may not have a usable email-based journey yet; do not treat the missing identity as a known customer.
Click Pick on the intended entry for this worked example. Pick next is useful when handling the next queued item without selecting a specific person. Confirm that the picked visitor opens in your active conversation and that the queue entry is removed. This assignment check prevents two staff members from assuming they own the same request. If the queue changes between inspection and pickup, read the returned result and refresh before trying again.
In Type a reply..., enter: “I can help. I will send the Arc product page so you can check the dimensions.” Click Send or press Enter. The conversation identifies Agent, Customer and AI messages, with timestamps where available. Check the visitor browser and confirm the exact reply arrives. Ask the visitor to answer “Thank you — I can see your message.” The returning message establishes that we have a two-way exchange, rather than an agent writing into an isolated local thread.
The current customer conversation pane inserts an outgoing message immediately. That optimistic bubble is useful feedback while sending, but it is not independent confirmation of delivery. Keep the visitor check as part of the operation. If a reply remains visible to the agent but never reaches the visitor, verify the connection and the conversation assignment before typing the same text repeatedly.
Use the context panel to inspect the customer's current page, device and location when supplied. Open tabs can indicate multiple connections from the same visitor. These details help you respond to the page the visitor is actually using; they do not establish that the visitor is currently reading a particular message. Ask a short contextual question when the recorded page and the customer's request disagree.
For independent practice, have the visitor ask a second product question. Pick the correct conversation, answer it, and confirm the answer at the visitor. Then switch your status to Busy and explain the difference between remaining connected for the current conversation and advertising availability for new assignments. Return to the desired operating state when the exercise is complete.
Scene direction
15. AI Chat Configuration, Assistance and Takeover
AI replies can handle a configured conversation while Takeover lets a person answer. Assist AI is a distinct helper action; it should not be described as automatic customer delivery.
Steps
Route the widget to the saved assistant. Send a visitor question and inspect its answer. Select Takeover on the same conversation, reply as a person and verify the visitor receives it.
Follow these steps
Use AI for a product question only after its configuration and knowledge match the website. Open the site's Chat → Reconfigure chat and select Yes, use AI. Choose the intended existing assistant or create a named assistant for the site, then finish and confirm the widget's association. In AI Assistant, edit that assistant's instructions, allowed Tools and knowledge sources. The wizard's starter assistant includes a chat channel, a message-received trigger and the transfer-to-agent tool; it is a starting configuration, not a populated product catalogue.
For Cedar & Form, set the purpose to answering product questions from approved information and handing unresolved requests to staff. Provide a knowledge source that actually contains the Arc product details. Add the rule, “If the dimensions are missing, say they need checking; do not infer them from an image.” Keep allowed tools appropriate to this task. Instructions about what the assistant may do are separate from the actual actions made available by Tools.
Open a new controlled visitor conversation with this widget and ask a question that the knowledge can answer. In Agent Desk → AI, use search to locate the visitor or distinctive message text. Open the conversation and read the customer input, the AI response and any reported error. Check the visitor widget as the answer arrives. Compare the factual answer with the configured source. An animated typing indicator or a streamed sentence does not establish that the answer is correct.
While the AI is still the assigned handler, choose Assist AI. Enter a concise instruction such as “The visitor is comparing the Arc lamp with the larger model. Answer only from the linked product information and ask which model they mean if needed.” Click Send to AI, or press Enter; Escape or Cancel closes the input without sending. The intended behavior is to give the assistant additional guidance and have it continue with a customer-facing answer. This is not a private draft generator waiting for you to click a second customer-send button. Review the outgoing answer at the visitor and check that internal instructions are not exposed during the live exchange or on reload before using sensitive internal context.
Now click Takeover. The control takes over from AI or another agent. Inspect the success notice and system message identifying the new handler, then send a human reply. Ask a new visitor question and verify the human remains responsible. This is more explicit than simply typing while AI may still be answering: takeover changes routing and attempts to stop an active AI response.
Do these two demonstrations in this order because Assist AI and Takeover are different operations. Takeover clears the customer's active assistant routing. After takeover, Assist AI may report No AI assistant configured if it cannot resolve the assistant. The reviewed UI does not expose a general Resume AI control even though a backend operation exists. Do not promise that clicking Assist AI automatically restores all future AI routing. Use a separately configured new conversation for a fresh AI test, or an actual exposed resume route only after it has been verified in your installation.
The AI list includes Active, All and Archived, plus Archive and Unarchive actions. Use these to organise the list, and test the result after a refresh. Archiving a list item is different from ending the visitor session or disabling its assistant. Persistence of the AI list's archived state needs particular attention: a change visible immediately in this panel should not be treated as permanently stored until it survives reopening. Use Logs for retained messages when the list does not restore the expected state.
If AI does not answer, check the widget's selected configuration, its saved assistant association, assistant status, the chat channel and the presence of the incoming message. If the visitor is already assigned to a human, that routing is relevant. If an answer is wrong, compare source content and permissions before changing delivery settings. Your practice task is to ask one supported question and one deliberately unsupported question. The checks are a correct answer to the first, an honest limitation or supported handoff for the second, and no competing AI answer after a verified human takeover.
Scene direction
16. Live View and Targeted Visitor Invitations
Live View gives current visitor context. A targeted invitation should reach the chosen visitor, not everyone on the website.
Steps
Open Live View, identify the controlled visitor session and select the supported invitation action. Send it and verify it appears only in that visitor’s browser.
Follow these steps
The next visitor is browsing the lamp page but has not asked for help. Open Chat → Activity → Visitors. This uses the same Live View visitor table available through the analytics Live View surface. The adjacent Activity views are Map, Queue and Live Chats. Live Chats here describes your active chats; do not assume it is a complete transcript view for every colleague.
Choose the relevant Live View window: 5 min, 15 min, 30 min or 1 hr. The default is 15 minutes, and the data refreshes periodically. Use Refresh when you need a fresh check. Visitors in the selected recent window and visitors marked active are different counts. A row from earlier in the window does not guarantee that a browser is still connected to receive an invitation. A failed request appears as a load failure rather than a genuine zero-visitor result.
Search by name, page, location or browser and locate the controlled participant. Inspect the current page, entry page, browser/device, time on site and available identity. Map offers geographic context, while the table is better for selecting a specific browser. Treat location as context supplied by the visitor data rather than an exact personal address.
Open View journey on the visitor row. The drawer contains the current and entry pages and the recorded activity. It is keyed by the visitor's device identifier. This differs from the email-based Journey in the agent queue or Customers panel. A person can have more than one device, and an anonymous browsing device need not yet be a registered chat customer.
The same visitor drawer has Engage. Its Target tells you whom you are addressing. Enter “Hi! I can help you find the Arc lamp dimensions if you need them.” Keep the message within the 500-character limit and click Send for the intended controlled participant. The current form sends a chat invitation, even where an older tooltip mentions a notice. This targeted route uses the application API, so the invitation request is not dependent on the agent's live-chat socket being connected; handling the resulting chat still requires an online agent or configured assistant.
In the independent visitor browser, look for the invitation and choose Reply. Reply opens the widget or the visitor's start/registration flow as appropriate. Send a response, then follow it into the queue or assigned conversation. That response is the useful outcome: the invitation reached the intended browser and the visitor could act on it.
If the invitation is missing, check the target device and whether the visitor still has the relevant site open. Inspect the inline send error if one appears. An API success notice is not evidence that someone saw the invitation, so do not send repeated prompts merely because the operator cannot see the receiver. Refresh the visitor context and compare with the participant's real browser.
For a known, connected customer, Agent Desk → Customers offers a more direct path. Filter Online customers by name, URL or location, inspect the row, and use its Chat action. Journey supplies the known customer's context. This direct customer-chat route uses the live chat connection; it serves a different situation from inviting an anonymous browsing device.
For practice, keep two controlled visitor browsers open on different pages. Select the lamp-page device, send one targeted invitation, and verify which browser receives it. Do not declare organisation-wide delivery from this exercise: the selected device is the scope of the targeted route.
Scene direction
17. Website Screen and Camera Broadcasts
Screen and camera broadcasts are visual communication. The audience must receive moving media and usable audio; a local preview proves only capture.
Steps
Start the intended broadcast and choose the screen or camera. Open the independent visitor view, verify motion and audio, then stop sharing and confirm it ends there.
Follow these steps
A live visual demonstration can answer a question that is awkward to describe in text. Open Chat → Broadcast in the full application. The panel says Share your screen or camera with all website visitors. Its scope is organisation-wide connected widget visitors, so the currently selected customer conversation is not a private audience selector. Use the intended test organisation and participant set for this exercise.
Choose Share Screen. The browser asks which tab, window or display to share. Select the prepared product demonstration, not an unrelated desktop. If audio sharing is offered for that source and you need it, select it deliberately. The application requests screen video and audio, but the tracks actually supplied depend on the browser and chosen source. A request for audio does not ensure that microphone or system sound is included.
In Appmint, inspect the local preview and LIVE indicator. At the independent visitor page, inspect the received broadcast overlay. Make a visible change in the shared source: switch from the product overview to the dimensions area or move a clearly identifiable object on screen. Confirm the receiver sees that movement. If audio is part of the demonstration, play or speak the chosen short test phrase through the captured source and have the receiver confirm it. A frozen preview, a viewer count or a LIVE badge alone does not prove useful media delivery.
The visitor overlay offers controls such as Mute/Unmute, Minimize and Maximize/Restore, subject to its configuration. If the video is minimised, use LIVE - Click to view to expand it. Check the receiver's mute state before diagnosing a silent stream. The operator preview is intentionally muted, so silence in that preview is not a receiver-audio test.
Use Mute in the broadcaster controls to disable the stream's available audio tracks and verify the receiver becomes silent while the picture continues. Use Unmute and verify audio returns. If there were no audio tracks to begin with, this control cannot create them. Use Stop Broadcasting, then check that the independent visitor no longer receives the live stream. Closing or moving the floating Broadcast window is not the explicit stop procedure taught here.
Start a second demonstration with Share Camera. Permit the intended camera and microphone in the browser prompt. Show a recognisable movement in front of the camera and say a short test phrase. Confirm both at the receiver. Stop the broadcast and verify release of the stream. This is one-way live media from the operator to website visitors; it is not a two-way private meeting call.
If Share Screen or Share Camera is disabled, check the chat connection. If permission is denied or no preview appears, check the browser's camera/microphone/screen permissions and start again with the intended source. If the local preview works but the independent receiver has no moving picture, keep investigating the connection path. A different-network receiver is especially valuable because successful same-network playback does not establish relay connectivity elsewhere. Administrators may need to check the installation's WebRTC relay configuration; do not promise that every network can connect from the presence of a local camera preview.
The meaningful finish is two separate captures: an operator choosing and controlling the source, and a visitor receiving its changing picture and, where configured, sound. Preserve the same identifiable content between them so the recipient check is about this broadcast rather than a prerecorded clip.
Scene direction
18. Create a lead and read it back
A lead records the person, source and next sales context. Preserve the actual source rather than using a convenient default for every import.
Steps
In Lead Manager open New Lead. Enter First Name, Last Name and Email, then Phone, Company and Job Title when known. Choose Lead Source and Priority, enter Notes and complete the create action. Reopen the saved lead and compare the identity and source.
Check the result
Website, Social Media, Email Campaign, Referral, Cold Call, Trade Show and Other are source choices in the current form. Creating a record does not verify its email or phone.
19. Edit ownership, stage and follow-up
The lead detail brings Overview, Activities, Notes, Tasks and Enrichment together. Some fields save on blur; complete the edit and inspect its persistence before moving away.
Steps
Open the lead. Enable Edit mode, update the intended owner or field and leave the field to trigger its save. Read the persisted value. Select the intended pipeline stage through the pipeline controls, add a follow-up task or note in its appropriate tab, and inspect Activities.
Check the result
The current edit control says changes auto-save on blur. Do not narrate a Save button when the field uses that behavior. Task ownership and lead ownership are separate records.
20. Connect the enquiry to the saved lead
The connected result must be checked at both sides of this handoff. Keep the original record reference visible while moving to the destination.
Steps
Once the visitor has supplied contact details, preserve the source conversation before creating the CRM lead. Search Lead Manager for the email first. If absent, use New Lead and enter the actual first/last name, email, phone/company supplied, Source Website and notes identifying the page/form/conversation. Save and reopen. Assign the intended owner and follow-up in Activities/Tasks, then open the original conversation and compare the identity. If a form submission creates a separate collection record, inspect that record before using an automation to create the lead. A form success screen is not evidence that a lead was created.
Check the result
Do not claim automatic chat-to-lead conversion without a saved lead and source association. For a follow-up automation use a supported persistent action, inspect the actual event input and destination record, and preserve the visitor history.
Limitations and checks
Public form access, AI/human routing, invitation receipt and live media require independent visitor verification. Automated lead creation must use a confirmed handler; do not substitute the known incomplete CreateTicket automation action.
Your next check
Return to the saved records and check the handoff that matters for your use of the platform. A visible result at each end makes the workflow explainable and gives you a precise place to investigate when it fails.
Appmint Customer Activity and Live View — supporting guide
Evidence: current Customer Activity and Live View source checked on 4 October 2026. Screenshots show earlier local visitor, queue and reply states. No new targeted invitation, reconnect or map-location test was performed in this pass.
What you will learn
This course covers Appmint CRM Customer Activity: visitors, the map, the waiting queue and live chats. We will follow the same controlled visitor through those views and distinguish a page visit from an active conversation. That context helps you choose a relevant response without treating every visitor as an identified customer.
01. Connect the visitor context
Customer Activity shows live website visitors and the conversation queue. A known contact identity and an anonymous browser session are different observations.
Steps
- Confirm the website belongs to the intended organization and its tracking/chat setup is enabled. Use the Customer Support setup if the visitor widget is not configured.
- Open the website in a separate visitor browser, keeping the operator signed in to Studio Manager in another browser context.
- In Studio Manager, open CRM → Customer Activity → Visitors. The same surface is also available in Chat → Activity.
- Select the recent time window and find the visitor using the actual page, device and visit time. A row without a linked identity is still a browsing device, not a confirmed named customer.

Historical layout and one recorded session. The outer header shows zero visitors while the Live View table shows one active session; these use different state sources. Do not treat that discrepancy as evidence that a particular customer is connected now.
Check the result
A stale or absent session may indicate missing tracking, a different organization, or a failed load. Do not identify an anonymous visitor as a named customer without an actual linked identity.
02. Read Visitors and Map
Visitors and Map reuse the live analytics surface with a time window, refresh and journey context. A map pin is an approximate location signal, not a verified street address.
Steps
In Visitors select the relevant time window and inspect entry page, pages, time on site, source and available country/IP context. Open the visitor journey, then Map and locate the corresponding session. Refresh and compare with a second controlled visitor.
Check the result
Scope and update timing affect counts. Do not imply a map location establishes a customer’s exact identity.
03. Invite the intended visitor
A targeted invitation should reach only the selected visitor. The ensuing chat must be matched to that visitor session.
Steps
- In the intended visitor row, open View journey and check the device and page context.
- Open Engage in that drawer and read Target before entering a message. This is a targeted device invitation, not permission to address every visitor.
- Write the relevant invitation within the 500-character limit, then select Send once.
- In that visitor's browser, check that the invitation appears and choose Reply. Complete the widget's start/registration flow if prompted, then send a response.
- Return to the operator's Queue or assigned conversation and match the response to the same visitor. If only an API success is visible, receiver delivery is still unverified.
Check the result
The invitation uses the shared Live View Engage form. Its current source targets a device or explicit organization-wide scope; this lesson uses the specific device.
Detailed instructions
Live View and Targeted Visitor Invitations
The next visitor is browsing the lamp page but has not asked for help. Open Chat → Activity → Visitors. This uses the same Live View visitor table available through the analytics Live View surface. The adjacent Activity views are Map, Queue and Live Chats. Live Chats here describes your active chats; do not assume it is a complete transcript view for every colleague.
Choose the relevant Live View window: 5 min, 15 min, 30 min or 1 hr. The default is 15 minutes, and the data refreshes periodically. Use Refresh when you need a fresh check. Visitors in the selected recent window and visitors marked active are different counts. A row from earlier in the window does not guarantee that a browser is still connected to receive an invitation. A failed request appears as a load failure rather than a genuine zero-visitor result.
Search by name, page, location or browser and locate the controlled participant. Inspect the current page, entry page, browser/device, time on site and available identity. Map offers geographic context, while the table is better for selecting a specific browser. Treat location as context supplied by the visitor data rather than an exact personal address.
Open View journey on the visitor row. The drawer contains the current and entry pages and the recorded activity. It is keyed by the visitor's device identifier. This differs from the email-based Journey in the agent queue or Customers panel. A person can have more than one device, and an anonymous browsing device need not yet be a registered chat customer.
The same visitor drawer has Engage. Its Target tells you whom you are addressing. Enter “Hi! I can help you find the Arc lamp dimensions if you need them.” Keep the message within the 500-character limit and click Send for the intended controlled participant. The current form sends a chat invitation, even where an older tooltip mentions a notice. This targeted route uses the application API, so the invitation request is not dependent on the agent's live-chat socket being connected; handling the resulting chat still requires an online agent or configured assistant.
In the independent visitor browser, look for the invitation and choose Reply. Reply opens the widget or the visitor's start/registration flow as appropriate. Send a response, then follow it into the queue or assigned conversation. That response is the useful outcome: the invitation reached the intended browser and the visitor could act on it.
If the invitation is missing, check the target device and whether the visitor still has the relevant site open. Inspect the inline send error if one appears. An API success notice is not evidence that someone saw the invitation, so do not send repeated prompts merely because the operator cannot see the receiver. Refresh the visitor context and compare with the participant's real browser.
For a known, connected customer, Agent Desk → Customers offers a more direct path. Filter Online customers by name, URL or location, inspect the row, and use its Chat action. Journey supplies the known customer's context. This direct customer-chat route uses the live chat connection; it serves a different situation from inviting an anonymous browsing device.
For practice, keep two controlled visitor browsers open on different pages. Select the lamp-page device, send one targeted invitation, and verify which browser receives it. Do not declare organisation-wide delivery from this exercise: the selected device is the scope of the targeted route.
04. Use Queue and Live Chats
Queue represents waiting chat work. Live Chats represents the agent desk’s active conversations, which is a different scope from all visitors.
Steps
- Open Queue and identify the waiting visitor. If no one is waiting, have your controlled visitor start the conversation; merely opening a website does not create a waiting support request.
- In the full Chat → Agent Desk → Queue, choose Pick on that visitor. Pick next chooses the next waiting entry instead.
- Confirm the visitor is now the active conversation, type the reply and send it.
- Check the visitor's actual browser for the reply. Then inspect Live Chats for your active conversation; this is not an organization-wide transcript list.

Historical pickup entry. This is Agent Desk, reached from Activity; it is not the Visitors table.

Historical receiver-side reply. It establishes that previous conversation's delivery, not a new targeted invitation or reconnect result.
Check the result
Current badge derives from myActiveChats, not every organization conversation. A connected agent and actual visitor exchange are prerequisites.
05. Reconnect and retain context
Presence can become stale after a tab closes or reconnects. Conversation history and current live presence should be inspected separately.
Steps
Reload the controlled visitor and inspect its session and conversation. Refresh Customer Activity, check the active queue/chat state and send one follow-up. Match the reply to the same conversation.
Check the result
Do not delete or recreate a customer record merely to repair presence. A reconnect regression should be logged with the conversation and session identifiers.
Your next check
Return to the chapter for the action you need. When you change the configuration, check the matching record, customer view or destination again. A saved setting and a successful external outcome are different observations.
Verification notes
BusinessMade Customer Activity — supporting guide
Image evidence: retained captures illustrate the labelled screen or action, not a fresh completed walkthrough of every step. Shared Appmint references are not BusinessMade execution proof.
Overview
Open Operations → Customer activity to inspect connected website visitors and their conversations. We will identify a visitor before inviting or accepting a chat.
BusinessMade navigation and scope
BusinessMade mounts the shared customer-activity component at /crm/customer-activity. Website tracking/chat setup requires the actual site widget and same organization; a POS customer record alone does not become a live website visitor. Site/Chat Designer setup may require the same organization in Appmint because those configuration menus are not in the BusinessMade sidebar.
Read the current activity screen before acting
- Open Operations → Customer activity. Choose Visitors. The local screen provides 5 min, 15 min, 30 min and 1 hr windows; 15 minutes was selected in the captured visit.
- Read Source, Current page, Entry, Pages and the available device context before assuming a row represents website browsing. The captured row is a known Chat presence, with no current page and zero pages. It is not evidence that our store tracking is working.

Hover the row actions to identify their labels before selecting them. View journey requires a device identifier; it is disabled for this captured Chat-only row. Do not create a new contact to try to unlock it. To demonstrate a website journey, open the configured website in an independent visitor browser and locate that actual tracked device.
Select Queue. In the inspected session it showed Queue is empty, zero in queue and one available agent. This is a waiting-request view; a row under Visitors does not automatically create a waiting chat.

Select Live Chats. Its heading is Your active chats, and this session had No active chats. The instruction is to pick a customer from the queue or wait for an assignment. Online agent presence alone is not proof of an assigned customer conversation.

Limitations: Navigation, visitor context and the two empty states were inspected live on 4 October. No invitation, message, pickup or external delivery was attempted. Tracked website journey, targeted invitation and two-browser reply proof remain required before this course can pass its delivery review.
01. Connect the visitor context
Why this matters
Customer Activity shows live website visitors and the conversation queue. A known contact identity and an anonymous browser session are different observations.
Follow these steps
Confirm the website’s actual tracking/chat configuration. Open that page in a separate visitor session, then open Customer Activity → Visitors and locate the session using its page and time.
Check the result
A stale or absent session may indicate missing tracking, a different organization, or a failed load. Do not identify an anonymous visitor as a named customer without an actual linked identity.
02. Read Visitors and Map
Why this matters
Visitors and Map reuse the live analytics surface with a time window, refresh and journey context. A map pin is an approximate location signal, not a verified street address.
Follow these steps
In Visitors select the relevant time window and inspect entry page, pages, time on site, source and available country/IP context. Open the visitor journey, then Map and locate the corresponding session. Refresh and compare with a second controlled visitor.
Check the result
Scope and update timing affect counts. Do not imply a map location establishes a customer’s exact identity.
03. Invite the intended visitor
Why this matters
A targeted invitation should reach only the selected visitor. The ensuing chat must be matched to that visitor session.
Follow these steps
Use the supported invitation action on the controlled visitor, enter the relevant invitation and send once. In the visitor browser accept or open it, send a message, then locate the same conversation in staff Chat.
Check the result
Exact invitation entry is shared with Live View and must be captured in the current surface; do not invent a broadcast button or show a different session as the recipient.
Detailed instructions
Live View and Targeted Visitor Invitations
The next visitor is browsing the lamp page but has not asked for help. Open Chat → Activity → Visitors. This uses the same Live View visitor table available through the analytics Live View surface. The adjacent Activity views are Map, Queue and Live Chats. Live Chats here describes your active chats; do not assume it is a complete transcript view for every colleague.
Choose the relevant Live View window: 5 min, 15 min, 30 min or 1 hr. The default is 15 minutes, and the data refreshes periodically. Use Refresh when you need a fresh check. Visitors in the selected recent window and visitors marked active are different counts. A row from earlier in the window does not guarantee that a browser is still connected to receive an invitation. A failed request appears as a load failure rather than a genuine zero-visitor result.
Search by name, page, location or browser and locate the controlled participant. Inspect the current page, entry page, browser/device, time on site and available identity. Map offers geographic context, while the table is better for selecting a specific browser. Treat location as context supplied by the visitor data rather than an exact personal address.
Open View journey on the visitor row. The drawer contains the current and entry pages and the recorded activity. It is keyed by the visitor's device identifier. This differs from the email-based Journey in the agent queue or Customers panel. A person can have more than one device, and an anonymous browsing device need not yet be a registered chat customer.
The same visitor drawer has Engage. Its Target tells you whom you are addressing. Enter “Hi! I can help you find the Arc lamp dimensions if you need them.” Keep the message within the 500-character limit and click Send for the intended controlled participant. The current form sends a chat invitation, even where an older tooltip mentions a notice. This targeted route uses the application API, so the invitation request is not dependent on the agent's live-chat socket being connected; handling the resulting chat still requires an online agent or configured assistant.
In the independent visitor browser, look for the invitation and choose Reply. Reply opens the widget or the visitor's start/registration flow as appropriate. Send a response, then follow it into the queue or assigned conversation. That response is the useful outcome: the invitation reached the intended browser and the visitor could act on it.
If the invitation is missing, check the target device and whether the visitor still has the relevant site open. Inspect the inline send error if one appears. An API success notice is not evidence that someone saw the invitation, so do not send repeated prompts merely because the operator cannot see the receiver. Refresh the visitor context and compare with the participant's real browser.
For a known, connected customer, Agent Desk → Customers offers a more direct path. Filter Online customers by name, URL or location, inspect the row, and use its Chat action. Journey supplies the known customer's context. This direct customer-chat route uses the live chat connection; it serves a different situation from inviting an anonymous browsing device.
For practice, keep two controlled visitor browsers open on different pages. Select the lamp-page device, send one targeted invitation, and verify which browser receives it. Do not declare organisation-wide delivery from this exercise: the selected device is the scope of the targeted route.
04. Use Queue and Live Chats
Why this matters
Queue represents waiting chat work. Live Chats represents the agent desk’s active conversations, which is a different scope from all visitors.
Follow these steps
Open Queue, inspect the waiting controlled visitor and pick up through the supported agent action. Open Live Chats, select the same conversation and reply. Verify the visitor receives the reply.
Check the result
Current badge derives from myActiveChats, not every organization conversation. A connected agent and actual visitor exchange are prerequisites.
05. Reconnect and retain context
Why this matters
Presence can become stale after a tab closes or reconnects. Conversation history and current live presence should be inspected separately.
Follow these steps
Reload the controlled visitor and inspect its session and conversation. Refresh Customer Activity, check the active queue/chat state and send one follow-up. Match the reply to the same conversation.
Check the result
Do not delete or recreate a customer record merely to repair presence. A reconnect regression should be logged with the conversation and session identifiers.
Verification notes
BusinessMade mounts the shared customer-activity component at /crm/customer-activity. Website tracking/chat setup requires the actual site widget and same organization; a POS customer record alone does not become a live website visitor. Site/Chat Designer setup may require the same organization in Appmint because those configuration menus are not in the BusinessMade sidebar.
Shared UI procedures are authored from the actual component mounted by the BusinessMade route registry. The changed wrapper/navigation has been source-inspected; the current local inspection is recorded above. Customer/provider outcomes and permission tests not explicitly demonstrated remain pending.