> ## Documentation Index
> Fetch the complete documentation index at: https://docs.janet.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Objectives

> Group tickets around a theme, component, or goal into individual units of work

<div className="img-showcase" style={{ marginBottom: '1.5rem' }}>
  <div className="kb-mock">
    <div className="kb-mock-header">
      <div className="kb-mock-header-left">
        <span className="kb-mock-header-back">
          <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.2" strokeLinecap="round" strokeLinejoin="round">
            <path d="M19 12H5" />

            <path d="M12 19l-7-7 7-7" />
          </svg>
        </span>

        <span className="kb-mock-header-name">Platform</span>
        <span className="kb-mock-header-id">PLT</span>

        <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="#9ca3af" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{margin:'0 -1px'}}>
          <path d="M9 18l6-6-6-6" />
        </svg>

        <span className="kb-mock-header-name">Objectives</span>
      </div>

      <div className="kb-mock-header-right">
        <span style={{fontSize:'9px',fontWeight:600,padding:'3px 8px',borderRadius:'4px',background:'rgba(124,58,237,0.12)',color:'#7c3aed',display:'inline-flex',alignItems:'center',gap:'4px'}}>
          <svg width="8" height="8" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
            <path d="M 22 12 A 10 10 0 1 0 2 12 A 10 10 0 1 0 22 12" />

            <path d="M 18 12 A 6 6 0 1 0 6 12 A 6 6 0 1 0 18 12" />

            <path d="M 14 12 A 2 2 0 1 0 10 12 A 2 2 0 1 0 14 12" />
          </svg>

          Objectives
        </span>

        <span className="kb-mock-create-btn"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round"><path d="M12 5v14M5 12h14" /></svg><span>Create</span></span>
      </div>
    </div>

    <div className="kb-mock-board">
      <div className="kb-mock-col">
        <div className="kb-mock-col-header"><div className="kb-mock-col-header-left"><span className="kb-mock-col-name">To Do</span><span className="kb-mock-col-count">2</span></div><span className="kb-mock-col-add"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M12 5v14" /><path d="M5 12h14" /></svg></span></div>

        <div className="kb-mock-col-body">
          <div className="kb-mock-card" style={{display:'flex',flexDirection:'column',gap:'4px'}}>
            <div style={{display:'flex',alignItems:'center',justifyContent:'flex-end',margin:0}}>
              <span className="kb-mock-priority">
                <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
                  <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="#e08007" />

                  <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#e08007" />

                  <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#e08007" />
                </svg>
              </span>
            </div>

            <div className="kb-mock-card-title" style={{margin:0}}><span>Auth & permissions overhaul</span></div>
            <div style={{fontSize:'9px',color:'#9ca3af',fontWeight:500,margin:0}}>8 tickets · 1 done</div>

            <div style={{display:'flex',alignItems:'center',margin:0}}>
              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/headshot.jpeg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=988a826f2341ee7c6932a28952f470b4" alt="" width="400" height="400" data-path="headshot.jpeg" />
            </div>
          </div>

          <div className="kb-mock-card" style={{display:'flex',flexDirection:'column',gap:'4px'}}>
            <div style={{display:'flex',alignItems:'center',justifyContent:'flex-end',margin:0}}>
              <span className="kb-mock-priority">
                <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
                  <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" className="kb-mock-bar-dim" />

                  <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#65a30d" />

                  <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#65a30d" />
                </svg>
              </span>
            </div>

            <div className="kb-mock-card-title" style={{margin:0}}><span>Mobile app v1</span></div>
            <div style={{fontSize:'9px',color:'#9ca3af',fontWeight:500,margin:0}}>12 tickets · 0 done</div>

            <div style={{display:'flex',alignItems:'center',margin:0}}>
              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/headshot.jpeg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=988a826f2341ee7c6932a28952f470b4" alt="" width="400" height="400" data-path="headshot.jpeg" />

              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/adhit.jpg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=b73da57eff7a0da56c77a646fe8f33cb" alt="" width="400" height="400" data-path="adhit.jpg" />
            </div>
          </div>
        </div>
      </div>

      <div className="kb-mock-col">
        <div className="kb-mock-col-header"><div className="kb-mock-col-header-left"><span className="kb-mock-col-name">In Progress</span><span className="kb-mock-col-count">3</span></div><span className="kb-mock-col-add"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M12 5v14" /><path d="M5 12h14" /></svg></span></div>

        <div className="kb-mock-col-body">
          <div className="kb-mock-card" style={{display:'flex',flexDirection:'column',gap:'4px'}}>
            <div style={{display:'flex',alignItems:'center',justifyContent:'flex-end',margin:0}}>
              <span className="kb-mock-priority">
                <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
                  <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="#e08007" />

                  <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#e08007" />

                  <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#e08007" />
                </svg>
              </span>
            </div>

            <div className="kb-mock-card-title" style={{margin:0}}><span>Ship onboarding v2</span></div>
            <div style={{fontSize:'9px',color:'#9ca3af',fontWeight:500,margin:0}}>5 tickets · 3 done</div>

            <div style={{display:'flex',alignItems:'center',margin:0}}>
              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/adhit.jpg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=b73da57eff7a0da56c77a646fe8f33cb" alt="" width="400" height="400" data-path="adhit.jpg" />
            </div>
          </div>

          <div className="kb-mock-card" style={{display:'flex',flexDirection:'column',gap:'4px'}}>
            <div style={{display:'flex',alignItems:'center',justifyContent:'flex-end',margin:0}}>
              <span className="kb-mock-priority">
                <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
                  <rect x="3" y="2" width="10" height="1.8" rx="0.9" fill="#e11d48" />

                  <rect x="3" y="5.3" width="10" height="1.8" rx="0.9" fill="#e11d48" />

                  <rect x="3" y="8.6" width="10" height="1.8" rx="0.9" fill="#e11d48" />

                  <rect x="3" y="11.9" width="10" height="1.8" rx="0.9" fill="#e11d48" />
                </svg>
              </span>
            </div>

            <div className="kb-mock-card-title" style={{margin:0}}><span>Q2 reliability</span></div>
            <div style={{fontSize:'9px',color:'#9ca3af',fontWeight:500,margin:0}}>9 tickets · 4 done</div>

            <div style={{display:'flex',alignItems:'center',margin:0}}>
              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/headshot.jpeg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=988a826f2341ee7c6932a28952f470b4" alt="" width="400" height="400" data-path="headshot.jpeg" />
            </div>
          </div>

          <div className="kb-mock-card" style={{display:'flex',flexDirection:'column',gap:'4px'}}>
            <div style={{display:'flex',alignItems:'center',justifyContent:'flex-end',margin:0}}>
              <span className="kb-mock-priority">
                <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
                  <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" className="kb-mock-bar-dim" />

                  <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#65a30d" />

                  <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#65a30d" />
                </svg>
              </span>
            </div>

            <div className="kb-mock-card-title" style={{margin:0}}><span>API rate limiting</span></div>
            <div style={{fontSize:'9px',color:'#9ca3af',fontWeight:500,margin:0}}>6 tickets · 2 done</div>

            <div style={{display:'flex',alignItems:'center',margin:0}}>
              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/headshot.jpeg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=988a826f2341ee7c6932a28952f470b4" alt="" width="400" height="400" data-path="headshot.jpeg" />

              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/adhit.jpg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=b73da57eff7a0da56c77a646fe8f33cb" alt="" width="400" height="400" data-path="adhit.jpg" />
            </div>
          </div>
        </div>
      </div>

      <div className="kb-mock-col">
        <div className="kb-mock-col-header"><div className="kb-mock-col-header-left"><span className="kb-mock-col-name">Done</span><span className="kb-mock-col-count">2</span></div><span className="kb-mock-col-add"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M12 5v14" /><path d="M5 12h14" /></svg></span></div>

        <div className="kb-mock-col-body">
          <div className="kb-mock-card" style={{display:'flex',flexDirection:'column',gap:'4px'}}>
            <div style={{display:'flex',alignItems:'center',justifyContent:'flex-end',margin:0}}>
              <span className="kb-mock-priority">
                <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
                  <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="#e08007" />

                  <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#e08007" />

                  <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#e08007" />
                </svg>
              </span>
            </div>

            <div className="kb-mock-card-title" style={{margin:0}}><span>Design system tokens</span></div>
            <div style={{fontSize:'9px',color:'#9ca3af',fontWeight:500,margin:0}}>14 tickets · 14 done</div>

            <div style={{display:'flex',alignItems:'center',margin:0}}>
              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/adhit.jpg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=b73da57eff7a0da56c77a646fe8f33cb" alt="" width="400" height="400" data-path="adhit.jpg" />
            </div>
          </div>

          <div className="kb-mock-card" style={{display:'flex',flexDirection:'column',gap:'4px'}}>
            <div style={{display:'flex',alignItems:'center',justifyContent:'flex-end',margin:0}}>
              <span className="kb-mock-priority">
                <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
                  <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" className="kb-mock-bar-dim" />

                  <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#65a30d" />

                  <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#65a30d" />
                </svg>
              </span>
            </div>

            <div className="kb-mock-card-title" style={{margin:0}}><span>Email notifications</span></div>
            <div style={{fontSize:'9px',color:'#9ca3af',fontWeight:500,margin:0}}>7 tickets · 7 done</div>

            <div style={{display:'flex',alignItems:'center',margin:0}}>
              <img className="kb-mock-avatar-img" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/headshot.jpeg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=988a826f2341ee7c6932a28952f470b4" alt="" width="400" height="400" data-path="headshot.jpeg" />
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

