Shape is not truth

Structured Outputs provides schema-constrained JSON within supported limits. That helps with format, not factual accuracy. A phone field can have the right type and still contain the wrong number. Keep extraction and business validation separate.

Use a small schema

Extract name, contact method, requested service, timing and missing fields. Allow unknown values. Preserve phrases such as ‘next month’ alongside any interpretation; ask for an exact day before creating an actual appointment.

Protect CRM quality

Validate on the server and deduplicate repeated messages. Initially show extracted data to a team member and compare corrections with model output. Measure field correction rates rather than celebrating the number of records created.