Tasks
Track compliance work in Probo with task states, priorities, assignees, comments, recurring deadlines, optional links to internal controls, and Linear sync.
Tasks are the work items behind your compliance program: implementing a control, collecting evidence, remediating a finding, or reviewing a vendor. Each task belongs to an organization and can be linked to an internal control.
Open Tasks in the organization to search, filter, and reorder the list. An internal control also has a Tasks tab for the work attached to that control.
Create a task
Section titled “Create a task”Owners and admins can create tasks. Viewers can read tasks, comments, and activity.
A new task needs a name. Everything else is optional:
| Field | Description |
|---|---|
| Name | Up to 1,000 bytes. Shown in the list and on the task page. |
| Description | Rich text, up to 5,000 characters of text. |
| State | Where the work sits. Defaults to To do. |
| Priority | Urgent, High, Medium, or Low. Defaults to Medium. |
| Assignee | An organization member. |
| Internal control | The control this work implements. Set it on the task, or create the task from the control’s Tasks tab. |
| Deadline | When the work is due. |
| Time estimate | Expected effort, as an ISO-8601 duration such as PT2H or P1D. The maximum is 1,000 hours. |
| Repeats | How often the task repeats. Requires a deadline. See Recurring tasks. |
The list can be searched by name and filtered by state or assignee. Drag a task to change its order. Dropping it next to tasks of another priority updates its priority too.
States
Section titled “States”| State | Meaning |
|---|---|
| Backlog | Recorded, and not ready to start |
| To do | Ready to start |
| In progress | Someone is working on it |
| Done | Finished |
| Canceled | Stopped |
| Duplicate | The same work is already tracked elsewhere |
Priorities
Section titled “Priorities”Urgent, High, Medium, and Low. The list orders by priority rank by default, then by the manual rank inside that priority.
Recurring tasks
Section titled “Recurring tasks”Set a recurrence interval together with a deadline. The interval is an ISO-8601 duration, for example P7D (every week), P1M (every month), or P1Y (every year). The longest interval is 10 years.
When the deadline passes, Probo creates the next task:
- The new task copies the name, description, priority, assignee, time estimate, internal control, and interval.
- Its state is To do.
- Its deadline is the next occurrence after now. Missed cycles collapse into that single next occurrence.
- Recurrence is cleared on the task that just came due, and kept on the new one.
Comments and activity
Section titled “Comments and activity”The task page has a comment thread and an activity log.
Comments are rich text, up to 5,000 characters. The author can edit or delete their own comment. Owners and admins can delete any comment.
Activity records creates and updates for the name, description, state, priority, assignee, internal control, deadline, and time estimate. Each entry stores the previous value and the new value.
Linear
Section titled “Linear”Linear sync keeps a Probo task and a Linear issue aligned: title, description, state, priority, deadline, assignee, and comments. A task has one Linear link.
Task sync uses the Linear Sync connection in Tasks settings. The Linear source under Access Reviews reads workspace members for access reviews.
Connect Linear
Section titled “Connect Linear”- Open Tasks in the organization.
- Open Settings.
- Under Task integrations, choose Connect next to Linear Sync, and approve the Linear consent screen.
The connection needs permission to read and write issues, including creating them. If an older connection only has read access, use Reconnect on the same screen before publishing or linking.
After Linear is connected, each task shows a Linear field. The create-task dialog can also publish or link as part of creating the task.
Publish or link
Section titled “Publish or link”Publish creates a new Linear issue in the team you pick. Probo leaves the task as it is, adds a Probo task link on the Linear issue, and starts syncing.
Link attaches the task to an issue that already exists in that team. Linking copies the issue onto the task: name, description, state, priority, and deadline. Existing comments are copied in both directions. The console asks you to confirm, because those task fields are replaced by the issue.
Publishing or linking a task that already points at a different Linear issue archives the previous issue.
Creating an issue in Linear on its own leaves Probo unchanged. Sync applies to issues that are already linked to a task.
What stays in sync
Section titled “What stays in sync”Once a task is linked, edits on either side update the other:
| Field | Behavior |
|---|---|
| Name | The Linear issue title |
| Description | Converted between the Probo editor and Linear markdown |
| State | Mapped to the team’s workflow state types. See State mapping. |
| Priority | Mapped to Linear’s priority scale. See Priority mapping. |
| Deadline | The Linear due date |
| Assignee | Matched by email. See Assignees. |
| Comments | Created, edited, and deleted on both sides |
Probo picks the first workflow state of the matching type in the team (the one with the lowest position). A description that contains content the task editor cannot store, such as an image inside a paragraph, is dropped on the way into Probo and the rest of the description is kept.
Time estimate, recurrence, internal control, and rank stay in Probo.
Edits that Probo itself wrote to Linear are ignored when Linear echoes them back, so the two sides do not overwrite each other in a loop.
State mapping
Section titled “State mapping”| Probo state | Linear workflow type |
|---|---|
| Backlog | backlog, or triage when the team has no backlog state |
| To do | unstarted |
| In progress | started |
| Done | completed |
| Canceled | canceled |
| Duplicate | canceled |
Updates coming from Linear use the same types. backlog and triage become Backlog. unstarted becomes To do. canceled becomes Canceled, including when the Probo task was Duplicate.
Priority mapping
Section titled “Priority mapping”| Probo | Linear priority |
|---|---|
| Urgent | Urgent (1) |
| High | High (2) |
| Medium | Medium (3) |
| Low | Low (4) |
A Linear issue with no priority keeps the priority already set in Probo. Probo leaves that empty Linear priority in place until someone changes the priority on the task.
Assignees
Section titled “Assignees”Probo matches people by email.
- An assignee set in Linear is applied when that email belongs to a member of the organization.
- An assignee set in Probo is applied in Linear when the member’s primary email, or one of their additional emails, belongs to a Linear user.
When no matching person is found, the assignee on the receiving side stays as it is.
Comments
Section titled “Comments”Comments on a linked task and its Linear issue stay in sync. A comment removed in Linear is removed in Probo. The comment author is the organization member with the same email; when nobody matches, the comment is stored without an owner.
Stop syncing
Section titled “Stop syncing”Unlink on the task removes the connection. The Probo task and the Linear issue both remain, including their comments. Later edits stay on the side where they were made.
Deleting the Linear issue also removes the connection and leaves the Probo task in place. Deleting the Probo task leaves the Linear issue in place.
Self-hosting
Section titled “Self-hosting”Probo Cloud already has the Linear OAuth application. A self-hosted deployment needs its own.
Create a Linear OAuth application and point it at your Probo instance:
| Linear setting | Value |
|---|---|
| Redirect URL | https://your-domain/api/console/v1/connectors/complete |
| Scopes | read, write, issues:create |
| Webhook URL | https://your-domain/api/linear/v1/webhooks |
| Webhook signing secret | A secret you also configure on Probo |
Subscribe the webhook to Issue and Comment events. Probo checks the Linear-Signature header (HMAC-SHA256 of the raw body) and requires a Linear-Delivery id. Probo requests the application actor (actor=app) during authorization.
Then set the connector credentials. Environment variables:
PROBOD_CONNECTOR_LINEAR_SYNC_CLIENT_ID="your-linear-client-id"PROBOD_CONNECTOR_LINEAR_SYNC_CLIENT_SECRET="your-linear-client-secret"PROBOD_CONNECTOR_LINEAR_SYNC_WEBHOOK_SECRET="your-webhook-signing-secret"Or the same values in the config file:
connectors: - provider: "LINEAR_SYNC" protocol: "oauth2" config: client-id: "your-linear-client-id" client-secret: "your-linear-client-secret" settings: webhook-secret: "your-webhook-signing-secret"Access reviews use a LINEAR connector. Task sync uses LINEAR_SYNC. See Environment variables and Config file.