Objectives are **sub-projects** scoped to a specific theme, component, or goal. Each objective has its own status, priority, and assignees. Toggling on the **Objectives View** shows each objective as an individual unit that looks and feels like tickets in your board, to easily group work.

## Creating objectives

Open **Objectives** from the project header (or press **O**), then use **Create** to open the objectives creation modal. Give the objective a name and optional description, and set status, priority, and assignees as needed.

Then, add all tickets related to the objective, or create new tickets directly in the objective. All tickets created in objectives will show in your default board as well.

Right-click an objective card to open the edit panel to update any objective information.

<div className="img-showcase">
  <div className="obj-modal-mock-wrap">
    <div className="obj-modal-mock-panel">
      <div className="obj-modal-mock-head">
        <div className="obj-modal-mock-head-row">
          <div className="obj-modal-mock-badges">
            <span className="obj-modal-mock-status">In Progress</span>

            <span className="obj-modal-mock-prio-btn">
              <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
                <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="#e08007" />

                <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#e08007" />

                <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#e08007" />
              </svg>

              High
            </span>
          </div>
        </div>

        <div className="obj-modal-mock-title">Ship onboarding v2</div>

        <div className="obj-modal-mock-progress-block">
          <div className="obj-modal-mock-progress-labels">
            <span className="obj-modal-mock-progress-text">3 of 5 complete</span>
            <span className="obj-modal-mock-progress-pct">60%</span>
          </div>

          <div className="obj-modal-mock-progress-track">
            <div className="obj-modal-mock-progress-fill" style={{ width: '60%' }} />
          </div>
        </div>
      </div>

      <div className="obj-modal-mock-divider" />

      <div className="obj-modal-mock-scroll">
        <div className="obj-modal-mock-section obj-modal-mock-section-assignees">
          <div className="obj-modal-mock-label">Assignees</div>

          <div className="obj-modal-mock-chips">
            <span className="obj-modal-mock-chip">
              <img className="obj-modal-mock-chip-avatar" src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/headshot.jpeg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=988a826f2341ee7c6932a28952f470b4" alt="" width={18} height={18} data-path="headshot.jpeg" />

              <span className="obj-modal-mock-chip-name">William Barthell</span>
            </span>

            <span className="obj-modal-mock-add">
              <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
                <path d="M12 5v14M5 12h14" />
              </svg>

              Add
            </span>
          </div>
        </div>

        <div className="obj-modal-mock-section obj-modal-mock-section-desc">
          <div className="obj-modal-mock-label">Description</div>

          <div className="obj-modal-mock-desc-text">
            Ship a guided onboarding that gets new orgs to their first successful workflow within minutes: sample project templates,
            checklist-driven setup, and in-product tips tied to each step. Success is measured by activation rate, time-to-first-ticket,
            and reduced support volume for "how do I start?" questions.
          </div>
        </div>

        <div className="obj-modal-mock-divider" />

        <div className="obj-modal-mock-tickets-head">
          <span className="obj-modal-mock-tickets-title">Tickets</span>
          <span className="obj-modal-mock-tickets-badge">5</span>
        </div>

        <div className="obj-modal-mock-subhead">
          <span className="obj-modal-mock-subhead-label">In Progress</span>
        </div>

        <div className="obj-modal-mock-ticket-row">
          <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
            <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="#e08007" />

            <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#e08007" />

            <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#e08007" />
          </svg>

          <span className="obj-modal-mock-ticket-id">PRJ-131</span>
          <span className="obj-modal-mock-ticket-title">Guided setup wizard with sample project templates</span>
        </div>

        <div className="obj-modal-mock-ticket-row">
          <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
            <rect x="3" y="2" width="10" height="1.8" rx="0.9" fill="#e11d48" />

            <rect x="3" y="5.3" width="10" height="1.8" rx="0.9" fill="#e11d48" />

            <rect x="3" y="8.6" width="10" height="1.8" rx="0.9" fill="#e11d48" />

            <rect x="3" y="11.9" width="10" height="1.8" rx="0.9" fill="#e11d48" />
          </svg>

          <span className="obj-modal-mock-ticket-id">PRJ-128</span>
          <span className="obj-modal-mock-ticket-title">Blank org state blocks checklist — fix first-run path</span>
        </div>

        <div className="obj-modal-mock-ticket-row">
          <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
            <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="rgba(200,200,210,0.5)" />

            <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#65a30d" />

            <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#65a30d" />
          </svg>

          <span className="obj-modal-mock-ticket-id">PRJ-125</span>
          <span className="obj-modal-mock-ticket-title">Contextual tips tied to each onboarding step</span>
        </div>

        <div className="obj-modal-mock-subhead">
          <span className="obj-modal-mock-subhead-label">Done</span>
        </div>

        <div className="obj-modal-mock-ticket-row">
          <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
            <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="rgba(200,200,210,0.5)" />

            <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="rgba(200,200,210,0.5)" />

            <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#0ea5e9" />
          </svg>

          <span className="obj-modal-mock-ticket-id">PRJ-134</span>
          <span className="obj-modal-mock-ticket-title">Help center: "Get started" articles for new workspaces</span>
        </div>

        <div className="obj-modal-mock-ticket-row">
          <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
            <rect x="3" y="3.5" width="10" height="1.8" rx="0.9" fill="#e08007" />

            <rect x="3" y="7.1" width="10" height="1.8" rx="0.9" fill="#e08007" />

            <rect x="3" y="10.7" width="10" height="1.8" rx="0.9" fill="#e08007" />
          </svg>

          <span className="obj-modal-mock-ticket-id">PRJ-119</span>
          <span className="obj-modal-mock-ticket-title">Instrument activation funnel (time-to-first-ticket, completion)</span>
        </div>
      </div>

      <div className="obj-modal-mock-footer">
        <span className="obj-modal-mock-footer-add">
          <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
            <path d="M12 5v14M5 12h14" />
          </svg>

          Add tickets
        </span>
      </div>
    </div>
  </div>
</div>

## Viewing objective tickets

* **Kanban** -- With **Objectives** on, the board shows columns for your project statuses and **objective cards** instead of ticket cards. Drag objective cards across columns to update their status. Click an objective to filter down to that objective's tickets.
* **List** -- With **Objectives** on, objectives appear as rows grouped by status, just like the usual list view. Click into an objective to see its tickets.

## Using Janet to manage objectives

Ask the [Janet Agent](/agent) to work with objectives in natural language.

<CardGroup cols={2}>
  <Card title="Create an objective">
    "Create an objective called 'Q2 reliability' in In Progress"
  </Card>

  <Card title="Link tickets">
    "Add PRJ-120 and PRJ-121 to the onboarding rollout objective"
  </Card>

  <Card title="View objective tickets">
    "List all tickets tied to the Ship onboarding v2 objective"
  </Card>

  <Card title="Create and assign">
    "Create a ticket for the billing export and add it to the current objective"
  </Card>
</CardGroup>
