Notion-Integrationsleitfaden
Kurzantwort: Es gibt keine direkte Integration zwischen Surmado und Notion. Verbinden Sie beide mit Zapier, Make, n8n oder einem kleinen eigenen Skript. Fangen Sie den Surmado Webhook report.completed auf und rufen Sie dann die Aktion “Create database item” von Notion mit den Feldern aus report.summary auf.
Lesezeit: 10 Minuten
Ablauf
- Trigger: Surmado sendet eine
report.completed-Payload an einen Webhook-Endpunkt (Zapier Catch Hook, Make Custom Webhook, n8n Webhook oder Ihren eigenen Server). report.summarylesen für die aufbereiteten Kennzahlen. Für AI Visibility sind daspresence_score,authority_score,competitive_rankusw. Für Site Audit sind esseo_score,performance_score,accessibility_score,critical_issues_countund das Objektquick_wins. Strategy-Berichte enthalten keine Zusammenfassung: Verwenden Sie nurreport.pdf_urlundreport.token.- Ein Notion-Datenbankelement erstellen, dessen Eigenschaftswerte aus der Payload stammen.
- (Optional) Anreichern mit einem REST-API-Aufruf
GET /v1/reports/{report_id}, wenn Sie tiefere Daten wiepublic_intelligence.data.platform_varianceoderpublic_intelligence.data.audit_data.enrichmentbrauchen.
Richten Sie den Webhook-Weg ein, indem Sie beim Erstellen eines Surmado Berichts webhook_url übergeben:
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://your-webhook-endpoint.example.com/surmado"
}'
Empfohlene Datenbankschemas
AI Visibility Berichte
| Eigenschaft | Typ | Payload-Feld |
|---|---|---|
| Title | Title | report.summary.business_name |
| Token | Text | report.token |
| Report ID | Text | report.id |
| Presence Score | Number | report.summary.presence_score |
| Authority Score | Number | report.summary.authority_score |
| Competitive Rank | Number | report.summary.competitive_rank |
| Top Competitor | Text | report.summary.top_competitor |
| Report Date | Date | timestamp |
| URL | report.pdf_url |
|
| Status | Select | abgeleitet aus presence_score, siehe unten |
Eine Status-Auswahl lässt sich mit einer Lookup-Tabelle berechnen:
presence_score < 30→ At Risk30 <= presence_score < 60→ Needs Workpresence_score >= 60→ Leading
Site Audit Berichte
| Eigenschaft | Typ | Payload-Feld |
|---|---|---|
| Title | Title | report.summary.business_name oder URL |
| Token | Text | report.token |
| Report ID | Text | report.id |
| SEO Score | Number | report.summary.seo_score |
| Performance Score | Number | report.summary.performance_score |
| Accessibility Score | Number | report.summary.accessibility_score |
| Total Pages | Number | report.summary.total_pages |
| Critical Issues | Number | report.summary.critical_issues_count |
| Report Date | Date | timestamp |
| URL | report.pdf_url |
Strategy Berichte
Strategy-Berichte liefern über den Webhook nur den Token und die PDF-URL. Ein schlankes Schema:
| Eigenschaft | Typ | Payload-Feld |
|---|---|---|
| Title | Title | abgeleitet (Marke + Datum) |
| Token | Text | report.token |
| Report ID | Text | report.id |
| Report Date | Date | timestamp |
| URL | report.pdf_url |
Einrichtung mit Zapier (empfohlen)
Die Notion-Integration von Zapier hat die Aktion “Create Database Item”, die sich sauber auf die Webhook-Payload abbilden lässt.
- Erstellen Sie einen Zap: Webhooks by Zapier → Catch Hook (kopieren Sie die angezeigte URL).
- Konfigurieren Sie einen Surmado Bericht mit dieser URL als
webhook_url. - Filter:
event=report.completedANDreport__product=signal(oderscan). - Aktion: Notion → Create Database Item. Ordnen Sie die Felder anhand der Webhook-Ausgabe zu (Zapier macht verschachtelte Schlüssel mit doppeltem Unterstrich flach:
report__summary__presence_score).
Vollständige Anleitung mit Beispiel-Zaps: Zapier-Integrationsleitfaden.
Eigenes Skript (ohne Zapier)
Wenn Sie Code bevorzugen, betreiben Sie einen kleinen Server, der den Surmado Webhook annimmt und die Notion API direkt aufruft.
Node.js-Beispiel
const express = require('express');
const { Client } = require('@notionhq/client');
const notion = new Client({ auth: process.env.NOTION_API_KEY });
const DATABASE_ID = process.env.NOTION_DATABASE_ID;
const app = express();
app.use(express.json());
app.post('/surmado-webhook', async (req, res) => {
const { event, report, timestamp } = req.body;
if (event !== 'report.completed' || report.product !== 'signal') {
return res.status(200).end();
}
await notion.pages.create({
parent: { database_id: DATABASE_ID },
properties: {
'Name': { title: [{ text: { content: report.summary.business_name || report.token } }] },
'Token': { rich_text: [{ text: { content: report.token } }] },
'Report ID': { rich_text: [{ text: { content: report.id } }] },
'Presence Score': { number: report.summary.presence_score ?? null },
'Authority Score': { number: report.summary.authority_score ?? null },
'Competitive Rank': { number: report.summary.competitive_rank ?? null },
'Top Competitor': { rich_text: [{ text: { content: report.summary.top_competitor || '' } }] },
'Report Date': { date: { start: timestamp } },
'PDF': { url: report.pdf_url || null }
}
});
res.status(200).end();
});
app.listen(process.env.PORT || 3000);
Prüfen Sie die Webhook-Signatur, bevor Sie der Payload vertrauen. Den HMAC-SHA256-Algorithmus finden Sie im API-Integrationsleitfaden.
Notion-Seiten mit tieferen Daten anreichern
Die Webhook-Zusammenfassung deckt die meisten Anforderungen ab. Wenn Sie plattformspezifische Aufschlüsselungen möchten (z. B. ChatGPT im Vergleich zu Claude), rufen Sie nach dem Erstellen der Notion-Seite die REST API auf:
curl -s https://api.surmado.com/v1/reports/{report_id} \
-H "Authorization: Bearer sur_live_YOUR_API_KEY" \
| jq '.public_intelligence.data.platform_variance'
Aktualisieren Sie dann die Notion-Seite mit einem Rich-Text-Block, der die plattformspezifischen Werte enthält.
Fehlerbehebung
Notion erstellt die Seite, aber die Eigenschaften sind leer: Der Feldtyp in Notion muss zur Payload passen. Zahlen wie presence_score brauchen eine Eigenschaft vom Typ Number, nicht Rich Text. Prüfen Sie, dass der Typ jeder Eigenschaft der Tabelle oben entspricht.
Der Webhook wird ausgelöst, aber der Notion-Aufruf schlägt fehl: Surmado wiederholt die Zustellung bei 5xx-Antworten dreimal und gibt dann auf. Prüfen Sie die Logs Ihres Servers, beheben Sie den Fehler und rufen Sie die verlorenen Berichte anschließend manuell über die REST API erneut ab.
Strategy-Berichte zeigen keine Werte: Das ist erwartetes Verhalten. Strategy stellt public_intelligence nicht bereit, nur report.token und report.pdf_url sind verfügbar.
Verwandt: API-Integrationsleitfaden | Strukturierte Daten und Intelligence Tokens | Zapier-Integrationsleitfaden | Make-Integrationsleitfaden | n8n-Integrationsleitfaden