Intégration Glide : générer des documents depuis votre application no-code

Dernière mise à jour le 23 mars 2026

Aidez-nous à contacter l’équipe Glide

Nous avons contacté l’équipe Glide à plusieurs reprises pour améliorer cette intégration — notamment pour ajouter la prise en charge des tableaux et des lignes de détail — mais n’avons jamais reçu de réponse. Si vous avez un contact direct chez Glide ou un moyen de faire avancer les choses, nous vous en serions très reconnaissants. Une meilleure intégration profiterait à tous ceux qui génèrent des factures, devis et autres documents avec des lignes de détail depuis Glide.

L’intégration PDFMonkey pour Glide vous permet de générer des documents directement depuis votre application no-code. Ajoutez une action Generate PDF file à un bouton, un formulaire ou un workflow, associez vos données à un modèle PDFMonkey et récupérez un lien de téléchargement dès que le document est prêt.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un compte PDFMonkey (inscription ici)
  • Un compte Glide sur un plan payant (l’intégration n’est pas disponible sur les plans gratuits)
  • Un modèle publié dans PDFMonkey

Pour la création de compte et la configuration d’un modèle, consultez De zéro à votre premier document.

Vous avez également besoin de votre clé secrète API, disponible sur la page Mon compte. Consultez Authentification pour plus de détails.

Configurer l’intégration

  1. Dans votre application Glide, accédez à Settings.
  2. Ouvrez la section Integrations et trouvez PDFMonkey.
  3. Cliquez sur Add to app.
  4. Collez votre clé secrète API PDFMonkey et enregistrez.

Une fois la connexion établie, l’action Generate PDF file est disponible dans les actions et workflows de votre application.

Action « Generate PDF file »

L’action Generate PDF file crée un document à partir de l’un de vos modèles PDFMonkey et renvoie un lien vers le fichier finalisé. Vous pouvez la déclencher depuis :

  • Un bouton ou tout autre composant interactif
  • La soumission d’un formulaire
  • Le Workflow Editor

Champs de l’action

ChampRequisDescription
Template IDOuiL’identifiant de votre modèle PDFMonkey. Copiez-le depuis les paramètres du modèle dans votre tableau de bord PDFMonkey.
FilenameOuiLe nom du fichier généré. Vous pouvez utiliser des valeurs dynamiques issues de vos données Glide.
File outputOuiLa colonne où le lien de téléchargement sera enregistré une fois le document prêt. Utilisez une colonne de type text (pas une colonne URL).
Dynamic valuesNonPaires clé/valeur qui remplacent les variables de votre modèle. Cliquez sur +Add value pour associer les colonnes Glide aux variables du modèle.

Nommage des variables

Les clés ajoutées dans la section des valeurs dynamiques doivent correspondre exactement aux noms de variables de votre modèle PDFMonkey. Consultez la référence sur le nommage des variables pour les règles de formatage.

Fonctionnement de l’action

Lorsque l’action s’exécute, elle envoie l’identifiant du modèle et vos valeurs dynamiques à l’API PDFMonkey. PDFMonkey génère le document et renvoie un lien de téléchargement, que Glide enregistre dans la colonne spécifiée comme File output.

Publiez votre modèle au préalable

Si les documents générés ne reflètent pas vos dernières modifications, vérifiez que vous avez publié le modèle dans PDFMonkey. Oublier de publier après une modification est une erreur fréquente.

Exemple de workflow

Voici un flux typique qui génère un certificat lorsqu’un utilisateur termine une formation :

  1. L’utilisateur appuie sur un bouton Télécharger le certificat dans votre application Glide.
  2. Le bouton déclenche l’action Generate PDF file.
  3. Définissez Template ID avec l’identifiant de votre modèle de certificat.
  4. Définissez Filename avec un nom descriptif, par exemple le nom de l’utilisateur combiné au titre de la formation.
  5. Associez vos valeurs dynamiques :
    • recipientName → la colonne contenant le nom de l’utilisateur
    • courseName → la colonne contenant le titre de la formation
    • completionDate → la colonne contenant la date de fin
  6. Définissez File output vers une colonne de type text dans votre source de données.
  7. Une fois la génération terminée, le lien de téléchargement apparaît dans la colonne de sortie. Vous pouvez l’afficher comme un lien ou l’utiliser dans une action suivante (par exemple, envoyer un e-mail).

