Product1 min read

Contact form, meet agent

AstroPublished September 4, 2026
  • #ai
  • #django
  • #product

I didn’t want a chat widget that forgot everything. Submissions still land in Wagtail; the agent is a path, not the archive.

Chat UIs are great at latency and terrible at accountability. If someone reaches out about a freelance gig, I need a row I can find next week—not a scrollback that vanished with the session.

The contact flow writes a ContactSubmission first, then optionally talks to the agent proxy. Email still fires for the operator. The agent can answer FAQs or gather context; it doesn’t replace the inbox.

That’s the product boundary I’ll keep defending: AI assists the conversation; the CMS owns the record.

Contact form
Traditional Contact Form
Contact form with agent
Prompt to talk to your AI agent

Back to Blog