On this page
The practical answer
Store the original enquiry first, extract only supported facts, validate the fields and match the contact before creating a CRM enquiry. Acknowledge receipt with approved wording, then assign a named owner and next action. Keep receipt, qualification, quotation and delivery commitment as separate states, with failures visible in a recoverable queue.
An enquiry workflow has two jobs: preserve what the sender asked and ensure someone acts on it. AI can help read variable emails, but a plausible summary is not enough. The business needs the original message, a reliable record and a responsible person.
A good first scope covers one inbox or form and one destination queue. Add further channels after the team can handle missing fields, repeat submissions and temporary connection failures in that first path.
An example workflow
From arrival to accountable follow-up
Save the original and its intake ID
Extract facts with source evidence
Validate and resolve contact identity
Create or link the enquiry record
Send an approved receipt acknowledgement
Assign an owner and review exceptions
Decision at a glance
Use different rules for different outcomes
| Input condition | Record action | Customer-facing action |
|---|---|---|
| Clear request and usable contact | Create enquiry and owner task | Acknowledge receipt using approved wording |
| Essential context is missing | Mark needs clarification | Ask only for the missing information |
| Possible existing contact or repeated request | Link or route for identity review | Avoid a second automatic acknowledgement |
| Price, availability or contract request | Route to an authorised person | Confirm receipt without promising terms |
Scroll horizontally to see the full comparison.
Define the intake record before asking AI to fill it
Preserve the original message or submission, arrival time, channel and a stable intake ID. Keep attachments under the same access rules. Separate the sender’s words from your team’s interpretation: “budget not stated” is useful; a guessed spending band is a different claim. Do not overwrite the original when a colleague corrects the extracted fields.
Define the minimum fields the owner needs and make unknown values explicit. A contact can make several enquiries, so contact identity and enquiry identity need different keys. A company name, a message subject and a guessed telephone number are poor substitutes for a supported match.
- Contact details as supplied, plus source location.
- Requested service and the sender’s own scope description.
- Stated timing, budget and attachments; blank where unstated.
- Extraction status, validation issues and reviewer.
- CRM contact ID, enquiry ID, owner and next-action time.
Let AI interpret the message within a narrow contract
Give AI a fixed field list and require evidence for material details. Validate email syntax, allowed service categories and date formats with ordinary rules. Preserve “next month” as the original expression until the reference date and intended date are clear. Do not let message text act as instructions to export contacts, bypass review or change the acknowledgement template.
Route ambiguous scope, unsupported categories and conflicting contact details to review. If a form already collects structured values, use those values directly and reserve AI for the free-text description. Extraction should reduce reading effort without adding claims the sender never made.
Match the contact and make each write safe to repeat
Keep a processing ledger that links the intake ID to each attempted CRM write. Before retrying, check whether that step already produced a record. This makes repeating a failed run safe without suppressing a genuinely new enquiry from an existing person. Review uncertain identity matches rather than merging contacts automatically.
HubSpot’s contact API documents record IDs, email-based lookup and custom unique identifiers, with update and upsert operations. These are product-specific capabilities to verify in your chosen CRM. Even where an upsert exists, decide which fields the workflow may change; a fresh email must not silently replace an owner’s verified data.
Worked example: a timing request that is not a promise
Hypothetical example, not a client project: a sender asks whether a website enquiry form can be improved “before next month” and requests a rough price. Store the requested timing and price question, leave the budget blank, and assign the website enquiries queue. A suitable receipt says the request has been received and will be reviewed. It does not confirm a price, start date or delivery date.
Only send a response-time promise if the business has approved it and can meet it. The owner then confirms scope and timing before preparing a quotation in USD. Put the original, extracted facts, missing questions and next action together in the CRM record. Define a backup owner and an escalation rule so a task remains actionable during absence.
Recover partial failures without losing or resending the enquiry
Keep capture, CRM write, acknowledgement and assignment as separate recorded steps. If CRM access fails, retain the captured item as pending and show it to the duty owner. If email sending times out, check the provider’s available send evidence before retrying; a submitted message should not be labelled delivered to the recipient without supporting evidence.
Google’s Gmail push documentation warns that notifications can occasionally be delayed or dropped, so an email intake also needs reconciliation. Microsoft’s workflow guidance recommends retry policies for transient faults. Use bounded retries, then an exception queue; retrying invalid data or uncertain sends indefinitely makes the failure harder to resolve.
Measure captured work and ownership, not just successful runs
Establish the manual baseline from arrival to a usable owner task. Capture completeness = unique eligible enquiries recorded divided by eligible source enquiries. Ownership completeness = captured enquiries with an owner and next action divided by captured enquiries. Measure median time to assignment and substantive first response separately from the automatic receipt.
Track duplicates, corrected material fields, failed acknowledgements and the age of pending items. Include manual exception work in the effort comparison. Pause automatic sending or writes if identity matching damages records, acknowledgements invent terms, reconciliation reveals missing items or the queue exceeds the team’s agreed review capacity. Continue intake through the manual route while repairing the failed step.
Before you commit
An enquiry handover should contain
- Original source, intake ID and validated facts.
- Separate contact and enquiry identifiers.
- Receipt status distinct from quotation or commitment.
- Named owner, next action, backup and exception route.
Questions before you start
Should the acknowledgement include an AI-generated estimate?
Keep the receipt template independent of an estimate. A quotation needs agreed scope and an authorised pricing decision. If published pricing applies, reference only approved current information and explain the conditions; do not infer a promised price from the message.
Can we use both an inbox and a website form?
Yes. Give each source its own intake identifier and preserve channel context, then use one shared validation and owner queue. Test a person submitting the same request through both channels and a person making two different requests.
What happens if the CRM is unavailable?
Keep the durable intake and its source intact, record the CRM step as pending, alert the duty owner and resume from that step. Before replaying, check for an existing record so the recovery does not create another enquiry or resend a receipt.
Sources and further reading
The next step
Customer management (CRM)
If this is the right direction for your business, start with a clear scope, testing plan, and handover.