Gérer les lignes de détail

L’intégration Glide transmet les données à PDFMonkey sous forme de paires clé/valeur simples. Elle ne prend pas en charge nativement les tableaux ou le JSON imbriqué, ce qui signifie que vous ne pouvez pas envoyer une liste de lignes de détail (comme les lignes d’une facture) de la même manière qu’avec Zapier ou Make.

Il s’agit d’une limitation côté Glide, pas côté PDFMonkey. Les modèles PDFMonkey prennent en charge les tableaux et les boucles, mais l’intégration Glide ne peut pas envoyer de données structurées sous forme de tableau. Les solutions ci-dessous contournent cette limitation selon que vous utilisez des modèles Code ou des modèles Builder.

Modèles Code : chaîne JSON avec parse_json

L’approche la plus propre pour les modèles Code consiste à transmettre vos lignes de détail sous forme de chaîne JSON, puis à l’analyser dans le modèle avec le filtre parse_json.

Dans Glide :

  1. Créez une colonne template dans votre table d’éléments qui formate chaque ligne comme un objet JSON. Par exemple : {"product":"Waffle","qty":12,"unitPrice":"3.50","total":"42.00"}
  2. Créez une colonne Joined List dans la table parente qui joint toutes les lignes avec des virgules.
  3. Créez une autre colonne template qui entoure la liste jointe de crochets pour former un tableau JSON valide : [<liste jointe>]
  4. Transmettez cette chaîne comme valeur dynamique dans l’action Generate PDF file, par exemple sous le nom lineItemsJson.

Dans votre modèle PDFMonkey, analysez la chaîne et parcourez le tableau obtenu :

{% assign items = lineItemsJson | parse_json %}

<table>
  <thead>
    <tr>
      <th>Produit</th>
      <th>Qté</th>
      <th>Prix unitaire</th>
      <th>Total</th>
    </tr>
  </thead>
  <tbody>
    {% for item in items %}
    <tr>
      <td>{{ item.product }}</td>
      <td>{{ item.qty }}</td>
      <td>{{ item.unitPrice }}</td>
      <td>{{ item.total }}</td>
    </tr>
    {% endfor %}
  </tbody>
</table>

Vous obtenez un vrai tableau sur lequel itérer, avec un accès complet à chaque champ — exactement comme si les données avaient été envoyées en JSON structuré.

Si la chaîne JSON est vide ou invalide, parse_json renvoie nil. Vous pouvez fournir une valeur de repli : lineItemsJson | parse_json: "[]". Consultez la référence complète de parse_json.

Modèles Builder : Custom JS avec JSON.parse

Pour les modèles Builder, l’approche est similaire : transmettez une chaîne JSON depuis Glide, puis analysez-la dans l’éditeur Custom JS pour utiliser le tableau obtenu dans les bindings de votre modèle.

Dans Glide, construisez la chaîne JSON de la même manière que ci-dessus.

Dans l’éditeur Custom JS de votre modèle Builder, analysez la chaîne et assignez le résultat à window :

window.lineItems = JSON.parse($docPayload.lineItemsJson || '[]');

Vous pouvez ensuite utiliser lineItems dans les fonctionnalités de boucle et de binding du builder pour itérer sur le tableau et afficher chaque élément.

Alternative : HTML pré-construit

Si vous préférez gérer le formatage entièrement dans Glide, vous pouvez construire les lignes de détail sous forme de chaîne HTML et transmettre le résultat comme une seule variable :

  1. Créez une colonne template dans votre table d’éléments qui formate chaque ligne en tant que ligne de tableau HTML. Par exemple :

    <tr>
      <td>Nom du produit</td>
      <td>2</td>
      <td>15,00 €</td>
      <td>30,00 €</td>
    </tr>
    

    Utilisez les références de colonnes Glide pour insérer les valeurs réelles.

  2. Créez une colonne Joined List dans la table parente qui concatène toutes les lignes formatées en une seule chaîne.

  3. Transmettez le HTML assemblé comme valeur dynamique dans l’action Generate PDF file. Par exemple, associez-le à une variable nommée lineItemsHtml.

  4. Dans votre modèle PDFMonkey, affichez la variable pour que le HTML soit rendu correctement :

    <table>
      <thead>
        <tr>
          <th>Produit</th>
          <th>Qté</th>
          <th>Prix unitaire</th>
          <th>Total</th>
        </tr>
      </thead>
      <tbody>
        {{ lineItemsHtml }}
      </tbody>
    </table>
    
