Skip to main content
Glama
silamir

boondmanager-mcp-server

by silamir

Modifier un(e) opportunité

boond_opportunities_update
Idempotent

Update an existing opportunity by ID, modifying only the specified fields while leaving others unchanged. Ideal for partial edits without recreating the record.

Instructions

Met à jour un(e) opportunité existant(e), identifié(e) par son ID.

Quand : pour modifier quelques champs d'un enregistrement déjà en base. Plutôt que : boond_opportunities_create si l'enregistrement n'existe pas encore, ou boond_find pour résoudre un nom / un e-mail en ID.

  • Mise à jour partielle : seuls les champs fournis sont écrits, les autres sont laissés en place.

  • Attention aux champs de type tableau, qui sont remplacés et non fusionnés.

  • boond_rights_get dit si l'utilisateur a ce droit sur l'enregistrement avant d'essayer (un 403 évité).

Returns : confirmation et fiche mise à jour.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesID de l'opportunité à modifier
nameNoNom / titre
noteNoDescription de l'opportunité (mappée sur /data/attributes/description)
stateNoÉtat de l'opportunité
poleIdNoID du pôle (relation pole)
typeOfNoType d'opportunité : ID numérique du dictionnaire setting.typeOf.project (ex: 1, 3), via boond_application_dictionary
endDateNoDate de fin prévue (YYYY-MM-DD)
agencyIdNoID de l'agence (relation agency)
criteriaNoCritères / compétences recherchées (texte libre). Alimente le matching de boond_workflow_candidats_pour_opportunite.
companyIdNoID de la société cliente (relation company)
contactIdNoID du contact associé (relation contact)
startDateNoDate de début prévue (YYYY-MM-DD ou 'immediate')
hrManagerIdNoID de la ressource responsable RH (relation hrManager)
expertiseAreaNoDomaine d'expertise : ID du dictionnaire setting.expertiseArea (via boond_application_dictionary)
mainManagerIdNoID de la ressource responsable principal / commercial (relation mainManager)
turnoverEstimatedExcludingTaxNoChiffre d'affaires estimé HT (montant)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoIdentifiant de l'entité créée/modifiée
typeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv2.17.0
    • addedInput schema / properties / agencyId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / companyId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / contactId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / hrManagerId / pattern
      Added value: +"^\\d+$"
    • removedInput schema / properties / id / minLength
      Removed value: -1
    • addedInput schema / properties / id / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / mainManagerId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / poleId / pattern
      Added value: +"^\\d+$"
  2. Changed2 schema fields changedv2.12.2
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
  3. Changed16 schema fields changedv2.7.0
    • addedInput schema / properties / agencyId
      Added value: +{
      +  "description": "ID de l'agence (relation agency)",
      +  "type": "string"
      +}
    • addedInput schema / properties / companyId
      Added value: +{
      +  "description": "ID de la société cliente (relation company)",
      +  "type": "string"
      +}
    • addedInput schema / properties / contactId
      Added value: +{
      +  "description": "ID du contact associé (relation contact)",
      +  "type": "string"
      +}
    • addedInput schema / properties / criteria
      Added value: +{
      +  "description": "Critères / compétences recherchées (texte libre). Alimente le matching de boond_workflow_candidats_pour_opportunite.",
      +  "maxLength": 5000,
      +  "type": "string"
      +}
    • changedInput schema / properties / endDate / description
      Previous value: -"Date de fin (YYYY-MM-DD)"New value: +"Date de fin prévue (YYYY-MM-DD)"
    • addedInput schema / properties / expertiseArea
      Added value: +{
      +  "description": "Domaine d'expertise : ID du dictionnaire setting.expertiseArea (via boond_application_dictionary)",
      +  "type": "string"
      +}
    • addedInput schema / properties / hrManagerId
      Added value: +{
      +  "description": "ID de la ressource responsable RH (relation hrManager)",
      +  "type": "string"
      +}
    • addedInput schema / properties / mainManagerId
      Added value: +{
      +  "description": "ID de la ressource responsable principal / commercial (relation mainManager)",
      +  "type": "string"
      +}
    • changedInput schema / properties / note / description
      Previous value: -"Notes"New value: +"Description de l'opportunité (mappée sur /data/attributes/description)"
    • addedInput schema / properties / note / maxLength
      Added value: +65000
    • addedInput schema / properties / poleId
      Added value: +{
      +  "description": "ID du pôle (relation pole)",
      +  "type": "string"
      +}
    • changedInput schema / properties / startDate / description
      Previous value: -"Date de début (YYYY-MM-DD)"New value: +"Date de début prévue (YYYY-MM-DD ou 'immediate')"
    • changedInput schema / properties / state / description
      Previous value: -"État"New value: +"État de l'opportunité"
    • addedInput schema / properties / turnoverEstimatedExcludingTax
      Added value: +{
      +  "description": "Chiffre d'affaires estimé HT (montant)",
      +  "type": "number"
      +}
    • addedInput schema / properties / typeOf
      Added value: +{
      +  "description": "Type d'opportunité : ID numérique du dictionnaire setting.typeOf.project (ex: 1, 3), via boond_application_dictionary",
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "id": {
      +      "description": "Identifiant de l'entité créée/modifiée",
      +      "type": "string"
      +    },
      +    "type": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observedv2.1.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Les annotations indiquent déjà que l'outil n'est pas en lecture seule et non destructif, mais la description ajoute des détails comportementaux essentiels : mise à jour partielle (seuls les champs fournis sont écrits), remplacement des tableaux au lieu d'une fusion, et la vérification des droits pour éviter un 403. Aucune contradiction avec les annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

La description est bien structurée : phrase d'ouverture sur le but, sections 'Quand' et 'Plutôt que', liste à puces pour les comportements, et retour. Elle est concise, sans verbiage, et chaque phrase apporte une information utile.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Pour un outil de mise à jour avec 16 paramètres, la description couvre l'usage, les alternatives, les détails comportementaux clés (partiel, tableaux, droits) et le format de retour. Elle ne manque pas d'informations critiques, surtout que le schéma de sortie existe déjà.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

La couverture du schéma est de 100 % (chaque paramètre a une description), donc le niveau de base est 3. La description apporte une valeur supplémentaire en expliquant que seuls les champs fournis sont mis à jour (mise à jour partielle) et en avertissant sur le comportement des tableaux, ce qui clarifie l'interprétation des paramètres au-delà du schéma.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

La description indique clairement que l'outil met à jour une opportunité existante via son ID, et elle le distingue explicitement de boond_opportunities_create et boond_find, ce qui évite toute ambiguïté avec les outils frères.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

La section 'Quand' précise le cas d'usage (modifier quelques champs d'un enregistrement déjà en base), et 'Plutôt que' nomme les alternatives avec leurs conditions. Elle recommande aussi de vérifier les droits via boond_rights_get avant d'appeler, ce qui guide clairement l'agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools