What is AG Shop Pro?
AG Shop Pro is a multi-workspace shop management platform built for auto body shops, mechanics, and quick lube operations. It connects your entire team โ from the front desk to the bay โ in one real-time system.
Platform at a glance
1. Sign up and activate your workspace
Go to agshopro.com and click Request access. Fill in your shop name, email, and shop type. You'll receive a welcome email within 24 hours with your login credentials and a link to set your password.
2. Add your team
From the Super Admin portal, go to Users โ Add user. Enter their name, email, and phone number, select their role and workspace, then click Send invite. They'll receive an email to set their password and get started.
3. Set up parts inventory
Go to Parts โ Add part. Create your core parts catalog with part numbers, descriptions, costs, and minimum stock levels. Import bulk data from CSV if you have existing inventory.
4. Create your first repair order
Log in as a Manager or Service Advisor. Click + New RO in the top right. Follow the 3-step wizard: find or create the customer โ select their vehicle โ enter the complaint and assign a technician.
5. Enable customer portal
From any customer record, click Enable Portal Access. The system generates a temporary password and emails login instructions. Customers can then view their service history and book appointments online.
6. Connect integrations
Go to Super Admin โ Integrations. Connect CCC One for estimate imports, Square for payment links, and Twilio to bridge your shop's landline for call logging and SMS.
7. Import existing data
If you're migrating from Mitchell 1, Tekmetric, or ShopWare, go to Super Admin โ ETL Migration. Export your data as CSV from your existing software, upload it, preview the field mapping, and run the import.
Requesting access
Click Request access โ on the login page at agshopro.com. Fill in:
- First and last name โ your name as the account owner
- Work email โ you'll receive your login credentials here
- Phone number โ used for SMS-based password reset
- Shop name โ your business name, becomes your workspace name
- Shop type โ body shop, mechanic, quick lube, or multi-location
- Team size โ number of technicians
What happens after you submit
What is a workspace?
A workspace is your shop's private space inside AG Shop Pro. Everything inside a workspace โ repair orders, customers, vehicles, inventory, invoices, staff โ belongs only to that workspace. Users in one workspace cannot see data from another.
Current workspaces
| Workspace | Type | Plan | Status |
|---|---|---|---|
| AmeriBenz | Mechanic | Pro | Active |
| AvantGardeAuto | Auto body | Pro | Active |
Switching workspaces
If you have access to multiple workspaces (Super Admin or users assigned to multiple shops), you'll see a workspace switcher dropdown at the top of the sidebar. Click it to switch โ all data on screen will update to that workspace immediately.
Adding a new workspace
Only Super Admins can create new workspaces. Go to Super Admin โ Onboard shop, fill in the shop details and select a plan, then click Create shop & send invite.
Signing in
Go to agshopro.com and enter your email and password. The system automatically detects your role and redirects you to the correct portal โ Manager, Service Advisor, Technician, or Super Admin.
Forgot your password?
Click Forgot password? on the login page and enter your email. You'll receive a reset link valid for 1 hour. Click the link, set a new password (minimum 8 characters), and you'll be signed in automatically.
SMS password reset
If you have a phone number on file, you can also reset your password via SMS. Your admin can trigger an SMS OTP reset from Super Admin โ Password resets. You'll receive a 6-digit code valid for 10 minutes.
Admin-initiated reset
Super Admins and Managers can reset any user's password from Users โ Reset. The user receives an email or SMS with instructions.
- All workspaces
- User management
- Billing & subscriptions
- Integrations setup
- ETL data migration
- Parts & inventory oversight
- Advanced reporting
- Customer portal admin
- All ROs in workspace
- Technician board & idle alerts
- Burn rate dashboard
- Call log & transcription
- Lost customer SMS
- Invoice closeout
- Parts inventory management
- Financial & performance reports
- User role management
- Create & manage ROs
- New RO wizard
- Appointment scheduling
- Customer SMS
- Reminder management
- Invoice closeout
- Parts ordering
- Customer portal setup
- Assigned ROs only
- Start / pause / complete labor
- Clock in & out
- Parts status view
- Timestamped tech notes
- Time tracking per RO
Permission matrix
| Feature | Super admin | Manager | Service advisor | Technician |
|---|---|---|---|---|
| View all workspaces | โ | โ | โ | โ |
| Create repair orders | โ | โ | โ | โ |
| View all ROs | โ | โ | Own only | Assigned |
| View financial data | โ | โ | Invoices only | โ |
| Manage parts inventory | โ | โ | โ | View only |
| Access reports | โ | โ | โ | โ |
| Clock in/out | โ | โ | โ | โ |
| Send customer SMS | โ | โ | โ | โ |
| Manage users | โ | Own workspace | โ | โ |
| Customer portal admin | โ | โ | โ | โ |
| ETL migration | โ | โ | โ | โ |
Dashboard โ All workspaces
The overview page shows all active workspaces with their revenue, RO completion rate, and status at a glance. Click any workspace card to drill into its details including team, burn rate, and active alerts.
Alerts
The Alerts page surfaces issues across all workspaces: idle technicians, overdue invoices, parts budget overruns, and pending approvals. Alerts are color-coded โ red for urgent, yellow for warning.
User management
Go to Users โ All users to see everyone on the platform. You can:
- Click Edit to update name, email, phone, role, or workspace assignment
- Click Reset to send a password reset email or SMS
- Click Deactivate to suspend access without deleting the account
- Click Delete to permanently remove a user (requires confirmation)
Adding users
Click + Add user. The 3-step wizard collects their details, lets you select their role and workspace, then previews the invite email before sending.
ETL migration
See the ETL Migration doc for a full walkthrough of importing data from Mitchell 1, Tekmetric, or ShopWare.
Dashboard
The dashboard shows your key metrics at a glance: open ROs, April revenue, parts spend vs budget, average RO value. Idle tech alerts appear at the top when a technician has been inactive for 30+ minutes.
Workflow view
Click any repair order to open the full workflow view. You'll see the animated pipeline at the top showing where the RO is โ the car icon drives to the current stage. Click any stage button to move the RO forward. All status changes are auto-timestamped and logged in the comment thread below.
Burn rate
The Burn Rate page breaks down your monthly spend by category โ parts, labor, overhead, software. A cash reserve recommendation is shown at the bottom so you know exactly how much to keep in your business account.
Call log
See every inbound and outbound call to your shop's Twilio number โ caller ID, duration, who answered, and a full transcript of each call. Missed calls are highlighted in red for callback.
SMS automation
The SMS Automation page shows ML-suggested outreach based on Mitchell data โ customers who are overdue for their next service. One click sends a personalized SMS. You can also schedule future messages and view the queue.
My dashboard
Your dashboard shows only the ROs assigned to you as service advisor, pending customer approvals, and today's appointments. Items needing immediate action are highlighted at the top.
Creating a new RO
Click + New RO. The wizard walks you through three steps:
- Find or create customer โ search by name, phone, or email. If they're new, click + New customer.
- Select vehicle โ choose from the customer's existing vehicles or add a new one with VIN and mileage.
- Complaint & assignment โ enter the customer's complaint, assign a technician, and select the source (walk-in, appointment, CCC One import, phone).
Reminders
Add reminders to follow up with customers โ parts arrivals, estimate expirations, payment follow-ups. Overdue reminders appear in red at the top of your dashboard.
Closing invoices
When an RO is complete, go to Close out invoices. Click Send & close to generate a Square payment link and email it to the customer. The invoice is marked Sent and updates to Paid automatically when the customer pays.
Clocking in and out
Tap the large Clock In button at the top of the screen when you arrive. Tap Clock Out when you leave. Your hours are automatically calculated and saved โ managers and super admins can see your time entries.
Your assigned ROs
Only ROs assigned to you appear in your portal. Each card shows the RO number, customer name, vehicle, and complaint. Status buttons let you quickly update progress:
- โถ Start โ marks labor as in progress and logs a timestamp
- โธ Pause โ pauses work (e.g. waiting on a part) and logs the time
- โ Done โ marks the labor line complete with a timestamp
Tech notes
Type a note in the text field below any RO and press Enter. Your note is saved with your name and the exact timestamp โ managers and service advisors can see all tech notes in the comment thread.
Parts status
Each RO card shows the parts required and their current status โ Received (green) or Ordered (yellow). You'll see when parts arrive so you know when you can continue work.
RO lifecycle
Every repair order moves through these stages:
| Stage | Meaning | Who acts |
|---|---|---|
| Estimate | Initial assessment created, not yet approved | Service advisor |
| Approved | Customer has approved the estimate | Service advisor / customer |
| In progress | Technician is actively working | Technician |
| Waiting parts | Work paused pending parts arrival | Parts department |
| Completed | All work done, ready for invoice | Technician / advisor |
| Invoiced | Invoice sent to customer | Service advisor |
| Paid | Payment received | Square webhook / advisor |
Labor lines
Each RO has labor lines โ specific tasks assigned to a technician with estimated hours, actual hours, and rate. Click + Add to add a labor line. Technicians can mark individual labor lines as started, paused, or complete from their portal.
Parts lines
Add parts to an RO with part number, description, quantity, cost, and price. Parts can be ordered directly through Worldpac from the parts line. Status updates automatically when parts are received.
Comment thread
Every RO has a timestamped comment thread showing the full history โ status updates, tech notes, customer messages, and parts updates. All comments are auto-timestamped with the author's name. You cannot edit or delete comments โ they are a permanent audit trail.
Flagging blocked ROs
If an RO is stuck โ waiting on a customer decision, insurance approval, or a back-ordered part โ click ๐ซ Flag Blocked. This notifies the manager and super admin and adds a blocked entry to the comment thread.
The pipeline
The workflow view shows a 7-stage pipeline at the top of every RO detail page. The red car icon animates to the current stage so you can see at a glance where the job is. Click any stage button below the pipeline to move the RO to that stage.
Stage buttons
The stage buttons are available to Managers and Service Advisors. Each click: moves the car to the new position, adds a timestamped status update to the comment thread, and sends a real-time update to anyone else viewing the same RO.
Blocked flag
The red ๐ซ Flag Blocked button marks the RO as blocked without changing its stage. Use this when work cannot proceed but you're not ready to move to the next stage. The manager receives an alert.
Creating an invoice
When an RO is marked Completed, go to Invoices โ + New invoice or click Generate invoice from within the RO. The invoice pulls all labor and parts totals automatically.
Sending to customer
Click Send & close. This generates a Square payment link and emails it to the customer. The invoice status moves to Sent.
Payment confirmation
When the customer pays via the Square link, Square sends a webhook to AG Shop Pro. The invoice automatically moves to Paid and the RO moves to Paid. The manager's revenue dashboard updates in real time.
Invoice statuses
| Status | Meaning |
|---|---|
| Draft | Created but not sent |
| Sent | Payment link emailed to customer |
| Paid | Payment confirmed via Square |
| Void | Cancelled โ no payment expected |
How it works
Technicians clock in and out from their mobile portal. Each clock-in can be optionally linked to an RO so managers can see exactly how many hours were spent on each job.
Manager view
Managers see all technician time entries for the day in the Tech Board section of the dashboard โ who is clocked in, what RO they're working on, and total hours today. Idle alerts fire when a clocked-in technician has no active RO for 30+ minutes.
Weekly reports
Go to Reports โ Technician performance to see hours worked, ROs completed, and efficiency percentage per technician for any date range.
Parts catalog management
The parts catalog is your shop's complete inventory database. Each part includes:
- Part number โ manufacturer or internal part number
- Name & description โ what the part is
- Category โ engine, brakes, suspension, etc.
- Unit cost & price โ your cost and selling price
- Supplier โ who you buy from
- Minimum stock โ reorder point
- Current quantity โ real-time inventory
Inventory tracking
Inventory updates automatically when parts are added to ROs or received from suppliers. Managers can also manually adjust inventory levels for cycle counts or corrections.
Low stock alerts
When inventory drops below the minimum stock level, the system sends alerts to managers and automatically flags the part in red. Go to Parts โ Low stock to see all parts needing reorder.
Parts ordering
From any parts line in an RO, click Order part to place an order through your integrated supplier (Worldpac, NAPA, etc.). Status updates automatically when parts are received.
Testing parts functionality
POST /api/parts { "partNumber": "12345", "name": "Brake Pad Set", "category": "Brakes", "unitCost": 25.00, "unitPrice": 45.00, "minimumStock": 4, "quantityOnHand": 10 } GET /api/parts?lowStock=true POST /api/parts/:id/adjust-inventory { "adjustment": -2, "reason": "Used on RO-12345" }
Financial reports
Get comprehensive financial insights including:
- Total revenue โ gross sales across all ROs
- Parts vs labor breakdown โ profitability analysis
- Average ticket size โ typical RO value
- Revenue trends โ month-over-month growth
- Profit margins โ parts markup and labor efficiency
Technician performance
Track technician productivity and efficiency:
- ROs completed โ volume of work
- Hours worked โ total time tracked
- Labor revenue โ dollars billed for their work
- Efficiency rating โ revenue per hour
- Customer satisfaction โ feedback scores
Customer analytics
Understand your customer base:
- Lifetime value โ total spend per customer
- Service frequency โ how often they return
- Vehicle count โ fleet size
- Service history โ complete repair timeline
- Retention metrics โ customer loyalty indicators
Parts analytics
Optimize your inventory:
- Usage patterns โ which parts sell most
- Stock efficiency โ turnover rates
- Supplier performance โ delivery times and quality
- Profitability โ markup analysis by category
Shop KPIs
Key performance indicators:
- On-time completion โ percentage of ROs finished on schedule
- Average cycle time โ days from intake to completion
- Technician utilization โ productive hours vs total hours
- Customer satisfaction โ feedback ratings
- First-time fix rate โ jobs completed without callbacks
Data export
Export data for external analysis:
- CSV format โ for Excel or accounting software
- JSON format โ for custom integrations
- Date range filtering โ export specific time periods
- Custom fields โ include only needed data
Testing reports functionality
GET /api/reports/financial-summary?startDate=2024-01-01&endDate=2024-12-31 GET /api/reports/technician-performance GET /api/reports/customer-analytics GET /api/reports/parts-analytics GET /api/reports/shop-kpis GET /api/reports/export?format=csv
Portal access setup
Enable customer portal access from the customer details page:
- Go to Customers โ [Customer Name]
- Click Enable Portal Access
- The API returns a temporary password in the response โ hand it to the customer yourself; this endpoint does not send email
- The customer signs in at
/portal-login.htmland picks their shop - Changing their password signs out every existing portal session
Customer authentication
Customers log in with their email and portal password:
- Separate authentication โ a different store (
customer_sessions) from staff accounts, and not interchangeable with them - Scoped to one shop โ sign-in takes a
workspaceId; the same email at another shop is a different account - Record isolation โ every portal query is keyed by the signed-in customer id, so a customer only ever sees their own vehicles, repair orders and appointments
- Auto-logout โ sessions expire after 24 hours
Security features
- Password hashing โ bcrypt, cost 12
- Session tokens โ 32 random bytes from a CSPRNG, stored server-side and checked on every request; portal sessions expire after 24 hours
- Rate limiting โ 10 failed sign-in attempts per IP per 15 minutes on
/api/customer/loginand/api/auth/login - Uniform failures โ a wrong password, an unknown email and an account without portal access all return the same message, so the portal cannot be used to discover which customers exist
- Separate from staff auth โ a staff token cannot authenticate the portal, and a portal token cannot reach the staff API
Testing customer portal
POST /api/admin/customers/:id/enable-portal POST /api/admin/customers/:id/reset-portal-password
POST /api/customer/login { "email": "customer@example.com", "password": "portalpass", "workspaceId": 1 } GET /api/customer/workspaces (public โ the shop list on the sign-in page) GET /api/customer/service-history GET /api/customer/vehicles GET /api/customer/profile POST /api/customer/feedback { "repairOrderId": 42, "rating": 5, "comments": "Great work" } POST /api/customer/logout
What customers can see
Customers have access to their complete service history:
- All repair orders โ past and present
- Vehicle information โ make, model, mileage
- Parts used โ what was installed
- Labor performed โ work completed
- Total costs โ transparent pricing
- Status updates โ current repair progress
Data privacy
Customer data is completely isolated:
- Workspace separation โ customers only see their shop's data
- Personal data only โ the API filters on the session's customer id, not on an id supplied by the browser
Testing service history
GET /api/customer/service-history?limit=10&offset=0 GET /api/customer/vehicles
Appointment workflow
- Customer selects vehicle โ from their registered vehicles
- Chooses date and time โ preferred appointment slot
- Describes concern โ what needs to be fixed
- Selects contact method โ email, phone, or text
- Submits request โ appointment created as "pending"
- Shop confirmation โ staff confirms or suggests alternatives
Appointment management
Customers can:
- View all appointments โ past and upcoming
- Update pending appointments โ change date/time/concern
- Cancel appointments โ if plans change
- View status โ pending, confirmed, completed
Shop integration
Appointments appear in staff dashboards:
- Service advisors โ can confirm and schedule
- Managers โ oversight of all appointments
- Real-time updates โ changes sync instantly
Testing appointments
POST /api/customer/appointments { "vehicleId": 12, "preferredDate": "2024-12-15", "preferredTime": "10:00", "concern": "Brake noise when stopping", "contactMethod": "email" } GET /api/customer/appointments PATCH /api/customer/appointments/:id { "preferredDate": "2024-12-16", "preferredTime": "14:00" } DELETE /api/customer/appointments/:id
Creating a reminder
Reminders can be created from the Manager portal (Reminders โ + New reminder) or the Service Advisor portal (Reminders โ Add reminder). Select the customer, write the message, and set the due date and time.
Reminder types
- Follow-up โ check in with a customer after service
- Estimate expiry โ estimates expire in 30 days by default; get reminded before they do
- Parts arrived โ auto-created when ordered parts are marked as received
- Payment due โ follow up on overdue invoices
- Custom โ anything else
Overdue reminders
Reminders past their due date appear in red at the top of the Manager and Service Advisor dashboards. Super Admins see overdue reminders across all workspaces in the Alerts page.
Setup
Go to Super Admin โ Integrations โ CCC One โ Connect. Enter your CCC One Shop ID and API key. Click Test connection to verify.
How it works
Once connected, every estimate approved in CCC One automatically creates a repair order in AG Shop Pro with the customer info, vehicle details, labor lines, and parts pre-populated. A service advisor gets notified instantly.
Setup
Go to Super Admin โ Integrations โ Square โ Connect. You'll be redirected to Square's OAuth flow. Sign in to your Square account and authorize AG Shop Pro.
Payment links
When you send an invoice, AG Shop Pro generates a Square payment link automatically. The customer can pay on their phone or at the counter. Payment confirmation is instant via webhook.
Revenue dashboard
The Manager's revenue stats pull live data from Square โ revenue today, this week, and this month all update in real time as payments come in.
Setup
Go to Super Admin โ Integrations โ Twilio โ Connect. Enter your Twilio Account SID and Auth Token. You can either port your existing landline number to Twilio or set up call forwarding from your landline to a Twilio number.
Call logging
Every inbound and outbound call through your Twilio number is logged in the Manager portal under Call Log โ caller ID, duration, who answered, call time, and a full transcript generated by Twilio's AI transcription.
Customer SMS
Send individual or automated SMS messages to customers from the Service Advisor and Manager portals. Messages come from your shop's Twilio number so customers see a consistent phone number.
Lost customer outreach
The Manager's SMS Automation page uses ML to suggest customers who are overdue for service based on their Mitchell history. One click sends a personalized outreach SMS.
Setup
Go to Super Admin โ Integrations โ Mitchell Pro โ Connect. Enter your Mitchell Pro API key.
Labor time lookup
When adding a labor line to a repair order, enter the operation code and AG Shop Pro automatically fetches the Mitchell labor time for that vehicle and pre-fills the estimated hours. You can override the value if needed.
Supported sources
- Mitchell 1 โ export from Reports โ Data Export as CSV
- Tekmetric โ export from Settings โ Data Export
- ShopWare โ export from Admin โ Export Data
- Generic CSV โ any CSV with customer name, email, phone, vehicle, and service history
Migration steps
After migration
Imported customers and vehicles appear immediately in your workspace. Historical ROs are marked as imported and are visible in the customer's service history. Imported ROs cannot be edited โ they are read-only records.
Adding a user
Go to Super Admin โ Users โ + Add user. The 3-step wizard:
- User details โ name, email, and phone number. Phone enables SMS-based password reset.
- Role & access โ select the role (Super Admin, Manager, Service Advisor, or Technician) and assign the workspace(s) they can access.
- Confirm & invite โ preview the invite email before sending.
Deactivating a user
Click Deactivate next to any user. Their account is suspended immediately โ they cannot log in โ but their data is preserved. Click Reactivate to restore access.
Deleting a user
Click Delete. You'll be prompted to confirm. Deletion is permanent and cannot be undone. All their comments and time entries remain in the system attributed to their name, but their login is removed.
Authentication
- Passwords are hashed and never stored in plain text
- Sessions expire when you close the browser tab
- Password reset links expire after 1 hour
- SMS OTP codes expire after 10 minutes
Data isolation
Every database query is scoped by workspace ID. It is architecturally impossible for users in one workspace to access data from another workspace.
Infrastructure
- All traffic encrypted via HTTPS (TLS 1.3)
- Database in a private VPC subnet โ not internet-accessible
- S3 buckets encrypted at rest (AES-256)
- AWS WAF protects against SQL injection and XSS
- Automated daily database backups with 7-day retention
Best practices
- Use a strong unique password โ at least 12 characters with uppercase, numbers, and symbols
- Never share your login credentials
- Sign out when using a shared device
- Report suspicious activity to your admin immediately