Aller au contenu

save_offer

Save the offer

Action · mcp:actIdempotent

Enregistre ce que l'utilisateur vend : le produit, le problème qu'il résout, les preuves (traction, logos, résultats) et les contraintes. Elle remplace l'offre enregistrée.

Description lue par le modèleEnvoyée telle quelle dans tools/list, en anglais.
Save what the user sells in their VibeSell workspace: what is sold, the problem it solves, the proof (traction, logos, results) and the constraints. Only facts the user gave, or that their own website states — read it with your own web tools. It replaces the offer on record.

L'utilisateur dit

On vend un assistant d'accueil IA pour les cabinets dentaires. Enregistre ça comme mon offre.

tools/call · Arguments envoyés par l'assistant
{
"name": "save_offer",
"arguments": {
"whatIsSold": "An AI receptionist that books, moves and confirms appointments for dental clinics, day and night.",
"problemSolved": "Clinics lose patients when the phone rings unanswered, and the front desk spends hours on scheduling.",
"proof": "120 clinics in France; no-shows down 30% on average.",
"constraints": "French-speaking clinics only for now."
}
}
whatIsSoldstringobligatoire3–1000 caractères
problemSolvedstringobligatoire3–1000 caractères
proofstringfacultatif≤ 1000 caractères

Traction, logos, results. Empty if none.

constraintsstringfacultatif≤ 1000 caractères

Budget, timing, exclusions.

Schéma d'entrée
{
"type": "object",
"properties": {
"whatIsSold": {
"type": "string",
"minLength": 3,
"maxLength": 1000
},
"problemSolved": {
"type": "string",
"minLength": 3,
"maxLength": 1000
},
"proof": {
"description": "Traction, logos, results. Empty if none.",
"type": "string",
"maxLength": 1000
},
"constraints": {
"description": "Budget, timing, exclusions.",
"type": "string",
"maxLength": 1000
}
},
"required": ["whatIsSold", "problemSolved"]
}

Sorte de résultatoffer

kind"offer"
briefobjet
  • whatIsSold string
  • problemSolved string
  • proof string
  • constraints string
stepobjet

The journey step, as the VibeSell app numbers it, after this change.

  • index integer
  • total integer
  • label string
appUrlstring
Schéma de sortie
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "offer"
},
"brief": {
"type": "object",
"properties": {
"whatIsSold": {
"type": "string"
},
"problemSolved": {
"type": "string"
},
"proof": {
"type": "string"
},
"constraints": {
"type": "string"
}
},
"required": ["whatIsSold", "problemSolved", "proof", "constraints"],
"additionalProperties": false
},
"step": {
"type": "object",
"properties": {
"index": {
"type": "integer"
},
"total": {
"type": "integer"
},
"label": {
"type": "string"
}
},
"required": ["index", "total", "label"],
"additionalProperties": false,
"description": "The journey step, as the VibeSell app numbers it, after this change."
},
"appUrl": {
"type": "string"
}
},
"required": ["kind", "brief", "step", "appUrl"],
"additionalProperties": false
}
  • Uniquement des faits donnés par l'utilisateur ou écrits sur son propre site.
  • Le MCP VibeSell ne navigue pas : l'assistant lit le site de l'utilisateur avec ses propres outils web.