> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Appliquer un modèle d’automatisation

> Créez une automatisation Famulor à partir d’un modèle prêt à l’emploi et validez-la avec une véritable exécution de test.

<Warning>
  **API Famulor 1.0 (héritée).** Cette page concerne uniquement Famulor 1.0 (`app.famulor.de`) et est conservée pour la compatibilité. Pour la plateforme actuelle, consultez la [référence API Famulor 2.0](/fr/api-reference/introduction).
</Warning>

Ce point de terminaison crée une automatisation à partir d’un modèle (voir [Lister les modèles d’automatisation](/fr/api-v1/automations/list-templates)), exécute un véritable test et — pour les modèles déclenchés par un événement d’assistant — associe l’automatisation à l’assistant une fois le test réussi. Il renvoie la même enveloppe que [Créer une automatisation](/fr/api-v1/automations/create).

<Warning>
  Les modèles marqués `side_effects: true` envoient réellement des messages ou démarrent réellement des appels pendant leur exécution de test — les appliquer nécessite `confirm_side_effects: true`, et le test cible les valeurs réelles que vous avez fournies. N’appliquez jamais un modèle avec des valeurs d’exemple ou devinées.
</Warning>

### Paramètres de chemin

<ParamField path="key" type="string" required>
  La clé du modèle (depuis [Lister les modèles d’automatisation](/fr/api-v1/automations/list-templates)). Une clé inconnue renvoie une `404`.
</ParamField>

### Corps de la requête

<ParamField body="params" type="object">
  Les paramètres du modèle sous forme de paires clé-valeur — consultez la liste `params` du modèle pour savoir ce que chacun requiert. Les paramètres obligatoires manquants renvoient une `422` (`missing_params`) listant exactement ce qui est nécessaire. 64 Ko max.
</ParamField>

<ParamField body="assistant_id" type="integer">
  L’assistant auquel l’automatisation résultante est associée. Requis pour les modèles avec `requires_assistant: true`.
</ParamField>

<ParamField body="name" type="string">
  Un nom personnalisé pour l’automatisation (255 caractères max.) ; utilise par défaut le nom du modèle
</ParamField>

<ParamField body="confirm_side_effects" type="boolean">
  Requis (`true`) pour les modèles marqués `side_effects: true`
</ParamField>

### Réponse

L’enveloppe de [Créer une automatisation](/fr/api-v1/automations/create) : `automation_id`, `webhook_url` (pour les modèles déclenchés par webhook tels que `lead-intake-webhook` et ceux de recherche en cours d’appel ; `null` pour les modèles déclenchés par un événement d’assistant), `status` (`active` / `active_untested` / `test_failed`), `test` (`run_status` + résultats par étape), `response`, `binding`. Renvoie `201` lorsque l’automatisation est active, `200` lorsque son exécution de test a échoué.

Un modèle dont l’exécution de test se met en pause à une étape Delay (par ex. `post-call-callback`) rapporte `run_status: "PAUSED"` — c’est un succès, pas un échec : chaque étape avant la pause s’est exécutée, et l’exécution reprendra à l’heure cible.

### Codes d’erreur (422)

Les échecs définitifs renvoient `{"message": "...", "error": "<code>", "params": ...}` et rien n’est créé. Codes notables :

| error                                                             | Signification                                                                                                                                                     |
| ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `missing_params`                                                  | Des paramètres obligatoires sont manquants — le tableau `params` de la réponse liste leurs spécifications complètes.                                              |
| `invalid_param_choice`                                            | Un paramètre référence une ressource (par ex. une feuille de calcul) qui n’existe pas dans votre compte connecté — le message liste les choix réels par leur nom. |
| `needs_connection` / `needs_reconnection`                         | Une connexion de compte requise est manquante ou rompue — le message contient les étapes exactes pour la corriger dans l’application Famulor (une seule fois).    |
| `side_effects_require_confirmation`                               | Le modèle envoie réellement — réessayez avec `confirm_side_effects: true`.                                                                                        |
| `assistant_required` / `assistant_not_found` / `binding_conflict` | Identique à [Créer une automatisation](/fr/api-v1/automations/create).                                                                                            |

<ResponseExample>
  ```json 201 Created (test passed and attached) theme={null} theme={null}
  {
    "automation_id": "aB3xYz01MnOpQrStUvWxY",
    "webhook_url": null,
    "status": "active",
    "test": {
      "run_status": "SUCCEEDED",
      "steps": []
    },
    "response": null,
    "binding": {
      "type": "post_call",
      "assistant_id": 123,
      "bound": true
    }
  }
  ```

  ```json 422 Validation Error theme={null} theme={null}
  {
    "message": "These values are required: spreadsheet_id. Ask the user for them — never guess or reuse example values.",
    "error": "missing_params",
    "params": [
      {
        "key": "spreadsheet_id",
        "label": "Google Spreadsheet ID",
        "description": "The spreadsheet to append rows to.",
        "required": true,
        "example": "1AbCdEfGhIjKlMnOpQrStUvWxYz"
      }
    ]
  }
  ```

  ```json 404 Not Found theme={null} theme={null}
  {
    "message": "No template with that key — call the template list first.",
    "error": "template_not_found",
    "params": null
  }
  ```
</ResponseExample>

<Tip>
  Pages associées : [Lister les modèles d’automatisation](/fr/api-v1/automations/list-templates), [Créer une automatisation](/fr/api-v1/automations/create), et [Authentification](/fr/api-v1/authentication).
</Tip>
