
Restoration CRM
Restoration job management: pull jobs, notes, and contacts into Ruby.
Ask Ruby
Ruby reads from Albi and grounds her answers in your data. Every connection starts read-only: she surfaces, summarizes, and drafts, and your team takes the action.
Search projects
Fast fuzzy search across this Albi account's projects by customer name, claim number, project name, or street address. Albi has no project-search API, so use THIS instead of paging albi_get-all-projects when you need to find a specific job. Returns ranked matches, each with the Albi project id as `external_id`; call albi_retrieve-project with that id for the full project record. Searches open projects by default; pass include_closed=true to also search closed/archived jobs. Matches job IDENTITY only, not the referral partner: for 'which jobs came from <partner>' use albi_project_stats grouped by referrer_name.
Project stats
Aggregate counts across this Albi account's projects: totals, trends, and breakdowns grouped by created year/month (seasonality), status, project type, insurance carrier, state, city, zip, referral source (lead source category), referrer name or referrer organization (the specific referral PARTNER, e.g. which plumber sent the job), project manager, or salesperson. Optionally restrict to a subset first via `filters` (e.g. only AZ, only Water Damage) and/or a created-date range. Albi has no count/group-by API, so use THIS for any 'how many', 'per month', 'by year', 'by status/type/carrier/PM/source', 'top N', or seasonality question instead of paging albi_get-all-projects (its large pages get truncated, so manual tallies are wrong). Counts only (no dollar amounts; use sage_* for money). For a month-by-month-per-year seasonality chart, pass group_by ['created_year','created_month']. For 'how many jobs did <partner> send us' or 'top referral partners', group_by ['referrer_name'].
Stalled projects
ONE-CALL stalled-project scan: lists OPEN Albi projects that have sat in their current status/stage for at least `min_days` (default 30), or with no activity in that long when age_basis is 'activity'. Returns each stalled project with its status, days stalled, customer, and a per-status summary. ALWAYS use THIS for 'stuck in the same stage', 'stalled jobs', 'no movement', 'aging report', or 'jobs with no activity in N days' questions instead of paging albi_get-all-projects and computing ages by hand.
Retrieve project
Get a Project By Id Get one project by id. (GET /v5/Integrations/Projects/{id})
List webhooks
Get All Webhooks Get a list of all webhooks. (GET /v5/Integrations/Webhooks)
Get all projects copy
Get All Project Dates Get the values of all the dates associated with a project. (GET /v5/Integrations/Projects/GetProjectDates)
Get projects by status copy
Get Project's Status Get a project's current status. (GET /v5/Integrations/Projects/GetProjectStatus)
Get projects status copy
Get Project's Date Get the value of a project's certain date by dateid. (GET /v5/Integrations/Projects/GetProjectDate)
Get project staff
Get Project Staff Get a list of staff filtered by project and roles. (POST /v5/Integrations/Projects/GetProjectStaff)
Get all projects copy 1
Get All Activities Get a list of all activities. (GET /v5/Integrations/Activities)
Get all activities copy
Get All Contacts Get a list of all contacts. (GET /v5/Integrations/Contacts)
Get all contacts copy
Get a Contact By Id Get one contact record by id. (GET /v5/Integrations/Contacts/{id})
Let Ruby add to Albi as well as read it, so what it finds for you can be written back onto the job instead of pasted by hand. A connection narrowed to specific Albi locations stays read-only, because we can filter what it reads but not where it writes.
An admin switches a connection to read-write in Settings > Integrations. From then on every write waits for a human’s approval before it leaves, by default, and every one lands in your audit log with what changed.
Create note
Changes data in the connected account. Create a Note Creates a note on the timeline of a given project (POST /v5/Integrations/Projects/CreateNote)
Get staff list copy
Changes data in the connected account. Create an Activity Create an activity record associated to a contact or an organization. (POST /v5/Integrations/Activities/Create)
Create a equipment copy
Changes data in the connected account. Update an Equipment Update an equipment. (POST /v5/Integrations/Asset/Equipment/Update/{id})
Update an equipment copy
Changes data in the connected account. Create a Contact Create a new contact. (POST /v5/Integrations/Contacts/Create)
Create a contact copy
Changes data in the connected account. Update Contact Status Update a contact's statues. (POST /v5/Integrations/Contacts/ChangeStatus)
Create a contact copy 1
Changes data in the connected account. Create an Organization Create a new organization. (POST /v5/Integrations/Organizations/Create)
Update contact status copy
Changes data in the connected account. Update Organization Status Update an organization's statues. (POST /v5/Integrations/Organizations/ChangeStatus)
Create an organization copy
Changes data in the connected account. Create a Task Create a new task. (POST /v5/Integrations/Tasks/Create)
Create a scheduled event
Changes data in the connected account. Create a Scheduler Event Create an event via Albi's Scheduler. (POST /v5/Integrations/Schedule/CreateEvent)
Update project dates
Changes data in the connected account. Update Project Dates (POST /v5/Integrations/Projects/UpdateProjectDates)
Create an equipment copy
Changes data in the connected account. Create an Equipment Create an equipment. (POST /v5/Integrations/Asset/Equipment/Create)
Create project
Changes data in the connected account. Create Project Creates a new project in Albi (POST /v5/Integrations/Projects/CreateProject)
Grounded answers
Ruby reads Albi live and cites what she found, so answers reflect your actual data, not a stale export.
Reads by default
Every connection starts read-only. Ruby surfaces and drafts while your team takes the action; writes are opt-in per connection, human-approved by default, and always logged.
Managed, secure auth
Connect with one click. Tokens are encrypted and scoped per company; revoke access any time.
Knows restoration
Ruby understands jobs, claims, drying logs, and AR, so Albi data lands in the right operational context.
Connect Albi once in Ruby. Ask in the Ruby app, or bring the same secure connection into the assistant your team already uses.
Ruby
Ask in the Ruby app and get an answer grounded in Albi and the rest of your connected stack.
Claude
Bring the same secure Albi connection into Claude so it can answer with your live data.
ChatGPT
Use Albi from ChatGPT with the same per-company, permissioned access Ruby uses.
Do I need developer credentials to connect Albi?
You paste an API key from your account in Settings > Integrations. There is nothing to build; Ruby stores it encrypted and scoped to your company.
Can Ruby change anything in Albi?
Not unless you turn it on. Every Albi connection starts read-only. An admin can switch a connection to read-write in Settings > Integrations; from then on each write Ruby makes waits for a human's approval before it leaves (by default; the same admin can switch that off) and is recorded in your audit log either way.
Is my Albi data secure?
Credentials are encrypted at rest and access is scoped per company. You can revoke the connection at any time from Settings > Integrations, which immediately cuts Ruby off.
Can I use Albi alongside my other tools?
Yes. Ruby reasons across every tool you connect at once, so she can tie Albi to your CRM, accounting, email, and documentation in a single answer.