Consolidate Competitor Events into Verifiable Reports
Structured competitor event reports are instantly available: The workflow receives event data via webhook, checks all required fields, and groups entries by competitor. Missing evidence is flagged, and faulty or incomplete entries are immediately reported. Marketing and sales teams benefit from efficient, consistent documentation of competitive intelligence. The structured JSON output is ready for direct processing.
Marketing and sales teams can leverage this workflow to automatically capture, validate, and group competitor events via webhook. After importing into n8n, a POST endpoint becomes available, expecting an array of events. Each event must include the fields 'competitor', 'type', 'date', and 'description'. The workflow verifies that all required fields are completed, groups events by competitor, and lists entries without evidence URLs separately. Faulty or incomplete entries are returned with a clear error message. The structured JSON response can be used directly for reports, analyses, or further automation steps. Before deploying in production, webhook authentication in n8n should be enabled to prevent unauthorized access. Execution data is stored in n8n and should be regularly reviewed and deleted if necessary to comply with data protection requirements. The workflow is flexible and can be tailored, for example, to add extra fields or notifications.
AI-generated image
Installation
1. Import the workflow JSON into n8n.
2. Save the workflow.
3. Start the test listener and use the displayed test URL from the webhook node 'Daten empfangen'.
4. Send a POST request with Content-Type application/json and the following example body:
```json
{
"events": [
{
"competitor": "Firma A",
"type": "Produktlaunch",
"date": "2024-06-01",
"description": "Neues Produkt vorgestellt.",
"evidenceUrl": "https://beispiel.de/beweis.pdf"
},
{
"competitor": "Firma B",
"type": "Preisänderung",
"date": "2024-06-02",
"description": "Preissenkung angekündigt."
}
]
}
```
5. Check the response. Only after a successful test activate/publish the workflow and use the production URL from the webhook node.
6. Set up webhook authentication in n8n to secure access.
Usage
1. Send competitor events as a POST request in JSON format to the webhook endpoint.
2. Example input:
```json
{
"events": [
{
"competitor": "Firma A",
"type": "Produktlaunch",
"date": "2024-06-01",
"description": "Neues Produkt vorgestellt.",
"evidenceUrl": "https://beispiel.de/beweis.pdf"
},
{
"competitor": "Firma B",
"type": "Preisänderung",
"date": "2024-06-02",
"description": "Preissenkung angekündigt."
}
]
}
```
3. Expected response when all required fields are complete:
```json
{
"status": "needs_review",
"grouped": {
"Firma A": [
{
"type": "Produktlaunch",
"date": "2024-06-01",
"description": "Neues Produkt vorgestellt.",
"evidenceUrl": "https://beispiel.de/beweis.pdf"
}
],
"Firma B": [
{
"type": "Preisänderung",
"date": "2024-06-02",
"description": "Preissenkung angekündigt.",
"evidenceUrl": null
}
]
},
"missingEvidence": [1],
"total": 2,
"competitorCount": 2
}
```
HTTP status: 200
4. Error case (missing required fields):
```json
{
"status": "error",
"message": "Pflichtfelder fehlen.",
"invalid": [
{
"index": 1,
"competitor": "Firma B",
"type": "Preisänderung",
"date": "2024-06-02",
"description": "",
"missing": ["description"]
}
]
}
```
HTTP status: 200
5. For empty or missing events array:
```json
{
"status": "error",
"message": "events muss ein nicht-leeres Array sein."
}
```
HTTP status: 200
6. Webhook authentication must be enabled separately in n8n. Execution data is stored in n8n and should be regularly reviewed.
Required connections and APIs
API connections
No saved API credentials were detected in the workflow JSON. Still check webhooks, target systems, credentials, and data protection before activation.
Nodes
WebhookCodeRespond to Webhook
Isolated functional test passed
Optional isolated functional test
The isolated data flow was tested without external services or credentials.
✓ Standard case with complete dataChecks the complete standard flow with valid sample data.Isolated functional test passed✓ Variation or boundary caseChecks a valid variation or an important boundary case.Isolated functional test passed✓ Additional processing ruleChecks this workflow's additional business processing rule.Isolated functional test passed✓ Invalid or incomplete inputChecks that invalid or incomplete data is rejected safely.Isolated functional test passed✓ Empty inputChecks that an empty request receives a controlled response.Isolated functional test passed