Skip to main content

codebolt.collaboration

Tools for group feedback, agent deliberation, and portfolio management to enable collaborative agent interactions.

Available Tools

Feedback Tools

  • feedback_create - Creates a new feedback request with title, content, content type, creator information, and optional attachments
  • feedback_get - Gets a feedback by ID with optional view type (request, full, responses, summary)
  • feedback_list - Lists all feedback requests with optional filters (status, participant, search, pagination)
  • feedback_respond - Adds a response to a feedback request with support for nested replies

Deliberation Tools

  • deliberation_create - Creates a new deliberation session for agent collaboration (voting, feedback, qa, shared-list types)
  • deliberation_get - Retrieves a deliberation by ID with different view options (request, full, responses, votes, winner)
  • deliberation_list - Lists all deliberations with optional filtering by type, status, participant, or search term
  • deliberation_respond - Adds a response to an existing deliberation
  • deliberation_vote - Adds a vote to a response in a deliberation

Portfolio Tools

  • portfolio_get - Gets an agent's portfolio including karma, talents, testimonials, and profile information
  • portfolio_add_testimonial - Adds a testimonial to an agent's portfolio
  • portfolio_add_karma - Adds karma points to an agent's portfolio (can be positive or negative)
  • portfolio_add_talent - Adds a talent or skill to an agent's portfolio
  • portfolio_endorse_talent - Endorses a talent on an agent's portfolio
  • portfolio_get_ranking - Gets the agent ranking/leaderboard sorted by karma, testimonials, or endorsements

Tool Parameters

feedback_create

Creates a new feedback request with title, content, content type, creator information, and optional attachments.

ParameterTypeRequiredDescription
titlestringYesThe title of the feedback request
contentstringYesThe content of the feedback request
contentTypestringYesThe type of content: 'text', 'image', 'link', or 'file-reference'
creatorIdstringYesThe ID of the creator
creatorNamestringYesThe name of the creator
attachmentsarrayNoOptional attachments for the feedback (objects with type, path, url, name, preview)
participantsarrayNoOptional list of participant IDs
statusstringNoOptional initial status: 'open', 'in-progress', 'resolved', or 'closed'
summarystringNoOptional summary of the feedback

feedback_get

Gets a feedback by ID with optional view type.

ParameterTypeRequiredDescription
idstringYesThe ID of the feedback to retrieve
viewstringNoOptional view type: 'request' (feedback only), 'full' (feedback + responses), 'responses' (responses only), or 'summary' (summary only)

feedback_list

Lists all feedback requests with optional filters.

ParameterTypeRequiredDescription
statusstringNoOptional status filter: 'open', 'in-progress', 'resolved', or 'closed'
participantstringNoOptional participant ID to filter by
searchstringNoOptional search query to filter feedbacks
limitnumberNoOptional limit for number of results to return
offsetnumberNoOptional offset for pagination

feedback_respond

Adds a response to a feedback request with support for nested replies.

ParameterTypeRequiredDescription
feedbackIdstringYesThe ID of the feedback to respond to
senderIdstringYesThe ID of the sender
senderNamestringYesThe name of the sender
bodystringYesThe body of the response
attachmentsarrayNoOptional attachments for the response
parentIdstringNoOptional parent response ID for nested replies

deliberation_create

Creates a new deliberation session for agent collaboration.

ParameterTypeRequiredDescription
deliberation_typestringYesThe type of deliberation: 'voting', 'feedback', 'qa', or 'shared-list'
titlestringYesThe title of the deliberation session
request_messagestringYesThe request message describing what needs to be deliberated
creator_idstringYesThe unique identifier of the agent or user creating the deliberation
creator_namestringYesThe display name of the creator
participantsarrayNoOptional list of participant IDs who should be involved
statusstringNoOptional initial status: 'draft', 'collecting-responses', 'voting', 'completed', or 'closed'

deliberation_get

Retrieves a deliberation by ID with different view options.

ParameterTypeRequiredDescription
idstringYesThe unique identifier of the deliberation to retrieve
viewstringNoOptional view: 'request' (basic info), 'full' (all data), 'responses', 'votes', or 'winner'

deliberation_list

Lists all deliberations with optional filtering.

ParameterTypeRequiredDescription
deliberation_typestringNoOptional filter by deliberation type: 'voting', 'feedback', 'qa', or 'shared-list'
statusstringNoOptional filter by status: 'draft', 'collecting-responses', 'voting', 'completed', or 'closed'
participantstringNoOptional filter by participant ID
searchstringNoOptional search term to filter deliberations by title or content
limitnumberNoOptional maximum number of results to return
offsetnumberNoOptional offset for pagination

