Customer Management
Customer Management is where you run the commercial side of your workspace: the leads your AI channels capture, the customers who use your portal, the appointments your agents book, and the quotes and invoices you get paid on.
Open it from Customer Management in the left navigation. The page has five tabs: Overview, Leads, Customers, Appointments, and Invoices & Quotes. Most of this area requires the workspace admin role (Appointments and Invoices also accept the developer role).
Overview
The Overview tab is your funnel report:
- Customer funnel: how many contacts reached each stage: Lead, Qualified Lead, Customer, Booked, Paid, and Completed. Each stage counts everyone who reached at least that stage. Qualified means contact details were captured, Booked means an appointment exists, Paid means an active subscription or a paid invoice (paid invoices only until you connect Stripe), and Completed means you marked the customer's journey Completed on their page.
- Leads by channel: where your leads come from.
- Conversion tiles: lead to customer conversion, customer to paid conversion, monthly recurring revenue (from your connected Stripe account), pending invites, and a Lost count of customers whose journey you marked Lost.
- Trend charts: new leads per month and new customers per month over the last six months.
Leads
Every conversation a potential customer starts on one of your connected channels appears here as a lead. The table shows the contact's name, email, phone, the channel (Web Chat, Phone, Email, SMS, or a connected messenger such as Instagram or Telegram), and the last message.
- Click a contact to open the full conversation thread.
- A green Customer badge on a lead means it was converted: the conversation is linked to a customer profile.
Conversion can happen without you touching anything. Workflow agents carry customer tools (customer.find, customer.create, customer.linkConversation), so a front-desk chatbot that collects a name and email can create the customer record and link the conversation to it mid-chat.
Customers
The Customers tab lists everyone with access to your customer portal, and is where you invite new ones.
Inviting a customer
- In the Invite Customer section, enter the customer's email and an optional name.
- Click Send Invite. The platform emails an invitation and also shows you the invite link, with a Copy button, in case you want to share it yourself.
Onboarding workflows assign work automatically when the customer joins, so there is no per-customer setup. A customer can also join without an invite by signing in to your portal directly; see Customer portal.
The customer table
A search box above the table filters by name or email, and a status filter narrows the list to Active or Pending customers.
| Column | What it shows |
|---|---|
| Customer | Name, email, and avatar. |
| Status | Pending (invited, not joined yet) or Active. |
| Tasks | Onboarding task progress, for example 2/3 with a progress bar. |
| Subscription | The customer's subscription on your connected Stripe account, matched by email. |
| Workflows | How many workflows are assigned to this customer (chat or questionnaire). |
| Leads | How many lead conversations belong to this customer. |
| Joined | Signup date. |
Row actions: the mail icon prefills the invite form to resend or send a fresh invite email, and the trash icon deletes. Deleting confirms first: for a pending invite, "Delete pending invite for <email>?"; for an active customer, "Delete customer <email> and remove all customer-portal access?"
Click any active customer's row to open their journey page.
The customer journey page
Each customer has a profile page (under Customer Management, Customers) that shows their entire journey in one place. At the top is a funnel with six stages:
| Stage | Reached when |
|---|---|
| Lead | At least one lead conversation is linked to or matches this customer. |
| Customer | Always reached (they have an account); shows the join date. |
| Booked | At least one appointment exists. |
| Quoted | At least one quote or invoice was sent. |
| Paid | At least one invoice is paid; shows the total collected. |
| Completed | You marked the journey Completed with the Journey selector. |
Next to the customer's name sits a Journey selector with three values: Active (the default), Completed, and Lost. Completed and Lost are terminal outcomes you set yourself; they show as a badge beside the name, feed the Completed stage and the Lost tile on the Overview tab, and take the customer out of automated follow-ups (see the Setup tab).
Below the funnel, the page shows the customer's full history:
- Lead conversations: where this customer came from. Each row opens the full thread.
- AI chat history: the customer's portal chat threads; expand one to read the messages.
- Appointments: upcoming and past appointments, each showing its service provider when one is assigned, with a link to open the calendar event and an Open calendar shortcut to the Appointments tab.
- Quotes & invoices: everything sent to this customer, its status, and links to the hosted payment pages, plus the total collected. Paid and Unpaid filter chips narrow the list.
Appointments
Appointments activate once a calendar is connected. Without one, the tab shows "Connect a calendar to activate appointments" with a button to open Connectors. Google Calendar and Microsoft Calendar both activate the tab; with Google Calendar connected, bookings create real calendar events and invite the customer, while with Microsoft Calendar the appointment is currently kept as a local record only.
The calendar
The tab is a full calendar with month, week, and day views:
- The month view shows event chips per day; week and day views show time-positioned event blocks.
- Click an event to open its detail popover, which shows "With
<provider>" when a service provider is assigned, links to the customer's journey page, and offers cancellation. - Click an empty day or time slot to start a booking at that time.
- In week and day views, drag down a column to select an exact time range (snapped to 15 minutes); the booking form opens prefilled with it.
- Appointments booked by agents are colored differently from ones booked in the studio, and cancelled appointments appear struck through.
Two filters above the calendar narrow what you see: a service provider filter and a status filter (Scheduled or Cancelled).
Service providers
Service providers are your staff: stylists, technicians, anyone appointments are booked with. Manage them under Plans → Service providers, where each provider has a name, role, email, phone, and an active toggle. Providers can be assigned when booking, appear as "With <provider>" in the calendar popover and on the customer's journey page, and drive the provider filter above the calendar.
Booking and cancelling
Click Book appointment (or a calendar slot) and fill in the title, the customer (or "No customer (internal)"), an optional service provider, date, time, duration in minutes, and optional location and notes. On save, the calendar event is created and the customer is invited by email, and the appointment attaches to their journey page.
Cancelling asks for confirmation ("Cancel <title>? The calendar event will be removed."), then marks the appointment cancelled and deletes the calendar event.
Agents book appointments too, through the appointment.book tool: a chatbot that agrees on a time with a lead creates the same calendar event, invites the customer by email, and the booking appears on this calendar and on the customer's journey page.
Invoices & Quotes
Quotes and invoices run on Square. Until a Square account is connected, the tab shows "Connect Square to send quotes & invoices" with a button to open Connectors. Once connected, a "Square connected" badge appears.
Creating a quote or invoice
Click New quote / invoice and choose the kind:
- Quote (share the link): created in Square with a hosted payment page; you share the link yourself.
- Invoice (Square emails it): Square emails it to the customer directly.
Fill in the title, the customer (pick one, or enter an email manually), line items (name, quantity, unit price), an optional due date (default: 14 days), and an optional message. The currency is fixed to your Square account's currency; Square rejects anything else.
The invoice table
A search box and filters sit above the table: filter by status (Paid, Unpaid, or Draft) and by kind (Invoices or Quotes).
Columns: Created, Kind (quote or invoice), Title, Customer, Total, Status, and Source (Studio for ones you created, Agent for ones a workflow sent from a conversation).
Statuses come from Square. PAID, PARTIALLY_PAID, and REFUNDED display green; CANCELED and FAILED display red; everything else (such as unpaid or draft states) displays amber. Row actions:
- Open the hosted payment page.
- Copy the payment link.
- Refresh the status from Square. The first time an invoice turns paid, the workspace gets a "customer paid" notification and the customer gets a payment confirmation.
Agents can send quotes and check payment status from conversations through the invoice.create and invoice.status tools, so a chatbot can quote a job and follow up on payment without you in the loop.
Onboarding tasks
Tasks are conversational forms your customers complete: instead of a static form, an agent walks them through the questions one at a time and saves the answers. The task builder lives in the workflow designer, on the Tasks tab of the Workflow page (older links to a Tasks tab here redirect there).
Building a task
A task is a named set of questions, edited like a form builder: a title block, then one card per question. Each question has a prompt, an answer type, a field key (derived from the prompt automatically until you edit it by hand), a required toggle, and optional help text. You can add, duplicate, reorder (drag), and remove questions.
Available question types: Short text, Long text, Number, Email, Phone, Date, Single choice, Multiple choice, Yes / No, File upload, Payment, and Signature.
Three types deserve a note:
- File upload: the customer's file is stored in their own private folder in the Knowledge Base, so it is retrievable for that customer and invisible to everyone else.
- Payment: a Stripe Checkout step. Every payment question must reference an active plan linked to a Stripe price, or the task cannot be published.
- Signature: a draw-to-sign pad the customer signs with a mouse or a finger. See Agreements and signatures below.
Task settings (the gear icon on a task row) hold the welcome message, the completion message, the response collection binding, and the optional Agreement document (markdown).
Agreements and signatures
For NDAs, terms and conditions, or any free-form agreement, combine two pieces:
- A Signature question in the task.
- The task-level Agreement document (markdown) field in Task settings, holding the agreement text.
In the portal, the customer sees the agreement text above the draw-to-sign pad. On submit, the agreement, the customer's answers, and the signature are rendered into a PDF filed automatically in that customer's folder in the Knowledge Base. The Faberiq starter bundle ships ready-made NDA and Terms & Conditions tasks built this way, as editable templates with [Company Name] placeholders.
Like file-upload and payment steps, signature steps require the secure portal: on a shareable no-login task link they show a "continue in the portal" hand-off.
Save as a draft or click Publish task when it is ready for customers. Archive retires a task; it confirms that pending assignments will be removed, while completed response records remain.
Where responses go
Every task is bound to a response collection. If you do not pick one, the platform creates one named "<task name> responses": a Latest collection keyed by assignmentId, where each record holds one customer's answers keyed by the question field keys. Response collections are flagged as customer data and stay private to your workspace. If you bind your own collection, it must be a Latest collection with assignmentId as a key field.
Assigning tasks and tracking progress
Tasks reach customers through onboarding workflows: a workflow with a Customer Signup trigger and Customer Task nodes, selected under Customer portal onboarding workflows in Settings. When a customer joins the portal, the platform walks those workflows and creates one assignment per Customer Task node, and the customer is notified. See Customer portal for the customer's side of this.
Agents can also hand tasks out mid-conversation: the ordered task toggles under Onboarding journey tasks on the Setup tab control which published tasks agents send during onboarding, and the customer.task.send tool assigns a task and returns a shareable no-login link on any channel.
The Responses progress table under a task lists every assignment with the customer, status (pending, in progress, or completed), answer progress, and last update. Click a row to read the answers.
Magic links and embeds
Each assignment row has three sharing actions:
- Copy magic link: a
/t/<token>link. Anyone with it can complete the task in a lightweight widget, no login needed. A "LINK ACTIVE" badge appears once a link exists. - Copy iframe embed code: an
<iframe>snippet that embeds the same widget in any website. - Email the invitation: sends the link to the customer's email on file.
File-upload, payment, and signature steps are not available in the no-login widget; those show a "continue in the portal" hand-off to the signed-in portal.
Related pages
- Customer portal: what your customers see and how they join.
- Workflows and Agents: the agents that capture leads, book, quote, and run tasks.
- Collections: where task responses are stored.
- Connectors: the channels, calendar, Stripe, and Square connections this area builds on.