Learnings#

See how an AI assistant can help with learnings in Brandwave, including example prompts and the details it may ask for.

Using your AI assistant

Connect to the Brandwave MCP server, then ask your AI assistant in natural language. It will choose the right Brandwave task and ask for any details it needs.

List learnings#

List one campaign's learnings: its decisions, rationale, assumptions, risks, lessons and recommendations for next time.

Tool name: list_learnings. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.

Example prompt#

text
List all learnings in my workspace.

Details to provide#

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
campaignIdstring (UUID)RequiredUnique identifier (UUID v4).

What you'll get back#

Returns { items, totalCount, facets, _meta } with paginated results.

Search learnings#

Search learnings across every campaign in the workspace by text and type, so a past lesson or decision turns up without knowing which campaign it came from.

Tool name: search_learnings. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.

Example prompt#

text
Show me the details for this learnings.

Details to provide#

NameTypeRequiredDescription
pageIndexintegerRequiredZero-based page index for pagination.
pageSizeintegerRequiredNumber of items per page (1-100).
workspaceIdstring (UUID)RequiredWorkspace identifier.
searchTermstring—Free-text term matched against learning titles and wording.
learningTypesArray<'decision' | 'rationale' | 'hypothesis' | 'assumption' | 'creative_strategy' | 'agency_recommendation' | 'impact_mechanism' | 'risk' | 'constraint' | 'lesson' | 'future_recommendation'>—Restrict results to these learning types. Defaults to every type.
campaignIdstring (UUID)—Restrict results to one campaign, for example to re-read its own history.
excludeCampaignIdstring (UUID)—Omit one campaign, so the current campaign does not crowd out past learnings.

What you'll get back#

Returns { items, totalCount, facets, _meta } with paginated results.

Get learning#

Get one learning with who recorded it, the original author and date, its current revision number, and the other learnings or source files it references.

Tool name: get_learning. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.

Example prompt#

text
Show me the details for this learning.

Details to provide#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

What you'll get back#

Returns { data, _meta } with the result.

List learning revisions#

List every revision of one learning, including changes to its type, title, wording, attribution and references, so a correction can be told apart from the original wording.

Tool name: list_learning_revisions. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.

Example prompt#

text
List all learning revisions in my workspace.

Details to provide#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

What you'll get back#

Returns { items, totalCount, facets, _meta } with paginated results.

Create learning#

Record a learning on a campaign: its type (decision, rationale, assumption, risk, lesson and others), a title and the wording. It can also carry the original author and date, and the past learnings or source files it was based on.

Tool name: create_learning. Protocol hints: readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false.

Example prompt#

text
Create a new learning.

Details to provide#

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
campaignIdstring (UUID)RequiredUnique identifier (UUID v4).
learningType'decision' | 'rationale' | 'hypothesis' | 'assumption' | 'creative_strategy' | 'agency_recommendation' | 'impact_mechanism' | 'risk' | 'constraint' | 'lesson' | 'future_recommendation'RequiredThe type of learning: decision, rationale, hypothesis, assumption, creative_strategy, agency_recommendation, impact_mechanism, risk, constraint, lesson, or future_recommendation.
titlestringRequiredOne-line summary of the learning.
contentstringRequiredFull wording of the decision, reasoning, risk or lesson.
authorNamestring | null—Who originally wrote it, when that differs from the user recording it.
authoredAtstring | null—Date (YYYY-MM-DD) it was originally written, when known.
referencesArray<unknown>—Past learnings or attached source files this learning was based on. A reference to a learning may pin the exact revision that was read.

What you'll get back#

Returns { data, _meta } with the result.

Update learning#

Update the title, wording, type, author, authored date or references of one learning, recorded as a new revision. Pass expectedRevisionNumber to get a conflict back instead of overwriting a change someone else saved first.

Tool name: update_learning. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.

Example prompt#

text
Update the learning.

Details to provide#

NameTypeRequiredDescription
learningType'decision' | 'rationale' | 'hypothesis' | 'assumption' | 'creative_strategy' | 'agency_recommendation' | 'impact_mechanism' | 'risk' | 'constraint' | 'lesson' | 'future_recommendation'—The type of learning: decision, rationale, hypothesis, assumption, creative_strategy, agency_recommendation, impact_mechanism, risk, constraint, lesson, or future_recommendation.
titlestring—One-line summary of the learning.
contentstring—Full wording of the decision, reasoning, risk or lesson.
authorNamestring | null—Who originally wrote it, when that differs from the user recording it.
authoredAtstring | null—Date (YYYY-MM-DD) it was originally written, when known.
referencesArray<unknown>—Past learnings or attached source files this learning was based on. A reference to a learning may pin the exact revision that was read.
idstring (UUID)RequiredUnique identifier (UUID v4).
expectedRevisionNumberinteger—

What you'll get back#

Returns { data, _meta } with the result.

Delete learning#

Delete one learning. It is soft deleted and keeps its revision history.

Tool name: delete_learning. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.

Example prompt#

text
Delete this learning.

Details to provide#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

What you'll get back#

Returns { data, _meta } with the result.