umContactManager
Collect leads, filter spam, reply by email and use optional AI help inside Umbraco
Free Umbraco 17–18 package that adds a Contacts section for form leads, email threads, spam control, notifications and optional AI replies and lead research.
dotnet add package umContactManager
The problem it solves
Website leads often end up split between a form plugin, a shared inbox and a separate CRM. Editors copy details by hand, spam mixes with real requests, and replies are sent from tools that have no link to the original message. umContactManager keeps intake, spam control, email threads and follow-up in one Umbraco section.
Typical uses
- Handle contact form leads for a company site without a separate CRM
- Collect leads from several landing pages or sites into one Umbraco install
- Reply to inquiries and keep the full email thread next to the original request
- Screen inbound leads with AI research before sales picks them up
- Get a Telegram message the moment a new lead arrives
At a glance
- NuGet package
- umContactManager
- Latest version
- v1.2.1 · 10 releases
- Umbraco
- Umbraco 17–18
- .NET
- net10.0
- First released
- Sep 2026
- Last updated
- Oct 2026
- Downloads
- 937
- License
- Proprietary, free to use
- Requirements
- Umbraco 17 or 18.NET 10SMTP settings or a Postmark account for emailOpenAI or Anthropic API key only if you use AI featuresAWS S3 bucket only if you store attachments in S3
- Works with
- OpenAI API (optional)Anthropic Claude API (optional)Postmark (optional)SMTPAmazon S3 (optional)Telegram Bot API (optional)
What umContactManager does
A back office section with Incoming, Archived, Spam, Email History and Settings views. Search, filter by status, source and date, sort columns and act on many contacts at once.
A built-in form block for Block List and Block Grid, an endpoint for your own forms on the same site, and a JSON API with per-source API keys for other sites and headless clients.
Rate limits per IP, a honeypot field, payload and file limits, allowed origins, CAPTCHA hooks and a threshold that moves repeat senders to Spam.
Send through SMTP or Postmark, reply from the contact page with attachments, and see delivery states such as Delivered, Bounced and Opened. Inbound replies via Postmark webhooks join the thread.
Telegram alerts for new submissions, customer replies and direct email leads, with editable message templates.
Draft replies with OpenAI or Claude, and run lead research that returns a spam score, lead quality and company details. New contacts can be researched and low-quality ones archived automatically.
Each contact shows every submission with source page, landing page, page history, IP with GeoIP lookup, and the full email thread.
Keep uploaded files on local disk or in an Amazon S3 bucket.
From install to first use
dotnet add package umContactManager- Install
Run dotnet add package umContactManager. The package registers itself and runs its database migrations on startup.
- Grant the section
In Settings, Users, User groups, tick Contacts for your group and reload the back office. New sections stay hidden until you do this.
- Configure
Open Contacts, Settings to set form fields, security limits, internal and external lead sources, the email provider, notifications and AI if you want it.
- Collect leads
Add the Contact Manager Form block to a page, post your own form to the same-site endpoint, or send JSON from other sites with an API key.
- Follow up
Review new contacts, change their status, reply by email and check delivery in Email History.
See it in the back office

umContactManager questions
Need a custom feature or help installing? OSKI built this package and can help.
Contact usWhich Umbraco and .NET versions does it need?+
Umbraco 17 or 18 on .NET 10. Versions before 1.1.0 support Umbraco 17 only.
Is umContactManager free?+
Yes. It is free to use in your own and client projects with no license key. It is not open source, and services you connect, such as AI providers, Postmark or S3, bill you directly.
I installed it but the Contacts section is missing. Why?+
Umbraco hides new sections until a user group is allowed to see them. Go to Settings, Users, User groups, pick your group, tick Contacts under Sections, save and reload the back office.
Do I have to use AI?+
No. AI replies and lead research are optional and off until you add an OpenAI or Anthropic key. When they are on, the contact fields you select are sent to that provider.
Can I keep my existing form markup?+
Yes. Post your form to the same-site endpoint with an antiforgery token, or call the external API with an API key from another site or a backend.
Does it include a CAPTCHA?+
It provides the hook, not the widget. Register your own verifier in the host app and send the token with the form.
Other products
OSKI Time & CRM
OSKI's own platform for time tracking, leave, tasks and pay: a desktop tracker that records work time, plus a web CRM for worklogs, boards, reports and salaries.
See the platform →
NestedPagesView
Free Umbraco property editor that shows a container's child pages inline on the parent, so editors can update, publish or unpublish many pages from one screen.
Free · details →
OskiStarterKit
Free Umbraco starter kit with prebuilt page types, Block Grid layouts, multi-level menus, SEO fields, SMTP settings and custom error pages.
Free · details →Need umContactManager customized or a package built for your Umbraco site?
A spec, a Figma file or three paragraphs is enough to start.
- First reply · from an engineer, not a sales rep
- 30-min call · with Roman, our CTO, to clarify scope
- After the call · a written proposal with plan, team and price
