Services
Custom software developmentUmbraco developmentWeb developmentCRM developmentERP developmentAI & LLM integration.NET development & modernizationE-commerce developmentIntegrations & automationCloud & DevOpsMaintenance, support & project rescueDedicated teams & white-label
Our Work
Case studiesProducts
About Blog Contact
Umbraco package · Forms & CRM

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
Contacts section in the Umbraco back office with the Incoming list showing source, request count, last activity, status dropdowns and latest email delivery badges
Downloads937
Latest versionv1.2.1
Works withUmbraco 17–18
LicenseFree · Proprietary, free to use
Why it exists

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)
Features

What umContactManager does

Contacts section

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.

Three ways to receive leads

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.

Spam and abuse controls

Rate limits per IP, a honeypot field, payload and file limits, allowed origins, CAPTCHA hooks and a threshold that moves repeat senders to Spam.

Email in the CRM

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.

Notifications

Telegram alerts for new submissions, customer replies and direct email leads, with editable message templates.

Optional AI help

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.

Contact details

Each contact shows every submission with source page, landing page, page history, IP with GeoIP lookup, and the full email thread.

Attachment storage

Keep uploaded files on local disk or in an Amazon S3 bucket.

How it works

From install to first use

dotnet add package umContactManager
  1. Install

    Run dotnet add package umContactManager. The package registers itself and runs its database migrations on startup.

  2. 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.

  3. 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.

  4. 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.

  5. Follow up

    Review new contacts, change their status, reply by email and check delivery in Email History.

Screens

See it in the back office

FAQ

umContactManager questions

Need a custom feature or help installing? OSKI built this package and can help.

Contact us
Which 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.

Start a project

Need umContactManager customized or a package built for your Umbraco site?

A spec, a Figma file or three paragraphs is enough to start.

  1. First reply · from an engineer, not a sales rep
  2. 30-min call · with Roman, our CTO, to clarify scope
  3. After the call · a written proposal with plan, team and price
Roman Oleksuk
Roman Oleksuk, CTOPrefer to talk? Pick a slot in Roman's calendar
We reply from a human mailbox. No newsletters. Your brief stays under NDA on request. We use your details only to reply; see our privacy policy.