Open app →
Documentation

Customers (CRM-lite)

Adversarial verification of the Customers (CRM-lite) docs page against the actual code.

Customers, a CRM-lite built into your workspace

Customers gives you a light customer record right inside Elliptic, so the demand side of your company lives next to the work that satisfies it. Each customer is a small account profile: who they are, how big they are, where they sit in your pipeline. Against any customer you capture requests, the feature and support asks that come in. And because Elliptic is Jira for your agents and your team, a request can be linked to one or more work items, so a customer ask connects straight to the tasks that deliver it. It is deliberately lightweight: enough to track who is asking for what and whether it is being built, without becoming a full sales CRM.

Where this lives
Open Customers from your workspace to see the list. Everything here is scoped to your organization, and the underlying API lives under /orgs/{org_id}/customers.

Customer accounts

A customer is an account profile for a company or person you serve. The only field a customer must have is a name. Everything else is optional, so you can add a record with nothing but a name and fill in the rest later as you learn more about the account.

The fields on a customer

A customer carries a small, focused set of fields:

FieldWhat it holdsNotes
NameThe customer's name, for example Acme Inc.Required. 1 to 255 characters. This is the only field you must provide.
DescriptionFree text about the account: context, history, anything worth remembering.Optional, no length limit.
EmailA contact email address for the account.Optional, up to 320 characters.
WebsiteThe customer's website URL.Optional, up to 500 characters. Stored as website_url.
EmployeesHeadcount, a rough sense of how big the company is.Optional whole number. Must be 0 or greater.
IndustryThe sector the customer is in, for example Fintech or Healthcare.Optional, up to 120 characters.
StageA free-text pipeline stage of your own choosing.Optional, up to 120 characters. This is a free label, separate from contract status.
Contract statusWhere the account sits in the contract lifecycle.Optional. One of prospect, trial, active, or churned (see below).
RevenueThe revenue associated with the account.Optional decimal amount. Must be 0 or greater.
Stage and contract status are two different things
Contract status is a fixed set of four lifecycle values that the product understands and color-codes. Stage is a free-text field you can use however you like, for example to mirror your own sales pipeline. They are independent, so you can set one, both, or neither.

Contract status

Contract status tracks where a customer sits in the contract lifecycle. It is one of four values, and it can also be left empty:

StatusMeaning
ProspectA potential customer you have not converted yet.
TrialCurrently trialing the product.
ActiveA live, paying customer.
ChurnedA customer who has left.

In the Customers list each account shows a status dropdown so you can move it through the lifecycle in place, and the chosen status renders as a colored badge: prospect is neutral, trial is amber, active is green, and churned is red. A customer with no contract status set simply shows no badge.

Adding a customer

The fastest way to add a customer from the Customers page is by name. The new-customer field on that page takes just a name, which is all that is required, and you flesh out the rest of the fields afterward.

  1. Open Customers
    Go to the Customers page in your workspace. You see the search box, a New customer name field, and an Add button across the top, with the customer list below.
  2. Type a name
    Enter the customer's name in the New customer name field, for example Acme Inc. Add stays disabled until the name has actual text in it.
  3. Click Add
    The customer is created immediately and appears in the list. It starts with just a name, no contract status badge, and no requests yet.
  4. Fill in the rest
    Set the contract status from the dropdown on the row. The remaining fields, description, email, website, employees, industry, stage, and revenue, are part of the customer record and are set through the API.

Reading the customer list

Customers are listed alphabetically by name. Each row shows the name, a context line that combines the industry and email (whichever are set, joined with a dot), the employee count when present, the contract status dropdown and badge, a Requests button, and a delete control that appears on hover. When you have no customers at all, the list shows a simple No customers yet. placeholder.

Searching customers

The search box at the top of the page filters the list as you type. Search is matched against three fields, the customer name, email, and industry, so you can find an account by company name, by a contact address, or by sector. Matching is case-insensitive and partial, so typing acme finds Acme Inc., and fin finds every customer whose industry contains those letters. Clearing the box returns the full alphabetical list.

Search covers name, email, and industry, not everything
Description, stage, website, and the other fields are not part of the search match. If you want an account to be findable by a particular term, put that term in the name, email, or industry field.

Editing and deleting a customer

