Configure company settings, modules, and preferences
Organization profile
Define your organization's identity.
Upload your logo โ it appears in the header and reports.
Hide optional fields
Hide optional Work Order fields your team doesn't use to keep the create and edit form clean. This is a Business plan feature.
The same page controls what technicians see โ and must fill in โ when they press Mark Complete. Each section has a Hide checkbox and, where it makes sense, a Mandatory one. Anything you mark Mandatory is enforced in the mobile app and the API too, not just in the dialog.
On the same Settings โ Work Order Form page you can set the order the detail tabs appear in. Use the up and down arrows, then Save. A common use: move Custom above Signatures so your closure fields are filled in before the work order is signed. The Details tab always stays first, and the same order is used for the sections of the exported PDF.
On the same Settings โ Work Order Form page you can also hide tabs you don't use from the work order detail page. The change applies to everyone in your company.
Additional costs, Asset status and Dictate completion can be hidden but never made mandatory: "no extra cost" and "no change" are valid answers, and dictation is an assistant rather than a field. A section your own workflow requires stays visible even if you hide it here โ configuration can declutter the dialog, it can never trap someone in a work order they cannot close.
Core fields (title, description, priority, status, location, asset, assignment) stay visible and can't be hidden. Hidden fields keep their existing data โ values are preserved, just not shown on the form.
The Details tab always stays visible and can't be hidden. Hidden tabs keep their existing data โ it is only removed from view.
Hide fields and tabs you do not use
The asset form carries every field a maintenance team could need, which is more than most teams use. Hide the optional ones to keep the create and edit form short. This is a Business plan feature.
Hiding a field never deletes anything. Values already recorded are kept, and un-hiding the field brings them straight back. If you later move to a smaller plan, your hidden fields stay hidden.
Name, Status, Location and Category are what makes an asset findable and classifiable, so they cannot be hidden.
The same page has a second card, "Asset page tabs". Tick a tab to remove it from every asset page โ Meters, Calibration, Bill of Materials and eleven others. Overview always stays. Note that this applies to the whole company, administrators included: there is no per-role tab visibility.
Hide fields, rename labels, require a photo
Tailor the intervention request form โ hide fields your requesters don't need, rename labels to match your wording, and require a photo. Hiding fields and renaming labels is a Business plan feature; requiring a photo is available on every plan.
Give native fields your own wording โ for example rename "Title" to "Request summary". Leave a label blank to keep the default. Labels show exactly as typed and are not translated.
On the Business plan you can rename the options shown in the Priority and Request type dropdowns โ for example display 'Critical' as 'Emergency' or 'Low' as 'Routine'. Only the label your team sees changes; the underlying value stays the same, so SLA timers, escalation rules and reports keep working. These labels show as typed for everyone and are not translated.
Make at least one photo mandatory: open Settings โ Intervention Request form, and under Required native fields check Photos. This works on every plan and applies to both the in-app and public QR forms.
Title is always visible and can't be hidden. Hiding the observation option turns every submission into a problem report. Customizations apply to new submissions; existing requests keep their data.
Working days, shifts and holidays
The Work Schedule defines when your site operates. It drives a key behaviour: Preventive Maintenance and Procedure due dates automatically roll forward off your non-working days and holidays, so work never lands on a day nobody is there. Available on Business plans.
Add the dates your site does not operate. Mark a holiday as recurring to have it apply every year, or leave it as a one-off for a specific year.
Important:
Meter-based Preventive Maintenance is never affected: it is driven by readings, not calendar dates.
Define your operational shifts with a label and start/end time. Overnight shifts (ending the next day) are supported. Assign each person to a shift from their user profile.
Due dates only move when a day is non-working โ a date that already falls on a working day is never changed. If you have no Work Schedule configured, nothing changes.
The Work Schedule is about your people and site: working days, shifts and holidays, used to roll due dates and to drive the work order planner. The Operating Schedule (Company Settings โ Operations, and on each asset form) is about your machines: how many hours per day and days per week equipment runs. It only feeds reliability analytics (MTBF and Availability) and never moves any dates.
Toggle the days of the week your site operates. Days you turn off are skipped when scheduling due dates.
Configure workflows for work orders, requests, and purchase orders
FreeMaint includes a powerful, configurable workflow engine that lets you define how work orders, intervention requests, and purchase orders move through your organization. Create custom approval processes, require specific fields before transitions, and automate notifications โ all without coding.
Navigate to Company Settings > Workflows. Select the entity type (Work Orders, Requests, Purchase Orders, Purchase Requisitions, Work Permits) to configure its workflow.
Use Simple Mode for straightforward workflows with basic triggers and approvers. Switch to Visual Builder for complex multi-step processes with branching conditions using drag-and-drop flow diagrams.
Without a configured workflow, the system behaves normally โ all existing transitions continue to work unchanged.
Enable/disable features
Control which modules are available.
Start with core modules, enable others as needed.
Customize classifications
Customize categories for work orders, assets, parts, and costs.
Categories are defined by your company, not by FreeMaint โ the list is not fixed, and you never need to ask us to add one. Creating a category requires the "categories:create" permission, which the Administrator and Manager roles have by default; a role with read-only access sees the categories but no create option.
Define categories matching your reporting needs.
Regional settings
Multi-language and regional configuration.
Users can override company language in their profile.
Company-wide rules: which events fire, on which channels, to which roles, and how to keep noise down
Notification Settings is the company-level control panel for which events emit notifications, on which channels, and to which audiences. It complements each user's personal notification preferences: company settings decide what is technically possible; each user can then narrow down further from their profile.
Settings โ Notifications. Only roles holding the notifications:settings permission can edit this page โ typically ADMIN by default. Other roles see a read-only view that helps them understand what their company is sending.
Every event has three independent toggles โ in-app, email, push. You can mix and match: for example, fire in-app + push for workOrder.assigned (the assignee needs to know immediately) but email-only for inventory.lowStock (the warehouse manager will see it in the morning batch).
Some events have a companion daily digest row. The digest fires once per day at 7am UTC and aggregates everything that happened over the last 24 hours into a single message. Common digests: overdue work orders, low-stock summary, expired/expiring documents (Fleet). Turn off the per-event row and turn on the digest row to dramatically reduce inbox volume.
Outbound emails are sent from noreply@freemaint.com by default. Enterprise tenants can configure a custom from-address tied to their domain โ the setup requires adding SPF, DKIM, and a return-path DNS record. Contact support for the DNS template specific to your domain.
Each row carries an audience matrix split into two groups: people related to the item (Creator, Assignee) and your company's roles. The role pills show the actual roles defined in your company โ including custom roles โ so the list always matches Settings โ Roles. The matrix is additive โ selecting both MANAGER and Assignee means the assignee gets a copy even if they aren't a manager.
FreeMaint does not currently support a global quiet-hours window per tenant. Push notifications respect each user's device-level Do Not Disturb. For schedule-sensitive teams, pair the per-event row with the digest variant (e.g. workOrder.overdue โ workOrder.overdue.summary) so the firehose becomes a single morning brief.
When you create a new tenant, FreeMaint seeds sensible defaults โ most events on in-app + push, daily digests for overdue work orders. Tune from there rather than starting from a blank slate.
Access control settings
Enterprise-grade security features.
An administrator can recommend or require the app lock for everyone, under Company settings, Security. A phone with no screen lock at all is asked to set one and let through, never locked out โ and the requirement is applied by the app, not verified by the server, so treat it as a policy you publish rather than a control you can prove.
On the phone, FreeMaint can ask for your face, your fingerprint or your device passcode before it reopens. This protects a phone handed to a colleague or left on a bench โ the session is already on the device either way. It is not a second sign-in: it never reaches our servers, and it never replaces the password you type to approve or sign something.
An administrator can also close web sessions left idle in a browser tab, after a number of minutes you choose. Off by default. It runs in the browser, so it is a convenience for shared workstations โ what actually limits a stolen session is the sign-in token's own expiry.
FreeMaint refuses to enable the policy until you have set up two-factor authentication on your own account, so you cannot lock yourself out first. Companies signing in through SSO are exempt: their identity provider supplies the second factor.
FreeMaint supports app-based two-factor authentication (TOTP) with Google Authenticator, Microsoft Authenticator, Authy, 1Password or FreeOTP. It is included on every plan, including the free one โ account security is never a paid feature.
A passkey lets you finish a sign-in with your face, your fingerprint or a security key instead of typing a 6-digit code. Your password is still asked first โ a passkey replaces the second step, not the first. It is phishing-resistant: unlike a code, it cannot be read out over the phone to somebody pretending to be support.
If someone loses both their phone and their recovery codes, an administrator opens them in People, Users and clicks Reset 2FA. Confirm who you are talking to first โ it removes a second factor.
Review access quarterly. Deactivate departed members.
Warning:
With Sealed protection on, adding or changing a face or fingerprint in your phone's own settings signs you out of FreeMaint once. That is deliberate: it is what stops a new fingerprint enrolled on your phone from opening your session.
Warning:
Each recovery code works once, and the set is displayed a single time. Without them, only FreeMaint support can restore access if you lose your phone. You can generate a fresh set at any time from the same card โ the previous ones stop working immediately.
Warning:
Passkeys work on freemaint.com. If your workspace is served from your own domain, manage and use them on freemaint.com โ a passkey is tied to the domain it was created on, and that is a rule of the standard, not a FreeMaint limitation.
Privacy compliance
Manage data responsibly with retention policies and GDPR features.
Ensure proper consent collection if operating in the EU.
Recover records deleted by mistake
Deleted work orders, requests, assets, parts, locations, vendors and preventive maintenance schedules are moved to the Recycle Bin instead of disappearing. You can put them back, with their linked records, for 30 days.
If you created a new record with the same name in the meantime, the restore is refused and explains why. Rename the newer record, then restore again.
Delete forever destroys the recovery copy immediately. This cannot be undone, so it is limited to administrators by default.
Restoring brings back the record and its direct links. It does not replay workflows, reverse stock movements or undo meter readings. One known gap: deleting a vehicle from Fleet with the cascade option removes its meters before the snapshot reaches them, so restoring that vehicle brings back the asset without its meter readings. Think of it as an undo button for the last 30 days, not as a backup.
Not every record type is in the bin. Contracts, purchase orders, customers, tools, meters, projects, teams, categories, procedures and calibration records are still deleted permanently and cannot be recovered here. Deleting one of those is final, so check before you confirm. We are extending the bin to more record types.
The Recycle Bin is available on every plan and is restricted to administrators by default. An administrator can grant access to any other role from Roles, under Recycle Bin.
Click Restore. The record comes back with its original reference number and its links: a restored asset gets its work orders and requests back, a restored vendor is re-attached to its purchase orders, a restored part recovers its stock history and its purchase order lines.
Open Trash from the sidebar, under the analytics section. Each type of record has its own tab.
Records stay restorable for 30 days after deletion. The Restorable until column shows the exact date. After that the snapshot expires and the record can no longer be recovered.
Show live work in the maintenance area
Generate a revocable read-only link that displays your active work orders and incoming requests on any TV or computer screen in the maintenance area. No account, no login โ just open the URL in the browser. Available on the Business tier.
Under Settings โ Wallboards โ Columns, pick which columns appear and in which order. Each column is an independent filter, so the same work order can appear in several of them โ a critical job that is also late shows under both Urgent and Overdue. You can give any column your own heading.
The board shows work orders that are open, scheduled, in progress or on hold โ paused ones carry an "On Hold" label. Completed, closed, cancelled and deleted work orders drop off the board automatically.
Tip: if you don't have a smart TV, any laptop or mini-PC plugged into a screen works. Set the browser to kiosk mode for full-screen display.
Let users sign in with your company identity provider
Connect your SAML 2.0 or OpenID Connect identity provider (Okta, Microsoft Entra ID, Google Workspace, OneLogin, Pingโฆ) so your team signs in with their corporate credentials. Available on the Enterprise plan. User accounts can be created automatically on first login (just-in-time provisioning).
A domain is only routed to your identity provider after you prove you own it via a DNS TXT record. This prevents anyone else from claiming your domain and is required before SSO discovery will work for your users.
On the sign-in page users enter their work email and click "Sign in with SSO". They are redirected to your identity provider and back into FreeMaint once authenticated โ no FreeMaint password needed.
Just-in-time provisioning auto-creates a user (with the default role you choose) on their first successful SSO login. "Require SSO" blocks password login for users on a verified SSO domain โ recommended once SSO is working, so corporate identity is the single source of truth (NIST 800-63).
FreeMaint never stores your IdP secrets: they are held by the dedicated, self-hosted identity broker. All SAML assertion validation and signature-wrapping defense are handled there.
Send FreeMaint events to a Slack, Teams or Zoho Cliq channel
Push work-order, request and low-stock notifications straight into a Slack, Microsoft Teams or Zoho Cliq channel. Available on the Enterprise plan. No code โ paste an incoming webhook URL and pick the events.
Apply your logo, brand color and name across your workspace
Make FreeMaint look like your own product. Upload your logo, set a primary brand color and a brand name shown across the app and your public QR pages. Available on the Enterprise plan.
Enterprise plans can serve FreeMaint from your own hostname, for example cmms.yourcompany.com. You set it up on this same page, at the bottom: enter the hostname, add the CNAME record we show you, then click "Verify DNS". Full guide: Settings & Configuration > Custom domain.
You do not need a domain to give your team a branded sign-in page. Set a login slug on this page and share https://freemaint.com/auth/signin?org=<your-slug> โ it shows your logo, colours and welcome message before anyone signs in.
Custom branding and white-label are part of the Enterprise plan. The company logo upload is available on every plan; brand color, brand name and hiding the attribution require Enterprise.
Enable "Hide Powered by FreeMaint" to remove the FreeMaint attribution from the app and your public QR landing pages โ useful for resellers and fully white-labelled deployments.
Serve FreeMaint from your own address, for example cmms.yourcompany.com
On the Enterprise plan your team can sign in at your own web address instead of freemaint.com. You set this up yourself in three steps, and you can check the DNS without waiting for us.
The record points your subdomain at FreeMaint. It always looks the same: your hostname, type CNAME, value www.freemaint.com. Use a TTL of 3600 (one hour). If your provider cannot create a CNAME at that name, an A record to our address works too โ ask us for it. This is a new subdomain: it does not affect your main website.
You do not need to buy a domain to get a branded sign-in page. Company Settings > Branding also gives you a login link like freemaint.com/auth/signin?org=<your-slug> that already shows your logo and colours.
DNS changes can take up to an hour to spread. "Verify DNS" is safe to click as often as you like: it either confirms the record or tells you exactly what is still missing. Until a domain is verified it is never served, so a hostname you typed by mistake cannot expose anything. Once verified, the certificate is issued automatically and renews on its own.
Warning:
If your DNS is behind Cloudflare, the record must be set to "DNS only" (grey cloud, not orange). A proxied record points at Cloudflare rather than at us, so verification fails and the SSL certificate can never be issued. This is by far the most common reason a custom domain does not come up.
FreeMaint CMMS
ยฉ 2026 Freemaint LLC. All rights reserved.