Skip to content

Sources

Control which external issue sources can submit requests, and understand how chat, the board, the client portal, branches and Canvas add work.

Sources decide which places can submit requests to a project. Use the source identifiers below when integrating through the API. Requests go through triage; a request from a branch carries work that already exists as commits.

Linear and GitHub issues can be switched off. The sources inside hlix remain available, subject to the caller’s project permissions.

  • A project in your Workspace.
  • manage access on the project to change its source settings; owner or admin for the Workspace defaults.
API value Request source
chat A request in the project’s conversation
client_portal A request from an authorized client portal user
kanban Someone moved a card on the project’s board
api A direct API call with a Workspace credential
branch Existing commits pushed to a project repository branch
canvas Project context marked on the Canvas
linear A delegation from a Linear issue
github A GitHub issue

Use kanban as the API identifier for the project board.

Sources are enabled by default. New requests go through triage. A request from a branch is different: it brings existing commits into the delivery flow rather than asking for new work.

Configure linear and github to control requests from external issue trackers. Chat, the board, API, client portal, branches and Canvas follow their existing project and repository permissions.

Disable an external source for one project

Section titled “Disable an external source for one project”
Terminal window
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 in the project’s settings window under Environment → Connections, one for each external source.

For each external source, hlix uses the first configured value in this order:

  1. The project’s own setting — what you set above.
  2. The Workspace default — an admin’s default for every project.
  3. The default — enabled.

A project setting overrides the Workspace default.

A blocked request does not become a cycle. The refusal names the setting that blocked it:

Linear intake is turned off for this project
Linear intake is turned off for this workspace

Check the setting named in the message. A Workspace default can block a source even when no project override is set.

If 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.linear and 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.
  • A 400 on the PATCH. Use linear or github as the setting key, with a boolean value.
  • Disabling one external source also appeared to disable another. intake merges, so check that you did not send both keys.
  • Work is arriving from a source you never enabled. Sources are enabled by default; switch off external issue sources you do not want.
  • A 403 on the PATCH. Changing a source needs manage access on the project.
  • The source is enabled and a request still did not become work. Check project access, integration status and the triage outcome. See Triage for how admitted requests are assessed.