Sales operations & small business owners
CRM import review
An import review package with duplicates, missing fields and malformed email syntax flagged.
The automation
- fingerprintfile.metadata@1
Independent starting step
- parsecsv.clean@1
Independent starting step
- reviewcontacts.review@1
After: parse
Run through MCP
Workflow call
{
"name": "piwi_workflow_crm_import_review",
"arguments": {
"input": {
"csv": "name,email\nAda,[email protected]\nGrace,[email protected]\nRepeat,[email protected]\nMissing,\nWrong,not-email",
"emailField": "email",
"requiredFields": [
"name",
"email"
]
}
}
}Verified execution
The result below was produced by executing the documented input through MCP and Docker. The input is authored demonstration data; it contains no customer records.
Returned business report
{
"review": {
"accepted": [
{
"name": "Ada",
"email": "[email protected]"
},
{
"name": "Grace",
"email": "[email protected]"
}
],
"issues": [
{
"record": 4,
"reasons": [
"duplicate-email"
]
},
{
"record": 5,
"reasons": [
"missing:email",
"invalid-email"
]
},
{
"record": 6,
"reasons": [
"invalid-email"
]
}
],
"structuralErrors": [],
"summary": {
"parsed": 5,
"accepted": 2,
"flagged": 3,
"structuralErrors": 0
},
"readyForReview": false
},
"source": {
"sha256": "fb10afd480909efb30a6ed78974aa85ce49fdde9513935a26e9036429bbef439",
"bytes": 102,
"encoding": "utf8"
}
}Inspect execution ID, timestamps and step statuses
Actual execution record
{
"executionId": "run.0f782a60-2bbc-48fb-ab46-cec399c0506d",
"workflow": "crm-import-review@1",
"status": "succeeded",
"startedAt": "2026-10-18T15:45:55.118Z",
"completedAt": "2026-10-18T15:45:56.956Z",
"steps": [
{
"id": "parse",
"tool": "csv.clean@1",
"status": "succeeded",
"calls": 1
},
{
"id": "fingerprint",
"tool": "file.metadata@1",
"status": "succeeded",
"calls": 1
},
{
"id": "review",
"tool": "contacts.review@1",
"status": "succeeded",
"calls": 1
}
],
"output": {
"review": {
"accepted": [
{
"name": "Ada",
"email": "[email protected]"
},
{
"name": "Grace",
"email": "[email protected]"
}
],
"issues": [
{
"record": 4,
"reasons": [
"duplicate-email"
]
},
{
"record": 5,
"reasons": [
"missing:email",
"invalid-email"
]
},
{
"record": 6,
"reasons": [
"invalid-email"
]
}
],
"structuralErrors": [],
"summary": {
"parsed": 5,
"accepted": 2,
"flagged": 3,
"structuralErrors": 0
},
"readyForReview": false
},
"source": {
"sha256": "fb10afd480909efb30a6ed78974aa85ce49fdde9513935a26e9036429bbef439",
"bytes": 102,
"encoding": "utf8"
}
}
}