Who this is for: Business owners looking to offer self-service options to customers
Time to learn: 15 minutes
What you'll master: Enable portal, invite customers, customize branding, manage portal features, handle customer-submitted requests
Why Customer Portal Matters
A customer portal reduces your workload while improving customer satisfaction. Customers can:
- Submit service requests 24/7 (no phone calls needed)
- View all past jobs and invoices
- Pay invoices online instantly
- Update their own contact information
- Track job status in real-time
Real example: Mrs. Johnson's AC stops working at 9 PM Friday. Instead of waiting until Monday to call, she logs into portal, submits "AC not cooling" request with photos, selects preferred appointment time. You see request Saturday morning, schedule technician, she gets confirmation email. Problem solved without a phone call.
Business impact:
- 40% reduction in phone calls
- Faster payment collection (customers pay immediately)
- Better customer experience (24/7 access)
- Less data entry (customers enter their own info)
Initial Portal Setup (One-Time)
Step 1: Enable Customer Portal
- Navigate to Settings → Customer Portal
- Toggle Enable Customer Portal: ON
- Portal URL appears:
your-company-name.crewdex.app
Step 2: Configure Portal Features
Choose which features customers can access:
-
✅ Submit Service Requests (Recommended: ON)
-
Customers can request service directly
-
You receive notification for each request
-
Reduces phone calls and missed messages
-
✅ View Job History (Recommended: ON)
-
Customers see all past jobs with details
-
Shows dates, services performed, technicians
-
Builds trust and transparency
-
✅ Pay Invoices Online (Recommended: ON)
-
Customers pay immediately after service
-
Requires Stripe connection
-
Improves cash flow dramatically
-
✅ Update Contact Info (Recommended: ON)
-
Customers keep their info current
-
Reduces wrong addresses, old phone numbers
-
Less data entry for your staff
-
⚠️ View Quotes (Optional)
- Customers see quote details before accepting
- Good for high-value commercial work
- May not be needed for residential service
Recommended configuration for most contractors:
- Enable all except "View Quotes" (unless you do significant quoting)
- Can always add features later as customers request
Step 3: Customize Portal Branding
Make portal match your company:
-
Company Logo
- Click Upload Logo
- Use square image (recommended: 200×200 px)
- Appears at top of portal
- Formats: PNG, JPG (with transparent background preferred)
-
Primary Color
- Click color picker
- Select your brand color
- Used for buttons, links, highlights
- Example: #0066CC (blue), #CC0000 (red)
-
Welcome Message
- Customize greeting: "Welcome to [Your Company] Customer Portal"
- Add brief description: "Submit service requests, view history, and pay invoices online"
- Keep under 150 characters
- ✅ Example:
Logo: [Your HVAC company logo]
Color: #0066CC (matches truck color)
Welcome: "Welcome to Johnson HVAC! Submit service requests 24/7 and manage your account."
Step 4: Set Notification Preferences
Who gets notified when customers submit requests:
- Go to Settings → Notifications → Service Requests
- Add email addresses to notify:
- Owner email
- Office manager email
- Dispatch email (if separate)
- Choose notification frequency:
- Immediate: Email sent instantly (recommended)
- Hourly Digest: All requests batched every hour
- Daily Digest: Summary once per day at 8 AM
- Enable SMS notifications (optional):
- Add phone numbers for text alerts
- Useful for after-hours emergency requests
Recommended: Immediate email + SMS to office manager for fastest response.
Inviting Customers to Portal
Automatic Invitation (Recommended)
Trigger: When you add email address to customer record
What happens:
- Customer with email receives invitation automatically
- Email subject: "You're invited to [Company] Customer Portal"
- Contains:
- Welcome message
- Portal URL link
- Temporary login code
- Instructions to create password
- Customer clicks link, creates password, logs in
To enable auto-invite:
- Settings → Customer Portal → Auto-send invitations: ON
Manual Invitation
When to use: Customer already exists, want to invite them now
Process:
- Navigate to Customers
- Find customer (must have email address)
- Click ⋯ (more actions)
- Select Send Portal Invitation
- Confirm email address
- Click Send
Customer receives invitation email immediately.
Bulk Invitation
Invite multiple customers at once:
- Navigate to Customers
- Filter to show customers with emails
- Select customers (checkboxes)
- Select all: Checkbox at top
- Select specific: Individual checkboxes
- Click Actions → Send Portal Invitations
- Confirm count: "Send invitations to 47 customers?"
- Click Send All
Result: All selected customers receive invitation emails within minutes.
Customer Experience Walkthrough
First-Time Login
What customer sees:
- Opens invitation email
- Clicks Access Portal button
- Redirected to your portal:
your-company.crewdex.app - Sees welcome screen with your logo and branding
- Prompted to create password:
- Enter temporary code from email
- Create new password (min 8 characters)
- Confirm password
- Clicks Create Account
- Logs in automatically
Dashboard appears:
- Recent jobs (if any)
- Outstanding invoices (if unpaid)
- Quick action buttons: "Submit Service Request", "View Invoices", "Update Profile"
Submitting Service Request
Customer workflow:
- Clicks New Request button (blue card on dashboard)
- Fills out form:
- Service Type: Searchable dropdown with job-specific icons, grouped by trade (HVAC, Plumbing, etc.)
- Type to search (e.g., "AC" shows AC Repair, AC Install, AC Tune-Up)
- Browse by trade category
- Select "Other / Not sure" if service not listed
- Issue Description: Describe what needs fixing (required, at least 10 characters)
- Contact Method: Email or Phone (button-style radio selection)
- Best Time to Call: If phone selected (Morning, Afternoon, or Anytime — Evening option also appears if your contractor has enabled evening callbacks in their settings)
- Photos: Upload up to 5 images (optional, ≤5MB each)
- Quote Required: Check if pricing needed before scheduling
- Service Type: Searchable dropdown with job-specific icons, grouped by trade (HVAC, Plumbing, etc.)
- Clicks Submit Request
- Sees confirmation toast: "Service request submitted successfully"
- Request appears in "Service Requests" card on dashboard
- Receives confirmation email with:
- Service description summary
- Portal link to track progress
- What happens next
- Company branding
What you see:
- Notification email: "New service request from Sarah Johnson" (if submitted from landing page or portal)
- Landing page: Both customer and owner receive emails
- Customer portal: Both customer and owner receive emails
- Dashboard creation: Only customer receives email (you created it manually)
- Request appears in Dashboard → Service Requests list
- Shows:
- Customer name and contact
- Service type and description
- Communication preference (Email/Phone)
- Best time to call (if phone selected)
- Uploaded photos (if any)
- Quote required flag
- Request status: PENDING
- You can:
- Create quote (if quote requested)
- Convert to job (schedule technician)
- Contact customer via their preferred method
- View uploaded photos
- Update status or close request
Related Help:
See 3 Ways to Submit Service Requests below for complete overview of landing page, portal, and dashboard submission methods.
Viewing Job History
Customer sees:
- Clicks Jobs tab in portal
- List of all past jobs:
- Job date
- Service performed
- Technician name
- Job status (Completed, Scheduled, In Progress)
- Amount charged
- Clicks job for details:
- Full description of work
- Parts used
- Labor hours
- Photos (if technician took any)
- Invoice link (if available)
Privacy note: Customers only see their own jobs, never other customers' data.
Viewing and Responding to Quotes
What customers see in portal:
- Clicks My Quotes card on dashboard (or Quotes tab)
- Sees a summary showing:
- Number of quotes awaiting their response
- Number of quotes they've accepted
- Recent quote card displays:
- Quote number (e.g., QTE-2026-00001)
- Date created
- Expiration date
- Total amount
- Current status
Reviewing quote details:
- Customer clicks a quote to view full details
- Modal opens showing:
- Quote number and creation date
- Customer name and email (for reference)
- Issue date and expiration date
- Line items table - all services included:
- Description of each service
- Quantity and pricing
- Subtotal, tax, and total
- Any notes from contractor explaining the work
- Status badge (Sent, Accepted, Expired, etc.)
Quote statuses:
| Status | Meaning | Customer Action |
|---|---|---|
| Sent | Quote just sent to you | Review and accept/decline |
| Viewed | You've opened the quote | Still awaiting your decision |
| Accepted | You approved the quote | We'll schedule the work |
| Rejected | You declined the quote | Request a new quote if needed |
| Expired | Quote period has ended | Contact us for updated quote |
Accepting a quote:
- Click quote from My Quotes
- Review details (make sure all services are what you wanted)
- Click Accept Quote button (green, at bottom of modal)
- Confirmation message appears
- Contractor receives notification and schedules the work
- You receive confirmation email with job details
Declining a quote:
- Simply don't respond before expiration date, or
- Contact contractor directly to decline
- Request a new/revised quote if needed
Why quotes show minimal information before sending:
- Draft quotes are contractor work-in-progress (not for customer eyes)
- Only quotes marked as Sent appear in your portal
- Sent quotes include complete details so you can make informed decision
Privacy note: Customers only see their own quotes. Draft quotes (contractor estimates) are never shared.
Paying Invoices
Customer workflow:
- Clicks Invoices tab
- Sees all invoices:
- Unpaid invoices highlighted in red
- Paid invoices in green
- Invoice numbers and amounts
- Clicks Pay next to unpaid invoice
- Reviews invoice details
- Selects payment method:
- Saved card (if previously saved)
- New credit card
- Bank account (ACH)
- Enters payment details
- Clicks Pay $771.28
- Sees success confirmation
- Receives receipt email
What you see:
- Invoice status changes to "Paid"
- Payment notification
- Money deposited in 2 business days
Managing Portal Users
Viewing Portal Users
To see who has portal access:
- Navigate to Customers → Portal Users
- View list showing:
- Customer name
- Email address
- Last login date
- Account status (Active, Inactive, Pending)
- Number of service requests submitted
Filters:
- Active users only
- Never logged in
- Last 30 days activity
- Most service requests
Deactivating Portal Access
When to deactivate:
- Customer requests removal
- Customer moved/no longer uses service
- Suspicious activity
Process:
- Find customer in Portal Users list
- Click ⋯ (more actions)
- Select Deactivate Portal Access
- Confirm: "Customer will no longer be able to log in"
- Customer receives email: "Your portal access has been deactivated"
Result:
- Customer cannot log in
- Past data preserved (job history, invoices)
- Can be reactivated anytime
Resetting Customer Password
Customer forgot password:
Option 1 (Customer self-service):
- Customer goes to portal login page
- Clicks Forgot Password?
- Enters email address
- Receives password reset email
- Clicks link, creates new password
Option 2 (You reset for them):
- Navigate to Customers → Find customer
- Click ⋯ → Reset Portal Password
- Temporary password generated
- Customer receives email with temp password
- Must change password on next login
Portal Analytics and Insights
Usage Statistics
To view portal metrics:
- Navigate to Reports → Portal Analytics
Dashboard shows:
- Total active users: 247
- Average logins per month: 1,843
- Service requests submitted: 156 (this month)
- Invoices paid via portal: $45,230 (this month)
- Most active users (top 10)
Service Request Patterns
Insights you can gain:
- Peak request times (plan staffing)
- Most common service types (stock parts)
- Average response time (improve SLA)
- Conversion rate (requests → jobs)
Customer Engagement
Track portal adoption:
- Invitation sent: 500
- Accounts created: 380 (76% activation rate)
- Active users (30 days): 285 (75% engagement)
- Never logged in: 115 (send follow-up)
Action items:
- Contact never-logged-in customers
- Remind customers of portal benefits
- Promote portal in email signatures
Common Portal Scenarios
Emergency Service Requests
Customer submits urgent request at midnight:
Setup:
- Settings → Notifications → After-Hours
- Enable Emergency Request SMS Alerts
- Add on-call phone number
- Define "Emergency" criteria (keywords: "leak", "flood", "no heat", etc.)
Flow:
- Customer marks request "Emergency"
- System detects emergency keyword
- SMS sent to on-call technician
- Email sent to office (for morning review)
- Customer receives auto-reply: "Emergency request received. On-call technician will contact you within 30 minutes."
Recurring Service Customers
Customer signs up for quarterly maintenance:
Portal experience:
- Customer sees "Next Scheduled Service" on dashboard
- Shows: "AC Maintenance - Apr 15, 2026"
- Can reschedule if needed
- Receives reminder 3 days before
- Can pay in advance through portal
Your benefit: Less phone tag for recurring appointments, automatic reminders reduce no-shows.
Property Managers with Multiple Locations
Commercial customer manages 15 properties:
Setup:
- Create customer account for property manager
- Add all 15 addresses as "Service Locations"
- Enable "Multi-Location" portal access
Portal view:
- Customer sees dropdown: "Select Property"
- Can submit requests for any location
- Each location has separate job history
- All invoices in one place
- Can filter by property
Troubleshooting Common Issues
Customer Can't Log In
Problem: Customer says "Password doesn't work"
Solutions:
- Verify customer using correct portal URL
- Check customer has active portal access (not deactivated)
- Send password reset link
- Verify email address matches invitation (typos common)
- Check browser compatibility (modern browsers only)
Service Requests Not Sending
Problem: Customer submits request, you don't receive notification
Check:
- Settings → Notifications → Email address correct?
- Check spam folder (whitelist [email protected])
- Verify notification frequency (not set to "Never")
- Check customer's request in Service Requests list (may have sent, just no notification)
Payment Failing in Portal
Problem: Customer tries to pay, gets error
Common causes:
- Stripe not connected (go to Settings → Payments)
- Invoice already paid (customer paying twice)
- Card declined (customer issue, not your fault)
- Browser blocking payment popup (disable popup blocker)
Portal URL Not Working
Problem: Customers get 404 error on portal URL
Check:
- Portal enabled in Settings?
- URL spelled correctly (case-sensitive)
- Domain propagation (takes 10-15 minutes after first enable)
- Try incognito/private browsing (clears cache)
Mobile Portal Experience
Mobile-Optimized Features
Portal automatically adapts to phones:
- Large touch targets (easy tapping)
- Simplified navigation (bottom tabs)
- Photo upload from camera
- Click-to-call phone numbers
- Maps integration for addresses
Customer can:
- Submit service request from phone
- Take photo of broken equipment, upload immediately
- Pay invoice while standing in kitchen after service
- View job status while waiting for technician
Mobile App Alternative
Currently: Crewdex portal is web-based (works in mobile browser).
Native app: Not available yet. Customers bookmark portal URL to home screen for app-like experience.
To bookmark (customers):
- iPhone: Safari → Share → Add to Home Screen
- Android: Chrome → Menu → Add to Home Screen
Best Practices for Portal Success
1. Promote Portal During Every Interaction
When to mention:
- After completing every job: "Did you know you can pay invoices online?"
- In email signatures: "Access your portal: your-company.crewdex.app"
- On invoices: "Pay online at [portal URL]"
- In phone greetings: "Submit service requests 24/7 via our customer portal"
Result: Higher adoption rate, more self-service, fewer calls.
2. Incentivize Portal Usage
Offer small benefits:
- 2% discount for paying via portal within 5 days
- Priority scheduling for portal service requests
- Automatic reminders for maintenance (portal users only)
Why it works: Customers see tangible benefit, more likely to use portal.
3. Respond Quickly to Portal Requests
Set SLA (Service Level Agreement):
- Normal priority: Respond within 4 hours
- Urgent: Respond within 1 hour
- Emergency: Respond within 30 minutes
Track response times:
- Reports → Service Requests → Response Time
- Goal: 90% of requests answered within SLA
Why it matters: Fast response builds trust. Customers submit more requests when they know you'll respond quickly.
4. Keep Portal Content Updated
Maintain accuracy:
- Update service type dropdown when you add new services
- Remove outdated information
- Test portal quarterly (submit fake request, pay test invoice)
- Review analytics monthly (what's working, what's not)
Common Mistakes to Avoid
❌ Enabling Portal Without Training Customers
Problem: Turn on portal, don't tell customers how to use it, adoption remains low.
Solution: Create announcement email:
Subject: New! Submit Service Requests Online 24/7
Dear [Customer],
We're excited to announce our new Customer Portal! You can now:
- Submit service requests anytime (no waiting for office hours)
- View all your past jobs and invoices
- Pay invoices instantly online
Access your portal: your-company.crewdex.app
Your invitation email is on the way!
Questions? Call us at (555) 123-4567.
Best,
[Your Company]
❌ Not Responding to Portal Requests Promptly
Problem: Customer submits request via portal, hears nothing for 2 days, calls frustrated.
Why it's bad: Defeats purpose of portal (supposed to be faster than phone). Customer loses trust, stops using portal.
Solution: Set up notifications properly, check portal daily (or set reminder), respond within 4 hours maximum.
❌ Complex Portal Setup
Problem: Enable every feature, require customers to fill 15-field form for simple service request.
Why it's bad: Too complicated, customers give up, call instead.
Solution: Start simple (service type, description, photo, preferred time). That's it. Can add more fields later if needed.
Three Ways to Submit Service Requests (Updated February 2026)
Customers and staff have three methods to create service requests in Crewdex. All three now use the same advanced service selector for consistency and better user experience.
Universal Service Selection Pattern
All 3 entry points now feature:
- 🔍 Search functionality: Type to filter services (e.g., "AC" shows AC Repair, AC Install, AC Tune-Up)
- 📊 Trade grouping: Services organized by category (HVAC, Plumbing, Electrical, etc.) with HVAC first
- 🎨 Job-specific icons: Each service shows unique Lucide icon matching the job type
- ❄️ AC services show Snowflake icon
- 🔥 Heating services show Flame icon
- 💧 Plumbing services show Droplet icon
- ⚡ Electrical services show Zap icon
- ❓ "Other / Not sure" option: Always visible at top with HelpCircle icon
- ✖️ Clear button: X icon to reset selection quickly
- ⌨️ Keyboard navigation: Arrow keys, Enter, Escape (accessibility)
Why this matters:
- Faster service selection (search instead of scrolling long lists)
- Consistent experience (same UX whether customer or staff submits)
- Better service discovery (customers see all your offerings grouped logically)
- Professional appearance (matches job template selection in dashboard)
Method 1: Landing Page (For New Customers)
When to use: First-time inquiries from your website
How it works:
- Customer visits
yourbusiness.crewdex.com - Clicks "Request Service / Quote" button
- Fills form with searchable service selector:
- Type service name (e.g., "furnace" → see Furnace Repair, Furnace Install)
- Browse by trade (HVAC section shows all heating/cooling services)
- Select "Other / Not sure" if service not listed
- Completes: name, email/phone, issue description
- Receives portal link via email (auto-creates account)
- Gets 90-day portal access automatically
Customer experience:
- Simple 3-minute form
- NEW: Advanced service selector with search
- No account creation needed upfront
- Can track request via emailed link
- First touchpoint with your business
Staff notification:
- Instant email to owner/admin
- Request appears in Dashboard → Service Requests
- Status: PENDING
When to recommend:
- Marketing materials: "Visit our website to request service 24/7"
- Phone greetings: "Submit requests online at our website"
- Social media: Link to landing page
Method 2: Customer Portal (Fastest for Existing Customers)
When to use: Customer already has portal access
How it works:
- Customer logs into portal (via magic link or saved bookmark)
- Dashboard → Clicks "New Request" button (blue card)
- Fills form with searchable service selector:
- Service Type: Search or browse by trade, choose service OR "Other / Not sure" (required)
- Issue Description: Describe problem (required, 10+ characters)
- Contact Method: Email or Phone (button-style selection)
- Best Time to Call: If phone selected (Morning/Afternoon/Anytime — Evening also available if contractor has enabled evening callbacks)
- Photos: Attach up to 5 images (≤5MB each)
- Quote Required: Check if pricing needed first
- Clicks "Submit Request"
- Tracks status in "Service Requests" card on dashboard
Customer experience:
- No need to re-enter name/email (pulled from account)
- NEW: Same advanced service selector as job templates
- Clean, modern interface
- Can attach photos of issue
- Real-time status updates
- 24/7 availability
Staff notification:
- Instant email to owner/admin: "New service request from [Customer]"
- Request in Dashboard → Service Requests
- Customer context already linked (no data entry needed)
When to recommend:
- Repeat customers: "Use your portal for fastest service"
- After completing job: "Submit future requests via your portal"
- Email signatures: "Need service? Log into your portal"
Key difference from landing page:
- Customer info auto-filled (no re-entry)
- Request linked to existing customer record
- No portal account creation needed (already exists)
Method 3: Dashboard (Manual Entry by Staff)
When to use: Phone call or walk-in customer
How it works:
- Staff member: Dashboard → Service Requests → "New Request"
- Search existing customer OR create new
- Fill form on customer's behalf with searchable service selector:
- Service Type: Search by name or browse by trade, choose from templates OR "Other / Not sure"
- Issue Description: What customer described
- Contact Method: Email or Phone (based on customer preference)
- Best Time to Call: Note customer's availability
- Quote Required: Check if customer asked for pricing
- Submit → customer receives email notification
Staff experience:
- Full control over all fields
- NEW: Same service selector as portal (consistency = less training)
- Can link to existing or new customer
- Creates portal access automatically (if email provided)
Use cases:
- Customer calls: "My AC isn't working"
- Walk-in inquiries
- Customers without internet access
- Batch entry from voicemail messages
- Emergency requests (faster than waiting for customer to submit online)
Key difference from portal:
- Staff manually selects customer (not auto-detected)
- Requires customer search/selection step
- Same form fields, different context
Service Selection: Universal Across All 3 Methods
All methods support:
- ✅ Choose from your configured services (AC Repair, Plumbing, HVAC Maintenance, etc.)
- ✅ "Other / Not sure" option (for requests outside standard services)
- ✅ Lucide icons for visual clarity
- ✅ Required field (cannot submit without selecting)
When "Other" is selected:
- Customer describes service in issue description
- You review and can create custom quote
- Helps identify new service opportunities
Pro tip: Review "Other" requests monthly to identify services worth adding to your standard list.
Choosing the Right Method
| Scenario | Best Method | Why |
|---|---|---|
| First-time website visitor | Landing Page | Simple onboarding, auto-creates account |
| Existing customer with portal | Customer Portal | Fastest, info pre-filled, self-service |
| Customer calls office | Dashboard Entry | Staff controls entry, faster than callback |
| Walk-in customer | Dashboard Entry | No internet needed, staff assists |
| After-hours emergency | Customer Portal or Landing | 24/7 availability, no wait for office hours |
| Repeat customer without portal | Dashboard Entry + Send Portal Invite | Create request, enable future self-service |
Common Questions
Q: Which method is fastest for customers?
A: Customer Portal (if they already have access). Info pre-filled, no account creation needed.
Q: Should I promote landing page or portal?
A: Landing page for new customers (marketing, website). Portal for existing customers (after first job).
Q: Can customers switch between methods?
A: Yes. A customer can submit via landing page first time, then use portal for future requests.
Q: Do all 3 methods create the same type of request?
A: Yes. All create ServiceRequest records with identical data structure. Only difference is source field (LANDING_PAGE, CUSTOMER_PORTAL, or DASHBOARD).
Q: Which method do staff use?
A: Dashboard entry only. Portal and landing page are customer-facing.
Q: What if customer selects "Other / Not sure"?
A: Request still submits successfully. Review issue description to understand need, then create appropriate quote or job.
A: No, it's optional. But 90% of contractors find it reduces phone calls and speeds payment collection.
Q: Can customers see other customers' data?
A: No. Each customer only sees their own jobs, invoices, and information. Complete privacy.
Q: What if customer doesn't have email?
A: They cannot use portal (email required for login). They'll continue calling for service.
Q: Can I charge customers to use portal?
A: No. Portal access is included free for all customers.
Q: How do I disable portal temporarily?
A: Settings → Customer Portal → Toggle OFF. Portal becomes inaccessible immediately. Re-enable anytime.
Q: Can customers cancel their portal account?
A: Yes. They can request deletion via Settings in portal. You can also deactivate their access.
Q: Does portal work on old computers?
A: Requires modern browser (Chrome, Firefox, Safari, Edge). Internet Explorer not supported.
Q: Can I customize portal beyond logo and colors?
A: Not currently. Advanced customization planned for future update.
What's Next?
Now that your portal is set up:
- Interactive Map View - Visualize customer locations and optimize routes
- Payment Processing - Connect Stripe to accept portal payments
- Customer Management - Ensure all customers have email addresses for portal invitations
Need more help? Search using ⌘/ (Mac) or Ctrl+/ (Windows).