Every field on a customer can be edited after creation. From the list, the contract status dropdown updates the account in place. The other fields update through the customer's API record. Deleting a customer is permanent: use the delete control on the row (it appears when you hover) to remove the account. Deleting a customer also removes its requests, so the asks filed against it go with it.

Deleting a customer takes its requests with it
A customer's requests belong to that customer. When you delete the customer, every request filed against it is deleted too. If you only want to stop tracking an account, consider setting its contract status to churned instead of deleting it, so the history stays.

Customer requests

A customer request is a single ask from a customer: a feature they want, a support issue they raised, anything you want to track against that account. Requests are filed against one customer and live under it. The only required field is a title, so capturing an ask is as quick as typing one line.

What a request holds

FieldWhat it holdsNotes
TitleA short description of the ask, for example SSO support.Required. 1 to 500 characters.
DescriptionLonger detail about the request.Optional, no length limit.
StatusWhere the request stands.One of open, planned, in_progress, or closed. Defaults to open.
Source URLA link back to where the ask came from, for example a support ticket or a message.Optional, up to 500 characters.
Linked work itemsThe tasks this request is tied to.Zero or more. See Tying requests to work below.

Request status

Each request moves through four statuses, so you can see at a glance whether an ask has been triaged and where it is headed:

StatusMeaning
OpenNewly captured, not yet triaged. This is the default.
PlannedAcknowledged and slated to be worked on.
In progressActively being worked on. Stored as in_progress.
ClosedResolved or otherwise finished.

In the requests panel, status appears both as a dropdown you can change in place and as a colored badge: open is neutral, planned and in progress are amber, and closed is green. The in_progress value is shown to you as in progress, with the underscore replaced by a space.

Capturing a request

Requests are managed from a panel that expands under a customer, so the asks for an account stay attached to it.

  1. Open a customer's requests
    On the Customers page, click the Requests button on a customer's row. A panel expands underneath that customer showing its requests. Clicking Requests again collapses it.
  2. Type the ask
    In the New request field at the top of the panel, type a short title such as SSO support. The Add request button stays disabled until there is text.
  3. Add the request
    Click Add request. The request is created against that customer with status open, and it appears in the list below. When the customer has none yet, the panel shows No requests yet.
  4. Triage it
    Use the status dropdown on the request to move it from open to planned, in progress, or closed as you work through it. If the request came from somewhere, its source URL renders as a small external-link icon you can click to open the original.

Requests are listed newest first, so the most recent asks for a customer sit at the top. Each row shows the title, a linked-count badge when work items are attached, the source-link icon when a source URL is set, the status dropdown and badge, and a delete control on hover. Deleting a request removes it and its work-item links, the linked tasks themselves are untouched.

Tying requests to work

This is what makes Customers more than a list of asks. A request can be linked to one or more work items, the same tasks you track on your project boards. Linking is how customer demand connects to delivery: the ask on one side, the tasks that satisfy it on the other. A single request can fan out to several tasks, and the same task can serve more than one request.

Each request carries a list of linked work-item ids, and the requests panel surfaces it as a N linked badge on the row, so you can see at a glance which asks are connected to actual work and which are still just captured. A request with nothing linked shows no badge.

How linking works

Linking and unlinking happen over the customers API, by associating a request with a task:

  • Link a work item to a request to record that this task helps deliver the ask. The task must belong to your organization, otherwise the link is rejected as a work item that cannot be found.
  • Unlink a work item to remove that association. The request and the task both remain, only the link between them is removed.
  • Linking is idempotent. Linking the same task to the same request twice does not create a duplicate, the existing link is left as is.
Links are an association, not a copy
A link is a pure connection between a request and a task. Linking does not change the task's status, assignee, or anything else, and unlinking or deleting a request never deletes the underlying tasks. Likewise, deleting a customer or a request removes its links but leaves the work items in place.

Putting it together

The flow is short and repeatable. Add a customer with a name, then enrich it with industry, contract status, and the rest. Capture each ask as a request under that customer and triage it through open, planned, in progress, and closed. As the work gets picked up, link the request to the tasks that deliver it, and watch the linked badge confirm that the ask is connected to real, in-flight work. That is the whole loop: who is asking, what they are asking for, and whether it is being built, all in one place next to the rest of your company's work.