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.
/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:
| Field | What it holds | Notes |
|---|---|---|
| Name | The customer's name, for example Acme Inc. | Required. 1 to 255 characters. This is the only field you must provide. |
| Description | Free text about the account: context, history, anything worth remembering. | Optional, no length limit. |
| A contact email address for the account. | Optional, up to 320 characters. | |
| Website | The customer's website URL. | Optional, up to 500 characters. Stored as website_url. |
| Employees | Headcount, a rough sense of how big the company is. | Optional whole number. Must be 0 or greater. |
| Industry | The sector the customer is in, for example Fintech or Healthcare. | Optional, up to 120 characters. |
| Stage | A free-text pipeline stage of your own choosing. | Optional, up to 120 characters. This is a free label, separate from contract status. |
| Contract status | Where the account sits in the contract lifecycle. | Optional. One of prospect, trial, active, or churned (see below). |
| Revenue | The revenue associated with the account. | Optional decimal amount. Must be 0 or greater. |
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:
| Status | Meaning |
|---|---|
| Prospect | A potential customer you have not converted yet. |
| Trial | Currently trialing the product. |
| Active | A live, paying customer. |
| Churned | A 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.
- Open CustomersGo 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.
- Type a nameEnter 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.
- Click AddThe customer is created immediately and appears in the list. It starts with just a name, no contract status badge, and no requests yet.
- Fill in the restSet 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.
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.
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
| Field | What it holds | Notes |
|---|---|---|
| Title | A short description of the ask, for example SSO support. | Required. 1 to 500 characters. |
| Description | Longer detail about the request. | Optional, no length limit. |
| Status | Where the request stands. | One of open, planned, in_progress, or closed. Defaults to open. |
| Source URL | A link back to where the ask came from, for example a support ticket or a message. | Optional, up to 500 characters. |
| Linked work items | The 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:
| Status | Meaning |
|---|---|
| Open | Newly captured, not yet triaged. This is the default. |
| Planned | Acknowledged and slated to be worked on. |
| In progress | Actively being worked on. Stored as in_progress. |
| Closed | Resolved 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.
- Open a customer's requestsOn 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.
- Type the askIn 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.
- Add the requestClick 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.
- Triage itUse 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.
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.
