SeatReaper reads the extensions on a client's Yeastar P-Series PBX (number, caller ID name and email) and its call records (who called whom, when, and whether the call was answered). It never changes extensions, routes or settings.
Each client has its own PBX, so Yeastar is connected per client, on the client's page. P-Series Cloud, Software and Appliance editions all work, as long as the PBX's API is available on its plan.
Turn on the API in Yeastar
- Sign in to the client's PBX web portal as an administrator.
- Open Integrations > API and turn the API on.
- Copy the Client ID and Client Secret.
- Leave IP restriction off for SeatReaper, or allow every address SeatReaper may connect from: SeatReaper's servers do not have fixed addresses, so an IP allowlist will block the sync.
Connect
An owner opens the client in SeatReaper, goes to Data sources > Yeastar, enters the PBX address (such as https://client.ras.yeastar.com, or the PBX's own public address and port), the Client ID and the Client Secret, and chooses Connect Yeastar. SeatReaper checks them, saves the secret encrypted and bound to that client, and runs the first sync. After that it syncs every day, and owners and techs can choose Sync now.
What SeatReaper reads
- Extensions: every extension on the PBX.
- Call records: on each sync, newest first. The first sync reads back up to 200 days (the longest idle threshold) as far as it can in about a minute; a busy PBX can take a few daily syncs to read it all. After that each sync reads only the calls since the last one.
For each extension SeatReaper keeps only the time of its last call: the last call it made, or the last call it answered. A call that was not answered does not count for the extension it rang.
What SeatReaper flags
- People who left: a Microsoft 365 user who is blocked, or has not signed in for the inactivity threshold, whose email is on an extension. The extension is added to that person's item.
- People no longer in Microsoft 365: an extension whose email is on the client's Microsoft 365 domains but matches no Microsoft 365 user.
- Extensions nobody uses: an extension with no call made or answered for 90 days, the same threshold as idle phone numbers. SeatReaper waits until it has read call records for the whole threshold. A PBX that keeps fewer days of call records than the threshold never has enough history, so lower the threshold for that client or keep records longer on the PBX.
Extensions are matched to people by the email address on the extension, so keep emails filled in on the PBX.
Prices and offboarding
- Prices: set what each extension costs you, or what you charge the client for it, as Yeastar phone extension in the price book.
- Offboarding: the person's extension is ticked for you when you offboard them, and confirmed once it is deleted on the PBX.
- Billing check: map a PSA product to Extensions in Yeastar in the billing check.
Disconnect
An owner chooses Disconnect on the Yeastar card. SeatReaper deletes the secret, the extensions and the call history it kept. Turn off the API, or reset the Client Secret, on the PBX to revoke access completely. Connecting the same client to a different PBX address starts its extensions and call history over.
Troubleshooting
- Yeastar refused the request: the message includes Yeastar's error code. Check the Client ID and Client Secret, that the API is on, and that IP restriction is off.
- Yeastar did not answer at that address: check the address and port, and that the API is turned on.
- Could not be reached: the PBX must be reachable from the internet on that address and port.