ActivePieces Integration
Use WinFactor events in ActivePieces to notify teams and update external tools
ActivePieces Integration
ActivePieces lets organization users turn WinFactor events into practical automations.
Typical uses:
- notify sales when a new submission arrives
- alert the team when a quote is viewed or accepted
- create or update records in a CRM
- send follow-up messages to Slack, Teams, email, or spreadsheets
What WinFactor Sends
WinFactor sends nine core event types:
submission.createdquote.createdquote.sentquote.viewedquote.acceptedquote.rejectedquote.expiring_soonquote.expiredlead.created
Recommended first workflow
Start with submission.created. It gives the fastest operational value and is the easiest way to test that the connection works.
Example Slack message:
New submission received
Customer: {{ trigger['body']['data']['customer']['name'] }}
Template: {{ trigger['body']['data']['template']['name'] }}
Size: {{ trigger['body']['data']['configuration']['width'] }} x {{ trigger['body']['data']['configuration']['height'] }} mmCommon payload structure
Every event includes:
versioneventTypetimestamporgLocalecustomerLocalewhen relevantorganizationdata
Example submission.created payload
{
"version": "1.0",
"eventType": "submission.created",
"timestamp": 1704556800000,
"orgLocale": "nl",
"customerLocale": "en",
"organization": {
"id": "abc123",
"name": "Window & Door Solutions Inc.",
"slug": "window-door-solutions",
"email": "[email protected]",
"phone": "+31201234567",
"logoUrl": "https://storage.example.com/logo.png"
},
"data": {
"submission": {
"id": "sub_456xyz",
"createdAt": 1704556800000
},
"customer": {
"name": "John Smith",
"email": "[email protected]",
"phone": "+31612345678",
"companyName": null
},
"template": {
"id": "template_789",
"name": "Modern Glass Panel",
"slug": "modern-glass-facade"
},
"configuration": {
"width": 5000,
"height": 3000,
"componentCount": 12
},
"urls": {
"submissionDetail": "https://app.winfactor.com/submissions/sub_456xyz"
}
}
}Example quote.accepted payload
{
"version": "1.0",
"eventType": "quote.accepted",
"timestamp": 1710768000000,
"orgLocale": "nl",
"customerLocale": "en",
"organization": {
"id": "org_123abc",
"name": "Window & Door Solutions Inc.",
"slug": "",
"email": "[email protected]",
"phone": "+31201234567",
"logoUrl": "https://storage.example.com/logo.png"
},
"data": {
"quote": {
"id": "quote_xyz789",
"number": "Q-2026-0042",
"version": 1,
"total": 1250.00,
"currency": "EUR",
"currencySymbol": "€"
},
"customer": {
"name": "John Smith",
"email": "[email protected]",
"phone": "+31612345678",
"companyName": null
},
"acceptance": {
"acceptedAt": 1710768000000,
"acceptedByName": "John Smith",
"ipAddress": "192.168.1.100",
"userAgent": "Mozilla/5.0 ..."
},
"urls": {
"quoteDetail": "",
"submissionDetail": ""
}
}
}Example lead.created payload
{
"version": "1.0",
"eventType": "lead.created",
"timestamp": 1710768000000,
"orgLocale": "nl",
"customerLocale": "nl",
"organization": {
"id": "org_123abc",
"name": "Window & Door Solutions Inc.",
"slug": "",
"email": "[email protected]",
"phone": "+31201234567",
"logoUrl": null
},
"data": {
"lead": {
"id": "lead_abc123xyz",
"createdAt": 1710768000000
},
"contact": {
"name": "Jane Smith",
"email": "[email protected]",
"phone": "+31612345678",
"message": "I am interested in custom sliding doors for my showroom. Can you provide a quote?",
"messagePreview": "I am interested in custom sliding doors for my showroom. Can you provide..."
},
"urls": {
"leadsPage": ""
}
}
}Useful fields
| Field | Use |
|---|---|
data.customer.name | sales or CRM lead creation |
data.customer.email | follow-up and ownership |
data.template.name | routing by product type |
data.configuration.width | operational context |
data.configuration.height | operational context |
data.configuration.componentCount | complexity indicator |
data.urls.submissionDetail | direct link into WinFactor |
Best practices
- start with one event and one action
- keep message text simple until you trust the payload
- use direct WinFactor URLs in your notifications
- route
quote.acceptedandquote.rejectedto people who can act on them immediately - document your own workflow names so staff know which automations are active
Known limitations to account for
quote.createdis internal; customers have not seen the quote yet- some integrations require external infrastructure outside WinFactor
- if your team depends on WhatsApp delivery, validate that workflow separately before you rely on it operationally