Opportunities

An Opportunity is a positive scheduling signal — a window where a task could start earlier, a resource that could take on more work, or a task that could be safely delegated. Like conflicts, opportunities are created automatically by the scheduling engine.

When to use client.opportunities

  • Proactively surfacing schedule optimizations to operations staff
  • Automating resource reallocation when opportunities are detected
  • Building a scheduling assistant that suggests when to pull work forward

Methods

MethodDescription
list(opts?)List opportunities
get(opportunityId)Fetch a single opportunity
dismiss(opportunityId)Mark as dismissed

opportunities.list(opts?)

typescript
const { data: opportunities } = await client.opportunities.list({ dismissed: false })
 
for (const opp of opportunities) {
  console.log(opp.type, opp.description)
  if (opp.windowStart && opp.windowEnd) {
    console.log('Available window:', opp.windowStart, '→', opp.windowEnd)
  }
}

Opportunity types

TypeMeaning
fits_availabilityA task fits within a resource's available window and could start sooner
prep_window_openThere is prep time available before a constrained task
can_delegateA task could be delegated to a suggested actor

opportunities.dismiss(opportunityId)

typescript
await client.opportunities.dismiss('opp_abc123')

Type reference

typescript
interface Opportunity {
  id: string
  taskId: string
  type: string
  description: string
  suggestedActorId: string | null
  windowStart: string | null
  windowEnd: string | null
  dismissedAt: string | null
  createdAt: string
}
  • Conflicts — the complementary negative signals
  • Resources — opportunities often suggest specific resources