Getting Started
Creating your account
Visit app.formict.com/signup to create a new account. You can sign up with an email address and password, or use Google OAuth for one-click registration.
After signing up, you'll receive a verification email. Click the link in the email to verify your account before proceeding.
Onboarding
Once verified, you'll be guided through a three-step onboarding process:
- Create your organization — Enter your company name. This creates your workspace where all your data lives. Every resource (jobs, vehicles, customers) belongs to your organization.
- Set up your first location — Add your primary depot or office. Enter the address and coordinates. This location serves as the starting and ending point for your vehicles.
- Invite your team — Send email invitations to your team members. Assign them as Admin (office staff) or Worker (field staff). You can skip this step and invite people later.
First steps after onboarding
Once onboarding is complete, you'll land on the dashboard. Here's the recommended setup order:
- Add your customers with their service addresses
- Add your vehicles and assign them to your location
- Create shifts for your vehicles (daily availability windows)
- Create your first jobs
- Run your first route optimization
Dashboard Overview
The Formict dashboard is organized around a left sidebar with quick access to all major features. The top navigation bar shows your current location filter and user profile.
Navigation
The sidebar contains links to:
- Jobs — Create, view, and manage field service work items
- Map — Live map with worker locations and job dispatch
- Route Optimization — Create scenarios and run the route solver
- Attendance — Track worker check-ins and check-outs
- Forms — Build custom data collection forms
- Settings — Organization settings, team, billing, and more
Location filter
If your organization has multiple locations, use the location filter in the navbar to scope your view. When a location is selected, jobs, vehicles, and optimization results are filtered to that location only. Select "All Locations" to see everything.
Jobs
Jobs are the core work items in Formict. Each job represents a task that needs to be completed at a customer's location — a delivery, service call, installation, inspection, or any other field operation.
Creating a job
Click New Job on the Jobs page. Fill in the following fields:
- Title — A short description of the work (e.g., "AC Maintenance")
- Description — Optional detailed instructions for the field worker
- Customer — Select a customer from your list. The job location will auto-populate from the customer's address. You can also specify a custom location.
- Priority — Low, Normal, or High. Higher priority jobs are preferred by the optimizer.
- Service duration — How long the job takes on-site, in minutes. This is factored into route timing.
- Time window — The earliest start and latest end time. Choose Hard (strict, job is dropped if it can't fit) or Soft (flexible, solver penalizes but still assigns).
- Tags — Required skills or certifications. Only vehicles with matching tags can serve this job.
- Capacity demands — How much space/weight this job requires from the vehicle's capacity dimensions (e.g., 2 pallets, 50 kg).
- Form — Attach a published form that field workers must fill out when completing this job.
Job status workflow
Jobs progress through these statuses:
- Created — The job exists but hasn't been assigned to anyone.
- Assigned — The job has been assigned to a vehicle/worker, either manually or via route optimization.
- In Progress — The field worker has started working on the job.
- Completed — The job is done. If a form was attached, the worker should have submitted it.
- Cancelled — The job was cancelled and will not be completed.
Filtering and searching
Use the filter bar at the top of the Jobs page to narrow results:
- Filter by status (Created, Assigned, In Progress, Completed, Cancelled)
- Filter by priority (Low, Normal, High)
- Filter by location (the location filter in the navbar)
- Search by job title or description
Bulk operations
Select multiple jobs using the checkboxes, then use the bulk action menu to:
- Change status for all selected jobs
- Delete selected jobs
- Assign selected jobs to a specific worker
CSV import
Import jobs in bulk by uploading a CSV file. The import dialog provides a template with the required column headers. Map your CSV columns to job fields, preview the import, and confirm.
Customers
Customers represent the people or businesses where your field work takes place. Each customer has a service address with GPS coordinates that the optimizer uses when planning routes.
Adding a customer
Navigate to Settings → Customers and click New Customer. Fill in:
- Name — Customer or business name
- Email — Contact email (optional)
- Phone — Contact phone number (optional)
- Address — Full street address for the service location
- Latitude & Longitude — GPS coordinates. Use the map picker to set these accurately.
- Service duration — Default time to spend at this customer (can be overridden per job)
- Notes — Internal notes about this customer or their location
Bulk import
Import customers from a CSV file with columns for name, address, coordinates, and contact details.
Vehicles & Fleet
Vehicles represent your fleet — the cars, vans, trucks, or motorcycles that your team uses to reach job sites. Each vehicle is assigned to a location (depot) where it starts and ends its route.
Adding a vehicle
Navigate to Settings → Vehicles and click New Vehicle. Configure:
- Name — Vehicle identifier (e.g., "Van-01", "Truck B")
- Location — The depot where this vehicle is based. The vehicle starts and ends its route here.
- Cost parameters:
- Fixed cost — Daily cost of using this vehicle (regardless of distance)
- Cost per km — Variable cost per kilometer driven
- Cost per hour — Variable cost per hour of operation
- Speed factor — A multiplier for this vehicle's speed relative to the baseline. Use 1.0 for normal speed, 0.8 for slower vehicles, 1.2 for faster vehicles.
- End policy — Where the vehicle ends its route:
- Return to depot — Vehicle returns to its start location after the last job
- End at last job — Vehicle's route ends wherever its last job is
- Capacity — Set values for each capacity dimension (e.g., 1000 kg weight, 5 pallets). The optimizer ensures no vehicle is overloaded.
- Tags — Skills or capabilities this vehicle has (e.g., "refrigerated", "hazmat", "heavy-lift"). Only jobs with matching required tags are assigned to this vehicle.
Active / inactive status
Deactivate a vehicle to exclude it from route optimization without deleting it. Inactive vehicles are preserved with their history but won't appear in optimization runs.
Locations & Depots
Locations are your operational hubs or depots — the places where vehicles are parked and where workers start their day. Every vehicle must be assigned to a location.
Adding a location
Navigate to Settings → Locations and click New Location. Fill in:
- Name — Location name (e.g., "Main Office", "North Warehouse")
- Code — Optional short code for quick reference
- Address — Full street address
- Latitude & Longitude — GPS coordinates (use the map picker)
- Description — Optional notes about this location
Primary location
Mark one location as primary. This is the default location used for new resources and acts as the fallback for features that require a location filter.
Jurisdiction zones
Draw a polygon on the map to define this location's jurisdiction zone — the geographic area it covers. This is used with the Minimize Overlap optimization goal to ensure vehicles stay within their designated zones.
To set up a jurisdiction zone:
- Open the location edit dialog
- Click the draw tool on the map
- Click points to define the polygon boundary
- Close the polygon by clicking the first point
- Choose a color for the zone (used on the map view)
- Save the location
Shifts & Schedules
Shifts define when your vehicles and workers are available. The route optimizer uses shift times as the available time window for each vehicle — jobs can only be scheduled during the shift.
Creating a shift template
A shift template is a recurring weekly schedule. Navigate to Settings → Shifts and click New Shift:
- Worker — Which team member works this shift
- Vehicle — Which vehicle is assigned during this shift
- Location — The depot for this shift
- Day of week — Monday through Sunday
- Start time & End time — The work window (e.g., 08:00 to 17:00)
- Breaks — Add break periods within the shift. Each break has a start time, duration, and whether it's paid or unpaid. The optimizer schedules around breaks.
Shift instances
A shift instance is a specific occurrence of a shift on a particular date. Shift instances are automatically generated from templates but can be individually modified. Use shift instances to:
- Override the vehicle or worker for a specific day
- Change the start/end time for one day only
- Cancel a shift for a holiday or absence
- Track completion status (Scheduled, Completed, Cancelled, No-Show)
Route Optimization
Route optimization is Formict's core feature. It uses a mathematical solver (Google OR-Tools) to find the best way to assign jobs to vehicles and determine the optimal visit sequence, considering all your constraints — time windows, vehicle capacity, skills, and more.
Creating a scenario
An optimization scenario is a saved configuration. Navigate to Route Optimization and click New Scenario:
- Name — A descriptive name (e.g., "Monday North Zone")
- Goal — What to optimize for:
- Minimize Distance — Shortest total travel distance across all vehicles (default, all plans)
- Minimize Time — Fastest total completion time (all plans)
- Minimize Cost — Lowest cost using vehicle cost parameters (Starter+)
- Balance Workload — Even job distribution while optimizing distance (Pro+)
- Split Equally — Equal job counts per vehicle, may increase distance 10–20% (Pro+)
- Minimize Overlap — Respect jurisdiction zones, keep vehicles in their areas (requires zones)
- Location — Which depot(s) to include
- Traffic buffer — Extra time added to every route leg to account for traffic
- Allow overtime — Whether vehicles can work past their shift end time, and by how much
- Speed factor — Global speed multiplier applied on top of individual vehicle speed factors
- Vehicle limit — Maximum number of vehicles to use (even if more are available)
Running an optimization
Click Run on your scenario. The system will:
- Validate your setup (vehicles, shifts, jobs, constraints)
- Show any warnings (missing shifts, jobs outside time windows, etc.)
- Send the problem to the solver
- Track progress (Queued → Running → Completed)
- Display results when done
Reading the results
After an optimization run completes, you'll see:
- Route map — Each vehicle's route drawn on the map in a unique color. Click a route to see the job sequence.
- Metrics panel:
- Total distance (km)
- Total duration
- Total cost (if using cost-based goal)
- Number of assigned vs. unassigned jobs
- Jobs per vehicle breakdown
- Route details — Click a vehicle to see its full route: job sequence, arrival times, departure times, and service durations.
- Unassigned jobs — Jobs the solver couldn't fit, with reasons:
- Capacity — The job's demands exceed available vehicle capacity
- Time window — No vehicle can reach the job within its time window
- Skills — No available vehicle has the required tags
- Vehicle limit — All vehicles are at capacity and no more are available
Applying results
If you're satisfied with the results, click Apply to:
- Assign each job to its designated vehicle/worker
- Update job statuses to "Assigned"
- Save the route sequence for field workers to follow
You can also run multiple scenarios with different goals and compare the results before applying.
Tips for better optimization
- Set realistic time windows on jobs — overly tight windows increase dropped jobs
- Use soft time windows when slight delays are acceptable
- Always set service duration on jobs to account for on-site work time
- Configure breaks in shifts for legal compliance
- Use tags to match specialized workers to specific job types
- Start with Minimize Distance and try other goals to compare trade-offs
Shift Optimization
Shift optimization helps you plan weekly work schedules. Instead of manually assigning workers to shifts, the solver distributes shifts based on demand, availability, costs, and workload balance.
Setting up a shift optimization
- Navigate to Shift Optimization
- Select the target week (Monday-based)
-
Choose a goal:
- Minimize Cost — Reduce total labor costs
- Balance Workload — Distribute hours evenly across workers
- Maximize Coverage — Meet all demand requirements
- Split Equally — Equal shift distribution among workers
- Define worker demand per day — the minimum and maximum number of workers needed for each day of the week
-
Optionally configure worker overrides:
- Days off per worker
- Preferred shift times
- Cost per hour
- Max hours per day and per week
Reviewing results
After the solver runs, you'll see:
- Generated shift assignments per worker per day
- Total shifts, hours, and estimated cost
- Demand coverage metrics (how well the schedule meets your requirements)
- Workload balance score
- Any unassigned workers and why
Click Apply to create shift instances from the results, or Discard to delete the run and try different parameters.
Forms & Data Collection
Forms let you collect structured data from field workers. Build custom forms with a visual editor, attach them to jobs, and view submissions from the dashboard or mobile app.
Building a form
Navigate to Forms and click New Form. The form builder provides:
- Drag-and-drop fields — Add, reorder, and remove fields
- Field configuration — Set labels, placeholders, help text, and validation rules
- Preview — See how the form looks on desktop, tablet, and mobile
Available field types
| Type | Description |
|---|---|
| Text | Single-line text input with optional min/max length and regex pattern |
| Paragraph | Multi-line textarea for longer responses |
| Number | Numeric input with optional min/max value and decimal places |
| Checkbox | Yes/no toggle |
| Select | Dropdown with predefined options (single choice) |
| Multi-Select | Multiple choice checkboxes |
| Date | Date picker |
| Time | Time picker |
| Date & Time | Combined date and time picker |
| Image | Photo capture from camera or gallery upload |
| Video | Video capture or upload |
| File | Document or file upload |
| Signature | Signature pad for capturing handwritten signatures |
| Geolocation | Captures GPS coordinates automatically on mobile |
| Instruction | Display-only text for providing instructions to the worker |
| Display Image | Display a reference image within the form |
Validation
Each field supports:
- Required / optional — Whether the field must be filled
- Custom regex pattern — Validate input format (e.g., serial numbers)
- Min / max constraints — Length for text, value range for numbers
- Custom error messages — Displayed when validation fails
Conditional logic
Show or hide fields based on other field values. For example, show a "Reason for rejection" text field only when the "Inspection result" dropdown is set to "Failed". Conditional logic is available on Starter plans and above.
Publishing
Forms must be published before they can be attached to jobs. Publishing creates an immutable snapshot — the form structure is locked so existing submissions remain consistent. To make changes, duplicate the form, edit the copy, and publish the new version.
Viewing submissions
Click a form in the list to see all submissions. Each submission shows:
- Who submitted it and when
- Which job it was for
- All field values, including uploaded images, signatures, and files
Map & Dispatch
The Map page provides a real-time view of your field operations. See worker locations, job markers, depot locations, and jurisdiction zones all on one interactive map.
Live worker tracking
Workers using the mobile app share their GPS location at regular intervals. On the map, you'll see each worker's current position with their online/offline status. The update frequency depends on your plan:
- Free — Every 5 minutes
- Starter — Every 3 minutes
- Pro / Enterprise — Every 1 minute
Job dispatch
Assign jobs directly from the map:
- Manual assignment — Click a job marker, then select a worker to assign it to
- Auto-assign — Click the auto-assign button to let the system match unassigned jobs to the nearest available workers. Preview the assignments before confirming. The system considers worker tags, availability, and proximity.
Jurisdiction zones
If you've defined jurisdiction polygons for your locations, they appear as colored overlays on the map. Jobs outside a location's zone will show a warning when you try to assign them to vehicles based at that location.
Attendance
Track when and where your field workers start and end their day. Attendance records include GPS coordinates and optional photo verification to prevent buddy punching.
How it works
- Workers open the mobile app and tap Check In at the start of their shift
- The app captures their GPS coordinates and optionally requires a photo
- The worker selects their location (depot) and adds any notes
- At the end of the shift, they tap Check Out with the same process
Attendance statuses
- Pending — Checked in but not yet checked out
- Completed — Both check-in and check-out recorded on time
- Late — Checked in after the shift start time (beyond the late threshold)
- Partial — Only check-in or only check-out was recorded
- Absent — No check-in was recorded for a scheduled shift
Attendance settings
Configure attendance policies in Settings → Attendance:
- Require location — Workers must select a location when checking in/out
- Require check-in photo — Workers must take a photo when checking in
- Require check-out photo — Workers must take a photo when checking out
- Auto check-out — Automatically check out workers at a specified time if they forget
- Late threshold — Minutes after shift start before a check-in is marked as late (default: 15 minutes)
Team Management
Manage your organization's team members, roles, and invitations.
Inviting team members
Navigate to Settings → Team and click Invite Member. Enter the email address and select a role:
- Admin — Can manage all resources but cannot change billing or org settings
- Worker — Can view assigned jobs, update statuses, submit forms, and check in/out
Invitations are sent via email and expire after 7 days. You can resend or cancel pending invitations.
Managing roles
Change a team member's role by clicking on their profile in the team list. Only Owners and Admins can change roles.
Worker assignment eligibility
Toggle whether a worker is eligible for job assignment. Workers marked as non-assignable won't appear in assignment dropdowns or auto-assign operations. Useful for workers who are on leave or performing administrative duties.
Job Templates & Recurrence
Job templates let you define repeating jobs that are automatically generated on a schedule. Use them for recurring maintenance, regular deliveries, or any job that happens on a predictable pattern.
Creating a template
Navigate to Job Templates and click New Template. Configure:
- Job details — Title, description, customer, priority, service duration, time windows, tags, capacity demands, and attached forms (same fields as a regular job)
- Recurrence rule:
- Frequency — Daily, Weekly, Monthly, or Yearly
- Interval — Every N periods (e.g., every 2 weeks)
- Days — Specific days of the week (for weekly frequency)
- Dates — Specific dates of the month (for monthly frequency)
- Count — Maximum number of occurrences before stopping
- Until date — End date for the recurrence
- Auto-assign — Optionally assign generated jobs to a specific worker automatically
Managing templates
- Activate / Deactivate — Toggle auto-generation on or off
- Preview — See the next scheduled occurrences before activating
- Manual trigger — Generate a job from the template immediately
- History — View all jobs that were generated from this template
Automations
Automations let you define "if this, then that" rules that execute automatically when certain events occur. Reduce manual work by automating common follow-up actions.
Trigger events
An automation fires when one of these events occurs:
- Job Created — A new job is created
- Job Updated — A job's details are modified
- Status Changed — A job's status transitions (with optional old/new status filters)
- Job Assigned — A job is assigned to a worker
- Job Unassigned — A job is removed from a worker
- Job Completed — A job is marked as completed
- Job Cancelled — A job is cancelled
- Form Submitted — A form submission is received for a job
Trigger filters
Narrow when the automation fires by adding filters:
- By specific customers
- By specific locations
- By priority levels
- By job tags
- By template source (only auto-generated jobs)
- By previous/new job status (for status change events)
Actions
When triggered, the automation executes one of these actions:
- Create Follow-Up Job — Automatically create a new job based on the triggering job
- Assign to Worker — Assign the job to a specific worker
- Auto-Assign — Run the auto-assign algorithm on the job
- Update Status — Change the job's status
- Send Webhook — POST the event data to an external URL
- Send Notification — Push a notification to workers' mobile devices
Monitoring
View the execution log for each automation to see when it ran, whether it succeeded or failed, and how long it took. Failed executions include error details for debugging.
Tags & Skills
Tags are labels that represent skills, certifications, or capabilities. They enable skill-based routing — ensuring the right vehicle and worker are assigned to jobs that require specific expertise.
How tags work
- Create tags in Settings → Tags (e.g., "Refrigerated", "Electrician", "Heavy Lift")
- Assign tags to vehicles to declare what they can do
- Add required tags to jobs to specify what they need
- The optimizer will only assign jobs to vehicles that have all required tags
Examples
- Tag "hazmat" on a truck → only this truck gets jobs tagged "hazmat"
- Tag "certified-electrician" on a worker → only they get electrical service jobs
- Tag "refrigerated" on a van → cold-chain delivery jobs go to this van
Capacity Dimensions
Capacity dimensions let you define custom units for vehicle capacity constraints. The optimizer ensures that the total demands of jobs assigned to a vehicle never exceed its capacity in any dimension.
Setting up dimensions
Navigate to Settings → Capacity Dimensions and create dimensions like:
- Weight (kg) — Vehicle can carry 1000 kg, each job requires some amount
- Volume (m³) — Van has 8 m³, each delivery takes space
- Pallets (count) — Truck has 12 pallet slots, each order uses some
- Items (count) — Vehicle carries max 50 items per trip
Using dimensions
- Set the vehicle capacity for each dimension (e.g., 1000 kg)
- Set the job demand for each dimension (e.g., 50 kg per job)
- The optimizer totals up demands per vehicle route and ensures no dimension is exceeded
API Keys
API keys let you integrate Formict with external systems. Create keys with specific scopes and rate limits to control access. Available on Pro plans and above.
Creating an API key
Navigate to Settings → API Keys and click New Key:
- Name — A descriptive label (e.g., "ERP Integration")
- Description — What this key is used for
- Scopes:
- Read — Can read jobs, customers, vehicles, etc.
- Write — Can create and update resources
- Admin — Full access including team and settings
- Expiration — When the key expires (optional)
- Rate limit — Maximum requests per minute
Using your API key
Include the API key in the Authorization header of your requests:
Authorization: Bearer your-api-key-here
All API endpoints are available under /v1/api/. The API follows RESTful
conventions and returns JSON responses.
Managing keys
- View the key prefix and last-used timestamp
- Track usage count and last IP address
- Regenerate a key if compromised (old key is immediately invalidated)
- Revoke or delete keys you no longer need
Mobile App
The Formict mobile app is built for field workers. Available on iOS and Android, it provides everything workers need to receive assignments, navigate to jobs, collect data, and track time.
Getting started on mobile
- Download the Formict app from the App Store or Google Play
- Sign in with your email/password or accept an invitation link
- Grant location permissions for GPS tracking (optional but recommended)
- Enable push notifications to receive job assignments and updates
Main features
- Map tab — View your location, nearby jobs, and other workers on a live map
- Jobs tab — See your assigned jobs, filter by status and priority, update job status, and fill out attached forms
- My Route tab — View your optimized route for the day with jobs in order. Tap a job to navigate using Google Maps or Apple Maps.
- Settings tab — Edit your profile, change password, and manage notifications
Filling out forms
When a job has an attached form, tap the form button to open it. The mobile app supports all field types including camera capture, signature pads, and GPS coordinates. Forms support offline mode — if you lose connectivity, your progress is saved locally and submitted when you're back online.
Attendance on mobile
Tap the attendance icon to check in at the start of your shift. The app captures your GPS coordinates and can optionally require a photo. Check out at the end of your shift using the same process.
Background location tracking
With location permissions granted, the app tracks your position in the background and sends updates to the server. This enables the live map view for dispatchers. The app uses minimal battery by only recording when you've moved more than 10 meters.
Push notifications
The app sends push notifications for:
- Job assigned — When a new job is assigned to you
- Optimization complete — When a route optimization finishes and your route is ready
Tapping a notification takes you directly to the relevant job or optimization result.
Deep links
The app supports deep links for common actions:
formict://accept-invitation?token=...— Accept a team invitationformict://verify-email?token=...&email=...— Verify your emailformict://reset-password?token=...— Reset your password
Resource management
Admins and Owners can manage resources directly from the mobile app:
- Customers — Create, view, edit
- Locations — Create, view, edit
- Vehicles — Create, view, edit
- Shifts — Create, view, edit
- Tags — Create, view, edit
- Capacity Dimensions — Create, view, edit
- Team — View members, send invitations, update roles
Settings
Organization settings
Owners can configure organization-wide settings in Settings → Organization:
- Name — Organization name displayed throughout the app
- Logo — Organization logo (used in headers and reports)
- Address — Company address
- Timezone — Organization's primary timezone
Profile settings
Every user can update their own profile:
- Name and phone number
- Location assignment
- Password change (requires current password)
Audit log
Owners and Admins on Pro plans can view a detailed audit trail in Settings → Audit Log. The log records who did what and when — job creation, status changes, team changes, settings modifications, and more. Each entry includes the user, action, timestamp, IP address, and relevant metadata.
Billing & Plans
Formict offers four subscription plans to fit organizations of different sizes.
Plans overview
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Included users | 1 admin + 2 workers | 1 admin + 3 workers | 2 admins + 5 workers | Unlimited |
| Jobs / month | 50 | 500 | 3,000 | Unlimited |
| Customers | 10 | 100 | 1,000 | Unlimited |
| Vehicles | 2 | 5 | 15 | Unlimited |
| Locations | 1 | 3 | 10 | Unlimited |
| Optimization runs / month | 5 | 30 | 150 | Unlimited |
| Jobs per optimization | 10 | 50 | 200 | Unlimited |
| Forms | 2 | 5 | 20 | Unlimited |
| Storage | 250 MB | 2 GB | 20 GB | Custom |
| Data retention | 90 days | 1 year | 3 years | Custom |
Per-seat pricing
Each plan includes a base number of users. Need more? Add extra seats:
- Starter — Extra workers at $8/month, extra admins at $15/month
- Pro — Extra workers at $6/month, extra admins at $12/month
- Enterprise — Custom pricing
Annual billing
Save 2 months by paying annually. You pay for 10 months and get 12 months of service. Switch between monthly and annual billing at any time.
Upgrading and downgrading
Upgrade your plan instantly from Settings → Billing. Downgrades take effect at the end of your current billing period. Your data is always preserved — if you downgrade and exceed a limit, you'll need to reduce usage before creating new resources of that type.
Usage tracking
The billing page shows your current usage against your plan limits with progress bars for:
- Team members (admins and workers separately)
- Monthly resources (jobs, optimization runs)
- Total resources (customers, vehicles, locations, forms)
- Storage usage
Feature availability by plan
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Minimize Distance / Time goals | Yes | Yes | Yes | Yes |
| Minimize Cost goal | — | Yes | Yes | Yes |
| Balance Workload / Split Equally goals | — | — | Yes | Yes |
| Soft time windows | — | Yes | Yes | Yes |
| Pickup & delivery pairs | — | — | Yes | Yes |
| Conditional form logic | — | Yes | Yes | Yes |
| Offline form submission | — | Yes | Yes | Yes |
| Live map view | — | Yes | Yes | Yes |
| Background GPS tracking | — | Yes | Yes | Yes |
| Photo verification (attendance) | — | Yes | Yes | Yes |
| Data export (CSV) | — | Yes | Yes | Yes |
| Audit logs | — | — | Yes | Yes |
| API access | — | — | Yes | Yes |
| SSO (Single Sign-On) | — | — | — | Yes |
| VPC Deployment | — | — | — | Yes |
Roles & Permissions
Formict uses three roles to control access throughout the platform.
Owner
Full control over the organization. Owners can:
- Manage all resources (jobs, vehicles, customers, locations, etc.)
- Manage team members (invite, remove, change roles)
- Configure organization settings
- Manage billing and subscription
- Create and manage API keys
- Create and manage automations
- View audit logs
- Delete the organization
Admin
Can manage day-to-day operations but not billing or org-level settings. Admins can:
- Create, edit, and delete all resources
- Manage team members (send invitations, change roles)
- Run route and shift optimization
- Create and manage forms, templates, and automations
- View the live map and dispatch jobs
- View attendance records
Worker
Field workers with limited access. Workers can:
- View their assigned jobs and update statuses
- Submit forms attached to their jobs
- Check in and check out (attendance)
- View the map
- View their optimized route
- Edit their own profile
Workers cannot create resources, manage other team members, or access organization settings.
Troubleshooting
Optimization keeps dropping jobs
- Check time windows — If your time windows are too tight, the solver can't fit all jobs. Widen the time windows or switch to soft time windows.
- Check vehicle capacity — If job demands exceed vehicle capacity, those jobs will be dropped. Increase vehicle capacity or reduce job demands.
- Check tags — Jobs with required tags that no vehicle matches will be dropped. Ensure at least one vehicle has the required tags.
- Check shifts — Vehicles without an active shift for the optimization date will be excluded. Create shifts for the target date.
- Increase vehicle limit — If you've set a vehicle limit lower than what's needed, some jobs won't fit.
Workers not appearing on the map
- Ensure the worker has granted location permissions to the mobile app
- Check that the worker is signed in to the app
- Verify the worker is assigned to the location you're viewing (check location filter)
- Workers appear as "offline" if no location update has been received in the last 10 minutes
Forms not appearing on jobs
- Forms must be published before they can be attached to jobs
- Draft forms are only visible in the form builder, not in job assignment
- Check that the form is attached to the specific job (not just created)
Invitation email not received
- Check the spam/junk folder
- Verify the email address is correct (check for typos)
- Try resending the invitation from Settings → Team
- Invitations expire after 7 days — send a new one if expired
Attendance showing wrong status
- Late threshold — Check the late threshold setting. The default is 15 minutes. Check-ins within the threshold are marked as "on time."
- Auto check-out — If enabled, workers are automatically checked out at the configured time, which may result in unexpected "Partial" statuses.
- Timezone — Ensure your organization's timezone is set correctly in Settings → Organization.
Mobile app not syncing
- Check your internet connection (Wi-Fi or cellular data)
- Force-close and reopen the app
- Check that you're signed in (go to Settings tab)
- For form submissions saved offline, they'll sync automatically when connectivity returns
Plan limits reached
When you hit a limit (e.g., max jobs per month), you'll see a notification and won't be able to create more of that resource type until:
- You upgrade to a higher plan
- The billing cycle resets (for monthly limits like jobs and optimization runs)
- You delete existing resources to free up space (for total limits like customers)
Need more help? Contact our support team or explore the blog for tutorials and best practices. For programmatic access, see the API Reference.