——
My Requests
Requests assigned to you up top, then every request in the system. Search each list by request #, name, city, ZIP, client or status. View opens the request; Edit opens it for changes.
All Requests
Every request in the system — unassigned first, then assigned, oldest first. Use the filter bar and search; export any view.
Retrieval Map
Every retrieval on the map. Filter by status, client or assigned concierge; click a pin for the request, and open it in one click. Requests without coordinates are geocoded from their address on the fly.
Request Intake
Submit an individual request here. Bulk CSV, the client batch format, the REST API and MCP now live under Imports. Start typing the retrieval address for Google suggestions; the map fills in as you go.
Web form
Submit one request
Retrieval location
Map of the retrieval address
Enter a retrieval address to see the map.
Staff & Access
Everyone who works in the platform, their profile, and what they can do. Roles set access: Admin · Manager · Concierge · View Only · Customer. Invite by email — people set their own password; every account shows when it last signed in. Bulk CSV and the REST API are under Imports.
Staff members
Profile + role + credentials
| Name | Title | Role | Location | Status | Last login | ||
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Field staff & subs
The people who physically do pickups — internal field staff and subcontractors' drivers. A performer is not the same thing as a console user: the person who rings the employee is staff with a login, the person who turns up is here. Each one has a home base, a service radius, the regions they cover, and a weekly calendar. Auto-assignment matches a request to whoever covers its region, or is inside their radius — and the primary for a region always wins.
Performers
Home base · radius · coverage · calendar
| Name | Kind | Home | Radius | Regions | Calendar | Status | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Coverage health
Reported, never enforced — a region with open work and nobody in it is a hiring decision, not an error
| Region | States | Timezone | Open requests | Performers | Primary | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Unassigned
Every active request with no field owner, grouped by the reason auto-assignment could not give it one. The grouping is the point: a pile of "no staff member in the area" in one region is a hiring decision; a pile of "no coordinates on the request" is an afternoon of data cleanup. One request at a time, they look like the same problem.
Loading…
Hand-offs
Every request the machine could not finish — nobody to send, or nobody answering — and what a person did about it. Log the calls, texts, emails and what the client said back as you make them — then say in one line what you did that the rule did not. That one line is what the end-of-day agent reads to propose a change to the Assignment Rule, so an exception you resolve today becomes the rule tomorrow.
Loading…
Rules
A rule is stored as logic — the thing the system actually runs — and the English beside it is written out of that logic every time you open this page. They cannot disagree, because only one of them is real. Editing a rule makes a draft; a draft changes nothing until somebody approves it.
Rules
Loading…
Pick a rule.
Scheduling
ZIP routes each pickup to a queue and timezone. Sub queues offer with 2 business days' notice, internal queues next day. The engine fills the closest day first and can never overbook — capacity is re-read the moment a booking commits. The contact cadence (text → call → email) that makes the offer is the Contact Agent (needs Twilio); here you drive the loop by hand.
Capacity — next business days
booked / capacity per day per queue
| Loading… |
open room · filling partly booked · full no open slots
Queues & dials
Change a dial — applies on the next offer, no deploy
| Queue | Type | ZIPs | Lag | Slots | Active | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Waiting to schedule
Retrievals with no booking yet
| Ref | Employee | City | ZIP | |
|---|---|---|---|---|
| Loading… | ||||
Bookings
proposed = offered · booked = confirmed (re-reads capacity) · decline rolls to the next available day
| Date | Window | Queue | Ref | Employee | City | Status | Actions | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Reports
Your report library: open a shared report (including the Equipment Retrieval Report), refine it with the filter bar, export it, or build a new one on any table.
Notifications
Everything the platform sends: Subscriptions email a report on a schedule, Notifications fire when a request is added or changed, Reminders go out N days before or after a date, and Alerts watch a report threshold. Every message is re-scoped to each recipient and logged in the Delivery log.
Contact Agent templates
The words the agent sends when it chases somebody for a pickup. A template
is a draft until it is approved, and only an approved version can ever reach a person.
Loading…
Imports
Every bulk way into the platform, in one place: the smart importer that maps any client file, standard CSV uploads for requests, customers, vendors, subs and staff; the client's own batch format; the REST API; and MCP for AI agents. Every import is logged and the original file is kept in the system.
✨ Smart import — match any client file
Upload a client's Excel or CSV with their own column names. AI matches their columns to our fields; you review, then import.
Requests — client batch (legacy format)
The client's own ER file — no reformatting; we map & flag
Customers CSV
Company Name, Client Code, City, State…
Vendors CSV
Name, Vendor Type, City, State…
Subs CSV
Company Name, Sub Type, City, State…
Staff CSV
Email, Full Name, Role, Title, Location, Mobile
REST API & MCP
For client systems & AI agents
POST /api/v1/requests/asset-movements
Authorization: Bearer <token>
{ "clientId": 95, "items": [{
"movementType": "retrieval",
"employeeName": "Jane Smith",
"pickupZip": "02101",
"finalDestination": "RetrieveITAssets Concierge"
}]}
📄 Full API & MCP documentation (printable)
Import history
Every import, with the original file kept in the system
| When | Type | File | Rows | Created | Errors | Flagged | By | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Roles & Permissions
Decide what each role can do. Toggle a box to grant or remove a capability — it saves immediately and the server enforces it on the next action. Concierge and Customer are also scoped to their own data: a Concierge sees only requests assigned to them, a Customer only their own client's.
Capability matrix
Loading…
| Loading… |
Admin keeps “Edit the Roles & Permissions matrix” at all times (lockout guard). Changes apply to every user with that role.
API Keys
Keys that let a client's own systems call the RetrieveITAssets API to create and view their requests. Each key is scoped to one client and can only see and file that client's requests. The full key is shown once at creation — copy it then. Keys can be created by an admin only for now, and turned off at any time.
Create a key
Scoped to one client · create & view their own requests only
Existing keys
Every key created, live status and usage
| Label | Client | Prefix | Created | Last used | Calls | Status | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Credentials
The platform's own keys for the outside services it uses — SendGrid for email, Anthropic and OpenAI for AI, Twilio for text/voice, Google for maps. Paste a key here and the platform uses it right away, no redeploy. Secrets are stored encrypted and never shown again — only the provider, a label and the last 4 characters are ever displayed. Admin only.
Add a key
Same idea as an Anthropic or OpenAI key — a provider, a label, and the secret
Stored credentials
Turn a key on or off · the last 4 characters only
| Provider | Label | Description | Ends in | Added by | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Help Center
How to operate the platform, plus the full API & MCP reference — searchable. Start typing to filter articles.
Pick an article on the left, or search above.