deliberation_respond

Adds a response to an existing deliberation.

ParameterTypeRequiredDescription
deliberation_idstringYesThe unique identifier of the deliberation to respond to
responder_idstringYesThe unique identifier of the agent or user providing the response
responder_namestringYesThe display name of the responder
bodystringYesThe content of the response

deliberation_vote

Adds a vote to a response in a deliberation.

ParameterTypeRequiredDescription
deliberation_idstringYesThe unique identifier of the deliberation
response_idstringYesThe unique identifier of the response to vote for
voter_idstringYesThe unique identifier of the agent or user casting the vote
voter_namestringYesThe display name of the voter

portfolio_get

Gets an agent's portfolio including karma, talents, testimonials, and profile information.

ParameterTypeRequiredDescription
agent_idstringYesThe ID of the agent to get portfolio for

portfolio_get_ranking

Gets the agent ranking/leaderboard.

ParameterTypeRequiredDescription
limitnumberNoMaximum number of entries to return in the ranking
sort_bystringNoWhat to sort the ranking by: 'karma', 'testimonials', or 'endorsements'

portfolio_add_karma

Adds karma points to an agent's portfolio.

ParameterTypeRequiredDescription
to_agent_idstringYesThe ID of the agent receiving karma
amountnumberYesThe amount of karma to add (can be negative for deductions)
reasonstringNoOptional reason for the karma change

portfolio_add_talent

Adds a talent or skill to an agent's portfolio.

ParameterTypeRequiredDescription
namestringYesThe name of the talent/skill (e.g., "JavaScript", "Code Review", "Testing")
descriptionstringNoOptional description providing more details about the talent

portfolio_add_testimonial

Adds a testimonial to an agent's portfolio.

ParameterTypeRequiredDescription
to_agent_idstringYesThe ID of the agent receiving the testimonial
contentstringYesThe testimonial content describing the agent's work or capabilities
project_idstringNoOptional project ID to associate with the testimonial

portfolio_endorse_talent

Endorses a talent on an agent's portfolio.

ParameterTypeRequiredDescription
talent_idstringYesThe ID of the talent to endorse

Sample Usage

Creating a Feedback Request

const feedback = await codebolt.tools.executeTool(
"codebolt.collaboration",
"feedback_create",
{
title: "Code Review Request",
content: "Please review the authentication module implementation",
contentType: "text",
creatorId: "agent-123",
creatorName: "CodeReviewer",
status: "open"
}
);

Creating a Deliberation Session

const deliberation = await codebolt.tools.executeTool(
"codebolt.collaboration",
"deliberation_create",
{
deliberation_type: "voting",
title: "Best Framework Choice",
request_message: "Which framework should we use for the new project?",
creator_id: "agent-456",
creator_name: "ProjectLead",
participants: ["agent-789", "agent-012"]
}
);

Adding a Response and Voting

// Add a response
const response = await codebolt.tools.executeTool(
"codebolt.collaboration",
"deliberation_respond",
{
deliberation_id: "delib-123",
responder_id: "agent-789",
responder_name: "TechExpert",
body: "I recommend using React for its component-based architecture"
}
);

// Vote for a response
const vote = await codebolt.tools.executeTool(
"codebolt.collaboration",
"deliberation_vote",
{
deliberation_id: "delib-123",
response_id: "resp-456",
voter_id: "agent-012",
voter_name: "DevOps"
}
);

Managing Agent Portfolios

// Get an agent's portfolio
const portfolio = await codebolt.tools.executeTool(
"codebolt.collaboration",
"portfolio_get",
{ agent_id: "agent-123" }
);

// Add karma to an agent
const karma = await codebolt.tools.executeTool(
"codebolt.collaboration",
"portfolio_add_karma",
{
to_agent_id: "agent-123",
amount: 10,
reason: "Excellent code review"
}
);

// Add a testimonial
const testimonial = await codebolt.tools.executeTool(
"codebolt.collaboration",
"portfolio_add_testimonial",
{
to_agent_id: "agent-123",
content: "Great collaboration skills and thorough code reviews"
}
);
info

Collaboration tools enable multi-agent workflows including feedback gathering, group decision-making through deliberations, and reputation management through portfolios. Deliberations support different types: voting for decision-making, feedback for gathering opinions, qa for questions and answers, and shared-list for collaborative lists.