Guide d'intégration Make.com
Réponse rapide : utilisez l’éditeur de flux visuel de Make.com avec un déclencheur « Custom webhook ». Faites pointer le webhook_url de Surmado vers ce déclencheur, filtrez sur event = report.completed et report.product, puis diffusez vers Google Sheets, Slack, Airtable ou Notion. Pour des données plus détaillées, ajoutez un module HTTP qui appelle GET https://api.surmado.com/v1/reports/{{1.report.id}} avec une authentification Bearer.
Temps de lecture : 14 minutes
Prérequis
- Un compte Make.com (le forfait gratuit convient pour un faible volume ; Core à $9/mois pour un usage régulier)
- Une clé d’API Surmado (
sur_live_...) : créez-la sur app.surmado.com → Settings → API Keys - Une application de destination (Google Sheets, Slack, Airtable, Notion, etc.)
Forfaits Make requis
Forfait gratuit :
- 1 000 opérations/mois
- Limite de 2 scénarios
- Suffisant pour 1 à 5 clients, à faible volume
Forfait Core ($9/mois) :
- 10 000 opérations/mois
- Scénarios illimités
- Recommandé pour un usage régulier
Forfait Pro ($16/mois) :
- 10 000 opérations + limites de données plus élevées
- Variables personnalisées, exécution prioritaire
- Pour les agences de 10 clients et plus
Le schéma d’intégration
- Déclencheur : « Webhooks → Custom webhook ». Make vous donne une URL unique.
- Configurez Surmado pour envoyer (POST) les rapports terminés à cette URL via
webhook_urlà la création d’un rapport. - Filtrez sur
eventetreport.product. - Analysez le payload imbriqué avec la notation à points de Make (
1.report.summary.presence_score). - (Facultatif) Un module HTTP pour récupérer des données plus détaillées via l’API REST.
- Agissez : écrivez dans l’application de destination.
Exemple de payload
{
"event": "report.completed",
"timestamp": "2026-04-15T12:00:00+00:00",
"report": {
"id": "rpt_abc123xyz",
"token": "SIG-2026-04-A1B2C",
"product": "signal",
"status": "completed",
"tier": "basic",
"data_url": "https://api.surmado.com/v1/reports/rpt_abc123xyz",
"pdf_url": "https://api.surmado.com/v1/reports/view/VIEW_TOKEN",
"summary": {
"business_name": "Acme Coffee Roasters",
"presence_score": 34.2,
"authority_score": 42.7,
"competitive_rank": 4,
"top_competitor": "Blue Bottle"
}
}
}
Rapports Strategy (
"product": "solutions") : ils n’ont pas d’objetsummary, uniquementreport.tokenetreport.pdf_url.
Workflow 1 : AI Visibility vers Google Sheets
Modules du scénario
Module 1 : Webhooks: Custom webhook
- Ajoutez un nouveau webhook. Make génère une URL du type
https://hook.eu2.make.com/abc123def456. - Cliquez sur Determine data structure et lancez un exemple de rapport Surmado (voir l’exemple curl ci-dessous) pour que Make capture la structure du payload.
Créez l’exemple avec :
curl -X POST https://api.surmado.com/v1/reports/signal \
-H "Authorization: Bearer sur_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brand_slug": "acme_corp",
"url": "https://acme.com",
"email": "founder@acme.com",
"industry": "B2B SaaS",
"location": "United States",
"persona": "Small business owners",
"pain_points": "Losing track of customer conversations",
"brand_details": "Simple CRM with email integration",
"direct_competitors": "HubSpot, Pipedrive",
"webhook_url": "https://hook.eu2.make.com/abc123def456"
}'
Module 2 : Tools: Filter
Condition : 1.event Equal to report.completed AND 1.report.product Equal to signal.
Module 3 : Google Sheets: Add a Row
Associez les colonnes :
- Date:
{{1.timestamp}} - Token:
{{1.report.token}} - Business:
{{1.report.summary.business_name}} - Presence Score:
{{1.report.summary.presence_score}} - Authority Score:
{{1.report.summary.authority_score}} - Competitive Rank:
{{1.report.summary.competitive_rank}} - Top Competitor:
{{1.report.summary.top_competitor}}
Opérations utilisées par exécution : 3.
Workflow 2 : Site Audit avec alertes conditionnelles
Un seul scénario qui écrit chaque Site Audit dans Google Sheets et ne prévient Slack que si performance_score < 70.
Module 1 : Custom webhook (réutilisez celui du Workflow 1 ou créez-en un nouveau).
Module 2 : Filter : 1.event = report.completed AND 1.report.product = scan.
Module 3 : Google Sheets: Add a Row avec les champs du résumé Site Audit (seo_score, performance_score, accessibility_score, total_pages, critical_issues_count).
Module 4 : Router : séparez en deux chemins.
- Chemin A (toujours) : se poursuit jusqu’à la fin.
- Chemin B : Filter
1.report.summary.performance_score < 70→ Slack: Create a message.
Modèle de message Slack :
:warning: Performance regression on *{{1.report.summary.business_name}}*
Performance: {{1.report.summary.performance_score}} (below 70 threshold)
SEO: {{1.report.summary.seo_score}}
Accessibility: {{1.report.summary.accessibility_score}}
Critical issues: {{1.report.summary.critical_issues_count}}
View report: {{1.report.pdf_url}}
Opérations utilisées par exécution : 4 à 5 selon le chemin emprunté.
Workflow 3 : e-mail de synthèse Strategy
Les rapports Strategy n’incluent pas de résumé. Schéma :
- Déclencheur Custom webhook.
- Filter :
1.event = report.completedAND1.report.product = solutions. - Gmail / Email: Send an email avec le lien du PDF.
Corps de l’e-mail :
<p>Strategy report <code>{{1.report.token}}</code> has been delivered.</p>
<p><a href="{{1.report.pdf_url}}">View the full report (PDF)</a></p>
Opérations : 2.
Récupérer des données plus détaillées
Le résumé du webhook couvre la plupart des besoins. Pour des détails par plateforme (par exemple la présence ChatGPT et Claude) ou les problèmes page par page de Site Audit, ajoutez un module HTTP après le filtre :
Module : HTTP: Make a request
- URL:
https://api.surmado.com/v1/reports/{{1.report.id}} - Method: GET
- Headers:
- Name:
Authorization - Value:
Bearer sur_live_YOUR_API_KEY
- Name:
- Parse response: Yes
Les modules suivants peuvent alors référencer {{2.public_intelligence.data.platform_variance.chatgpt.presence_score}} ou {{2.public_intelligence.data.audit_data.enrichment.content_gaps.executive_summary}}.
Sécurité : enregistrez votre clé d’API dans une Connection ou une Custom Variable de Make plutôt que de la coller directement dans le module.
Schémas avancés
Router par produit
Utilisez un Router après le webhook pour distribuer selon 1.report.product :
- Branche 1 :
signal→ workflow AI Visibility - Branche 2 :
scan→ workflow Site Audit - Branche 3 :
solutions→ synthèse Strategy
Une seule URL de webhook gère tous les types de rapport.
Configuration multi-clients pour agences
Utilisez 1.report.summary.business_name comme identifiant client dans une recherche Data store pour orienter chaque client vers son propre onglet de feuille ou sa propre page Notion. Créez une seule fois chaque client comme marque Surmado via POST /v1/brands/ensure, puis réutilisez le brand_slug pour chaque rapport.
Formats de token
Préfixes des Intelligence Token :
- AI Visibility :
SIG-YYYY-MM-XXXXX(regex :SIG-\d{4}-\d{2}-[A-Z0-9]{5}) - Site Audit :
SCN-YYYY-MM-XXXXX(regex :SCN-\d{4}-\d{2}-[A-Z0-9]{5}) - Strategy :
SOL-YYYY-MM-XXXXX(regex :SOL-\d{4}-\d{2}-[A-Z0-9]{5})
Les tokens n’expirent pas. Les URL de téléchargement signées de l’API REST sont valables environ 15 minutes ; le lien magique pdf_url des webhooks est valable environ 30 jours.
Dépannage
Le déclencheur webhook ne se déclenche pas : vérifiez que webhook_url a bien été indiqué dans l’appel de création du rapport, et essayez webhook.site comme URL de test pour vérifier que Surmado envoie les payloads.
Les champs apparaissent comme undefined dans les modules suivants : le rapport n’a peut-être pas renseigné ce champ (par exemple top_competitor vaut null pour les marques sans concurrent identifié), ou il s’agit d’un rapport Strategy, qui n’inclut pas de résumé. Vérifiez le produit avec 1.report.product.
Le module HTTP renvoie 401 : la clé d’API est absente ou mal formée. L’en-tête doit être Authorization: Bearer sur_live_... (y compris Bearer ).
Plus d’opérations utilisées que prévu : les Routers et les filtres comptent chacun pour une opération par exécution. Regroupez quand c’est possible : un seul module Google Sheets avec des valeurs associées coûte moins cher que plusieurs modules.
À lire aussi : Guide d’intégration de l’API | Données structurées et Intelligence Tokens | Intégration Zapier | Intégration n8n | Intégration Notion