Aller à la documentation
DocumentationApprobations

Approbations et autorisations

Choisissez quels appels attendent une personne, répondez à la carte et sachez ce que fait l’agent pendant l’attente.

Sur cette page

Par défaut, chaque appel passe directement. C’est vous qui choisissez où un appel attend une personne : un agent, une connexion et une classe à la fois.

Choisir les appels qui vous attendent

Ouvrez Agents et choisissez l’agent. Sa liste « Accès » compte une ligne par connexion.

  • Activez « Demander à chaque appel » pour approuver chaque appel de cette connexion.
  • Ou réglez une à une les colonnes « Lecture », « Écriture » et « Destructive ». « Automatique » exécute l’appel, « Approbation requise » attend une personne, « Refusé » le rejette.
  • Cochez « Code » pour exiger un code à six chiffres de l’application d’authentification sur les appels destructifs. La colonne apparaît une fois « Application d’authentification » configurée dans Paramètres.

Sallyport classe un appel selon sa méthode HTTP. GET, HEAD et OPTIONS lisent. POST, PUT et PATCH écrivent. DELETE et toute autre méthode sont destructifs. Une lecture devient une écriture quand un segment du chemin commence par un mot comme send, run, exec, build, trigger, invoke ou webhook. La recette d’un service peut ajuster cela pour les appels qu’elle connaît.

Un appel qui dépasse un budget que vous avez fixé attend, voir Limites.

Où la carte vous parvient

La carte va à la personne pour qui l’agent agit et à chaque propriétaire et administrateur. La première réponse décide. Réglez les canaux dans Notifications.

CanalFonctionnement
ConsoleLa carte s’ouvre dans le coin de n’importe quel écran, et la ligne « Approbations » compte ce qui attend. « Cartes dans la console » désactive la carte du coin.
Navigateur« Envoyer les cartes à ce navigateur » livre les cartes console fermée. Si le navigateur les a bloquées, autorisez les notifications dans les réglages du site et rechargez.
TelegramAppuyez sur « Connecter Telegram », puis « Ouvrez le bot et appuyez sur Start ». Seul un chat privé reçoit les cartes, avec les boutons Approve, Deny et Approve for 1 hour.
E-mailDésactivé par défaut. « Envoyer les cartes par e-mail » l’active, et chaque e-mail contient un lien vers la carte.
L’agentL’agent vous montre approve_url. Ce lien ouvre la même carte à l’adresse https://my.sallyport.cloud/approve/<call_id>.

Chaque canal connecté a « Envoyer un test ». Le tableau « Quoi arrive où » choisit les événements envoyés au navigateur, à Telegram et par e-mail. Pour un appel destructif, Telegram ne propose que Deny et un lien vers la carte.

Répondre à la carte

La carte montre ce qui sera envoyé, quel agent demande et depuis quel espace de travail. « Détails » contient la règle, la clé, l’ID de l’appel, l’échéance et les mots de l’agent, marqués comme non vérifiés. La carte montre chaque partie de la requête jusqu’à 2 Kio. Quand une partie est plus longue, elle le dit au-dessus des boutons, et « Afficher la requête entière » la charge en entier. Détails montre aussi un en-tête que l’agent a envoyé à la place de la clé, avec la valeur envoyée ; cet en-tête ne part pas.

BoutonEffet
ApprouverExécute ce seul appel.
RefuserOuvre le champ « Motif » ; appuyez de nouveau sur « Refuser » pour envoyer. L’agent lit le motif et ne répète pas l’appel.
Approuver GET /client/v4/zones pendant 24 h, jusqu’à 200 appelsExécute l’appel et crée une autorisation. Le même agent, la même connexion, la même classe et le même chemin passent ensuite sans carte jusqu’à épuisement du temps ou du nombre d’appels.
Autoriser désormais toute lecture sur api.cloudflare.comExécute l’appel et met cette classe sur « Automatique » pour cet agent sur cette connexion. Seuls les propriétaires et administrateurs le voient.
ConfierPasse la carte à un autre propriétaire, administrateur ou approbateur.

Approuver un appel destructif demande aussi un motif. Si « Code » est coché sur cette ligne, la carte demande en plus le code à six chiffres de votre application d’authentification.

Une autorisation créée depuis la carte dure autant que « Autorisation la plus longue (secondes) » dans Paramètres, « Organisation » : 24 heures par défaut. Elle couvre 200 lectures, 20 écritures ou 1 appel destructif. Approve for 1 hour dans Telegram donne 20 appels pendant une heure. Consultez et révoquez les autorisations dans Autorisations, accessible depuis « Approbations » ; la page d’un agent liste ses autorisations actives.

Le bouton « désormais » n’apparaît que si la classe est sur « Approbation requise ». Le changement arrive dans Modifications de règles, où « Annuler la modification » le défait. Passer une classe sur « Refusé » révoque les autorisations qu’elle couvrait.

Ce que voit l’agent pendant l’attente

Chaque réponse d’attente contient un call_id et un approve_url. Répéter avec le même call_id poursuit le même appel et n’en lance jamais un second.

  • Un client MCP qui envoie un jeton de progression garde l’appel ouvert. Sallyport signale la progression toutes les 10 secondes, jusqu’à 240 secondes.
  • Un client sans jeton de progression attend jusqu’à 45 secondes.
  • Quand cette attente se termine, l’agent reçoit APPROVAL_PENDING avec call_id, approve_url, expires_at et poll_after_ms. Ensuite get_call répond tout de suite, et une répétition avec call_id attend de nouveau.
  • Un client compatible MCP Tasks reçoit une tâche à interroger. Un client compatible URL elicitation vous montre approve_url et répète lui-même l’appel.
  • Sur /p/, la réponse est 202 avec X-Sallyport-Call-Id. Interrogez GET https://mcp.sallyport.cloud/p/calls/{call_id} : 202 pendant l’attente, la réponse du service après approbation, 403 après un refus, 410 après expiration.

Une réponse parvient tout de suite à l’appel qui attend. Claude Code passe en arrière-plan un appel qui attend plus de 2 minutes et livre le résultat dès qu’il arrive.

Combien de temps une carte attend

  • Par défaut, une carte reste ouverte 60 minutes. « Délai d’approbation (secondes) » dans Paramètres, « Organisation », le modifie.
  • Ouvrir la carte complète ajoute 5 minutes, deux fois au plus. La carte du coin n’ajoute rien.
  • Les rappels partent 2, 15 et 45 minutes après l’ouverture de la carte. Un rappel qui tomberait après l’échéance n’est pas envoyé.
  • Après un refus, l’agent reçoit APPROVAL_DENIED avec votre motif. Rien n’a été exécuté.
  • Après expiration, l’agent reçoit APPROVAL_EXPIRED. Rien n’a été exécuté ; si l’action reste utile, l’agent la répète sans call_id.

Rafales d’appels

  • Les appels identiques d’un même agent rejoignent la carte déjà ouverte, quel que soit l’écart entre eux. L’appel s’exécute une fois, et chaque copie reçoit son résultat.
  • Un agent avec 20 cartes ouvertes, ou une organisation avec 100, n’en crée plus. L’agent est mis en pause, une carte explique pourquoi, et « Réactiver l’agent » sur sa page le relance.

Quand l’agent n’a pas de clé

Une carte répond à un appel qui a déjà une clé. Un appel vers un service sans clé ouvre une demande dans Clé requise et donne son lien à l’agent.

Il en va de même pour une connexion en pause, une clé retirée ou une connexion OAuth expirée. Ajoutez la clé avec « Accorder l’accès », et l’agent répète son appel. Voir Clés et agents.