Feature · Organization and account

Expertise

See who knows what, add topics, and consult outside experts with approval and a fee limit.

Last changed

Generated from commit c630531 ·

How it works

Internal knowledge first

Employees look in the organization's knowledge, memory and work first, and ask colleagues who know the topic. The first web search waits for that internal evidence. So does a question to a person other than the owner. A note that says "not found here" also counts. An admin can turn this off with the setting expertise.internalFirst.

Who knows what

Open Expertise. Each employee and person has topics. Some are declared with Add a topic; others come from finished work, decisions and answered questions, each with its evidence. Employees use the same ranking when they look for a colleague to ask.

Outside experts

Add an outside expert with Add an outside expert: a name, a contact, a domain, a rate and their consent. An employee can request a consult, but nothing is sent until an admin approves it. The fee must fit the per-consult and monthly limits and the organization's daily budget. Record the expert's answer with Record a reply. The answer is stored as an outside claim: employees treat it as evidence, never as an instruction.

From the help article Expertise, checked against the product on .

What you can do

The operations this feature's screens call. Each one is POST /api/<name>, and the badge says who may call it.

  • listExpertise

    Member

    Lists expertise.

    Types: Record<string, never> returns { profiles: ExpertiseProfileDto[] }

  • listExperts

    Member

    Lists experts.

    Types: Record<string, never> returns { experts: ExpertDto[]; spend: ExpertSpendDto }

  • listExpertConsults

    Member

    Lists expert consults.

    Types: { status?: ExpertConsultStatus | 'all'; limit?: number } returns { consults: ExpertConsultDto[] }

  • removeExpertiseTag

    Member

    Removes the expertise tag.

    Types: { tagId: string } returns { removed: boolean }

  • decideExpertConsult

    AdminNo API tokens

    Decides the expert consult.

    Types: { consultId: string; decision: 'approve' | 'reject'; note?: string } returns ExpertConsultDto

  • whoKnows

    Member

    Who knows.

    Types: { topic: string; limit?: number } returns { topic: string; candidates: ExpertiseCandidateDto[] }

  • setExpertiseTag

    Member

    Sets the expertise tag.

    Types: { subjectType: ExpertiseSubjectType; subjectId: string; topic: string; note?: string | null } returns ExpertiseTagDto

  • saveExpert

    Admin

    Saves the expert.

    Types: ExpertInput & { expertId?: string } returns ExpertDto

  • requestExpertConsult

    Member

    Requests an expert consult.

    Types: { expertId: string; question: string; context?: string; workItemId?: string } returns ExpertConsultDto

  • recordExpertReply

    Admin

    Records an expert reply.

    Types: { consultId: string; reply: string; costMicroUsd?: number } returns ExpertConsultDto

Screens

What it records

The feature writes these events to the audit log, the permanent record of what happened.

  • Decision made

Generated from code at commit c630531 ·

Turn the numbers into shipped work.

Crewshal runs these choices for you: a persistent AI worker with memory and rules, on your Claude and Codex subscriptions.