Work intake
Work intake is the set of doors a request can arrive through to become a cycle. There are five, and a request from any other source is refused. “What can create work in this project” always has an exact answer.
Two of the doors connect systems outside hlix and can be closed. The other three are always open, because using one is already a deliberate act within the project.
Prerequisites
Section titled “Prerequisites”- A project in your Workspace.
manageaccess on the project to change its intake settings;owneroradminfor the Workspace defaults.
The five doors
Section titled “The five doors”| API value | What it is | Can it be closed? |
|---|---|---|
chat |
Someone typed into the project’s conversation | No |
kanban |
Someone moved a card on the project’s board | No |
api |
A direct API call with a Workspace credential | No |
linear |
A delegation from a Linear issue | Yes |
github |
A GitHub issue | Yes |
Every door is open by default, and every request admitted through any of them goes through triage before it becomes work.
Why three doors have no switch
Section titled “Why three doors have no switch”chat, kanban and api are native: the request starts inside hlix and is scoped by the act of making it. Someone typed into this project’s chat, moved a card on its board, or called the API with a credential for this Workspace.
linear and github are external: another system sends requests to this project, that system can be noisy, and noise becomes spend. You can switch either one off.
The native doors cannot be closed: {"intake": {"chat": false}} answers 400.
Close a door for one project
Section titled “Close a door for one project”curl -sS -X PATCH "$HLIX_BASE_URL/v1/api/projects/$PROJECT_ID" \ -H "x-api-key: $HLIX_API_KEY" \ -H "X-Organization-Id: $HLIX_WORKSPACE_ID" \ -H 'content-type: application/json' \ -d '{"intake":{"linear":false}}'Expected result: 200 and the updated project, with intake.linear now false.
The intake object is merged onto what is already stored, so sending one key leaves the other unchanged. Omitting intake leaves the settings as they are.
The dashboard shows the same switches under Project → Settings → Work intake, one per closable door, with a line naming the three that are always open.
Project and Workspace settings
Section titled “Project and Workspace settings”Each external door is decided by the first of these that has a setting:
- The project’s own setting — what you set above.
- The Workspace default — an admin’s default for every project.
- The catalog’s default — open.
A project setting overrides the Workspace default.
What a refusal looks like
Section titled “What a refusal looks like”A blocked request does not become a cycle, and the reason names the setting that closed the door:
Linear intake is turned off for this projectLinear intake is turned off for this workspaceCheck the setting the message names: a door closed by the Workspace default stays closed even when the project screen shows no change.
An unknown source gets a different refusal:
unknown intake source 'slack' — it is not in the intake source catalogIf work is not arriving, or is arriving when it should not
Section titled “If work is not arriving, or is arriving when it should not”- A Linear issue was assigned and nothing happened. Check both settings: the project’s
intake.linearand the Workspace default. The refusal reason in the project’s activity names which one. - A GitHub issue did not become a cycle. Same check on
intake.github. Also confirm the repository is attached to this project — an issue only reaches a project through a repository it owns. {"error":"…"}with400on thePATCH. You sent a native door (chat,kanban,api) or a name that is not a door. Unknown keys are refused.- You sent
boardand got a400. The API value iskanban. - You closed one door and the other closed too.
intakemerges, so check that you did not send both keys. - Work is arriving from a source you never enabled. All five doors are open by default; close the ones you do not want.
- A
403on thePATCH. Changing intake needsmanageaccess on the project. - The door is open and a request still did not become work. It was admitted and then triaged. See Triage for what happens after the door.
Where to go next
Section titled “Where to go next”| If you want to… | Read |
|---|---|
| See what happens after a request is admitted | Triage |
| Connect the Linear workspace | Linear |
| Connect the GitHub account | GitHub |
| Gate what a cycle may do once created | Delivery policy |