Cette approche est plus simple à mettre en place mais moins flexible : vous ne pouvez pas réutiliser les données individuelles de chaque élément pour des calculs ou de la logique conditionnelle dans le modèle. Si vous en avez besoin, utilisez plutôt l’approche par chaîne JSON ou l’approche Builder.

Alternative : utiliser une plateforme d’automatisation

Si vous avez besoin de données structurées sous forme de tableau sans contournement, envisagez de passer par une plateforme d’automatisation comme Make ou Zapier. Ces plateformes prennent en charge les lignes de détail nativement et peuvent recevoir un déclencheur depuis Glide via webhook, puis appeler l’API PDFMonkey avec un payload JSON correctement structuré.

Dépannage

Documents vides

Si le lien de téléchargement est généré mais que le document est vide :

  • Vérifiez les noms de vos variables. Les noms de colonnes contenant des espaces ne fonctionnent pas comme clés de variables. Utilisez le camelCase ou le snake_case à la place. Par exemple, utilisez customerName et non Customer Name.
  • Vérifiez vos données de test dans PDFMonkey. Ouvrez votre modèle, accédez à l’onglet Test data et vérifiez que le document s’affiche correctement avec un JSON d’exemple. Si cela fonctionne dans PDFMonkey mais pas depuis Glide, le problème vient de l’association des données.
  • Consultez l’historique PDFMonkey. Ouvrez votre tableau de bord PDFMonkey et examinez le document dans l’onglet History. Le payload montre exactement les données envoyées par Glide, ce qui permet de repérer facilement les variables manquantes ou mal nommées.

Type de la colonne File output

Le champ File output doit pointer vers une colonne de type text dans votre source de données Glide. L’utilisation d’une colonne URL ou d’un autre type peut empêcher l’enregistrement correct du lien.

Échec de la génération

Si aucun lien n’apparaît dans la colonne de sortie :

  • Vérifiez que votre clé secrète API est correcte dans les paramètres de l’intégration.
  • Confirmez que votre Template ID est valide et que le modèle est publié.
  • Consultez le tableau de bord PDFMonkey pour obtenir les détails de l’erreur sur le document en échec.

URL de téléchargement expirée

L’URL de téléchargement est valide pendant 1 heure. Si le lien ne fonctionne plus après ce délai, l’URL a expiré. Vous pouvez :

  • Générer un nouveau document pour obtenir un lien valide.
  • Utiliser un lien de partage pour un accès permanent (disponible sur les plans Premium).

Pour plus de détails, consultez L’URL de téléchargement renvoie une erreur 403.

Consommation d’updates Glide

Chaque exécution réussie de l’action Generate PDF file consomme des updates Glide. Le nombre exact est affiché lors de la configuration de l’action. Les actions en échec ne consomment pas d’updates. Consultez la documentation de facturation Glide pour plus de détails sur les coûts et les quotas d’updates.

Étapes suivantes

Questions fréquentes

Comment générer des PDF depuis une application Glide avec PDFMonkey ?
Dans les Settings de votre application Glide, ajoutez l’intégration PDFMonkey avec votre clé secrète API. Puis utilisez l’action Generate PDF file dans un bouton, un formulaire ou un workflow, en fournissant votre Template ID, un nom de fichier, des valeurs dynamiques et une colonne texte pour le lien de sortie.
Peut-on envoyer des lignes de détail ou des tableaux depuis Glide vers PDFMonkey ?
Pas directement. Glide transmet des paires clé/valeur plates et ne peut donc pas envoyer de tableaux nativement. La solution consiste à construire une chaîne JSON dans Glide avec des colonnes template et une colonne Joined List, puis à l’analyser dans votre modèle PDFMonkey avec parse_json (modèles Code) ou JSON.parse dans Custom JS (modèles Builder).
Pourquoi mes documents PDFMonkey générés depuis Glide sont-ils vides ?
La cause la plus fréquente est une différence de noms de variables. Les noms de colonnes avec des espaces ne fonctionnent pas comme clés de variables — utilisez plutôt le camelCase ou le snake_case. Vérifiez le payload du document dans l’onglet History de PDFMonkey pour voir exactement quelles données Glide a envoyées.