Aller au contenu
subagentdocs
Sommaire de la documentation

Documentation › Outils › save_campaign

save_campaign

Voir en .md

Crée ou modifie un brouillon : une boîte, une audience et une séquence de 1 à 4 étapes, avec 1 à 3 variantes par étape.

En bref

PropriétéValeur
TitrePréparer une campagne
Outil MCPsave_campaign, sur https://api.subagent.fr/mcp
Appel HTTPPOST https://api.subagent.fr/v1/save_campaign
Accèspermission send
État de l’espacevérifié : sinon, refus space_unverified
Effetécriture
Vue dans l’assistantoui : voir Vues

Ce que fait l’outil

Le serveur décrit l’outil ainsi à l’agent qui se branche :

Crée ou modifie un brouillon : une boîte, une audience et une séquence de 1 à 4 étapes, avec 1 à 3 variantes par étape. Les champs {{prenom}}, {{societe}}… viennent des contacts. Un champ vide bloque l’envoi. Seul {{unsubscribe_url}} est remplacé au départ.

Paramètres

save_campaign accepte ces paramètres. Un paramètre inconnu est refusé avec le code invalid_argument.

ParamètreTypeObligatoireDescription
campaign_ididentifiant cmp_…nonBrouillon à modifier, facultatif.
nametexteouiNom. 160 caractères au plus.
inbox_ididentifiant inb_…ouiBoîte expéditrice.
from_addresstextenonAdresse principale ou alias de cette boîte.
audience_ididentifiant aud_…nonAudience.
reply_totextenonAdresse de réponse facultative.
stepslisteoui

Résultat

L’outil rend un texte lisible en français et un objet structuré (structuredContent). En HTTP, la réponse est cet objet.

ChampTypeContenu
campaignobjetUne campagne : id (cmp_…), name, status (draft, scheduled, running, paused, completed, stopped), archived, inbox_id, from_address, audience_id, reply_to, steps (de 1 à 4 étapes : delay_days et variants, chacune avec subject, text, html), starts_at, status_reason, source, previous (dans get_campaign : les étapes qu’une correction a remplacées, avec l’auteur et l’heure de la correction), created_at, updated_at.

Exemple d’appel

Les valeurs sont fictives.

HTTP

curl -X POST https://api.subagent.fr/v1/save_campaign \
  -H "Authorization: Bearer $SUBAGENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Rentrée",
  "inbox_id": "inb_3f9c2a7e5b1d4c8e9a0f6b2d7c4e1a95",
  "audience_id": "aud_3c8f1a5e9d2b47c6a0e4f81b7d5c9e26",
  "steps": [
    {
      "variants": [
        {
          "subject": "Vos chantiers de la rentrée",
          "text": "Bonjour {{prenom}},\n\nUn mot sur vos chantiers.\n\n{{unsubscribe_url}}"
        }
      ]
    }
  ]
}'

MCP · tools/call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "save_campaign",
    "arguments": {
      "name": "Rentrée",
      "inbox_id": "inb_3f9c2a7e5b1d4c8e9a0f6b2d7c4e1a95",
      "audience_id": "aud_3c8f1a5e9d2b47c6a0e4f81b7d5c9e26",
      "steps": [
        {
          "variants": [
            {
              "subject": "Vos chantiers de la rentrée",
              "text": "Bonjour {{prenom}},\n\nUn mot sur vos chantiers.\n\n{{unsubscribe_url}}"
            }
          ]
        }
      ]
    }
  }
}

Refus possibles

CodeHTTPCe qui s’est passéQue faire
campaign_not_editable409La campagne n’est plus un brouillon (lancée, terminée, arrêtée) ou vient d’un autre outil : elle ne se modifie plus.La dupliquer avec campaign_action (duplicate), puis corriger la copie.
audience_scope403Les audiences demandent un accès à toutes les boîtes de l’espace ; cette clé est limitée à certaines.Passer par une clé qui accède à tout l’espace, ou par l’assistant de l’humain.

S’y ajoutent les refus communs à tous les outils (unauthorized, forbidden, invalid_argument, rate_limited, internal) : voir Erreurs.

Voir aussi

Cette page en Markdown : /docs/reference/save_campaign.md Toute la documentation pour un agent : /llms.txt Mentions légales · Conditions de vente · Confidentialité · Signaler un abus