FlowRunner
PricingContact
Theme
Start Free

Yeastar Contacts

Voice & Telephony

Manage contacts, phonebooks, and extensions on a Yeastar P-Series PBX. Agents keep the company directory in step with the CRM and the HR roster.

14 actions API key available
A contact record changes in the CRM, or a new hire lands in the HR system
Agent resolves the matching directory entry with Search Company Contacts
Agent reads the full record with Get Company Contact to get first name, last name and the nested number list
Agent compares the incoming numbers against the numbers already on the PBX record
Agent confirms the write would not remove a number that has been in use
Where the incoming record has fewer numbers than the PBX record, the directory owner decides which numbers survive before Update Company Contact runs

What This Integration Enables

This connector is deliberately narrow, and that is the point. It does not place calls, monitor queues or read call records. It maintains the company directory on a Yeastar P-Series PBX: the contacts, the phonebooks that group them, and the extensions those phonebooks are visible to. One job, done properly.

That job matters more than it sounds. The directory is what turns a ringing number into a name on every handset at once, and it is the piece of phone infrastructure most likely to be maintained by hand and therefore most likely to be wrong. An agent can keep it in step with the CRM and the HR roster continuously, which is exactly the kind of work that should never have required a person. What still requires a person is the small number of cases where the systems disagree, and this connector has a specific one built into its data model. FlowRunner agents run the sync and route those automation exceptions to whoever owns the directory, rather than picking a winner on their own.

Without FlowRunner

Directory drifts from the CRM The name on the desk phone reflects whoever last updated the PBX by hand
Phonebook scoping done per request Giving a new team its own set of contacts means an admin ticket and a manual selection
Sync scripts overwrite silently A partial record written back to the PBX can drop numbers nobody notices until a call goes unanswered

With FlowRunner

One directory, fed from the systems of record New CRM contacts and new hires appear in the PBX directory without a person retyping them
Phonebooks provisioned with the team A scoped phonebook is created and populated as part of onboarding, visible to the right extensions
Destructive writes are surfaced A sync that would remove numbers stops and asks rather than applying and reporting success

Use Case Scenarios

New CRM contacts appear on every handset

A contact is created in HubSpot with a mobile and a switchboard number. The agent calls Create Company Contact with the numbers as a list of number type and number pairs, and places the contact into the phonebook for the team that owns the account at creation time. From that moment, calls from either number resolve to a name and a company across every extension that can see the phonebook. The rep who answers knows who is calling before they say hello.

Onboarding builds a scoped phonebook

A new team is created in BambooHR. The agent calls List Extensions to resolve the new starters to their extension numbers, then Create Phonebook scoped to exactly those extensions, seeded with the existing company contacts the team needs. As people join and leave, Update Phonebook moves contacts and visibility in and out as deltas against the current state, which means the flow adjusts membership without ever having to restate the whole list. Removing a contact from a phonebook leaves the contact itself in the directory, so scoping and deletion stay separate concerns.

A nightly reconciliation that reports rather than resolves

Overnight, the agent walks the directory with List Company Contacts and hydrates batches with Query Company Contacts, which returns the same detail shape as a single read without one request per record. It compares each entry against the CRM and produces three lists: entries the CRM has and the PBX does not, entries the PBX has and the CRM does not, and entries where the numbers disagree. The first list is applied automatically. The second and third go to a human, because a number that exists only on the PBX is usually there for a reason.

Human-in-Loop Highlight

The gate on this connector is not deletion, it is a specific and easily missed property of Update Company Contact: the numbers you supply replace the contact's existing number list. Not merge, replace. A sync that reads a CRM record with one mobile number and writes it to a PBX contact carrying a mobile, a direct line, a switchboard and an out-of-hours number will leave that contact with one number and no error. Three working numbers stop resolving to a name across every extension, and the failure is silent until somebody asks why the switchboard call showed up as digits.

So the agent reads the current record with Get Company Contact first, compares number lists, and stops when the incoming set is smaller: "CRM record for Elena Marsh at Northbridge Ltd has 1 number. The PBX contact has 4: mobile, business, business2, home. Applying the CRM record would remove 3. Keep all four and add the CRM number, or replace with the CRM number only?" The directory owner picks in one tap and the agent applies exactly that. Delete Company Contact carries the same discipline for the same reason: it removes the contact from the directory and from every phonebook it belonged to, permanently.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

14 actions

Authentication

1
  • Refresh Access Token Exchange the cached refresh token for a fresh access token and rotate both. The connector already mints and reuses a token automatically and retries once when a token expires mid-call, so this is only needed to force a rotation. Access tokens live thirty minutes and refresh tokens twenty four hours, and the PBX allows at most eight valid access tokens per application, so it is not something to call in a loop.

Company Contacts

7
  • List Company Contacts Retrieve a page of contacts from the shared directory. This returns the summary shape: a single combined contact name plus flat number fields, not the separate first name, last name and nested number list used by the detail read and the write operations. Empty fields are omitted rather than returned empty, and the full count is reported separately.
  • Search Company Contacts Search the directory for contacts matching a term, matched by the PBX against name, company, email and number fields. Results use the same summary shape as the list, so pass an ID into Get Company Contact before editing anything.
  • Get Company Contact Retrieve the full detail of one contact: separate first and last name, a nested list of number type and number pairs, and the address block. This is the shape the create and update operations expect, so it is the required first step before any edit.
  • Query Company Contacts Retrieve several contacts in one call by their identifiers, returning the same detail shape as the single read. Used to hydrate a batch without one request per record.
  • Create Company Contact Add a contact to the directory so inbound calls from its numbers resolve to a name across every extension. Numbers are supplied as a list of number type and number pairs, and the contact can be placed into one or more phonebooks at creation time.
  • Update Company Contact Update an existing contact. Only supplied fields are sent, and the numbers supplied replace the contact's existing number list, so read the contact first and resend the numbers you intend to keep. Output from the list or search operations cannot be passed in directly, because it uses a different shape.
  • Delete Company Contact Permanently remove a contact from the directory and from every phonebook it belongs to. Calls from its numbers stop resolving to a name, and this cannot be undone.

Phonebooks

5
  • List Phonebooks Retrieve a page of phonebooks with their name and contact count. Phonebooks group contacts and control which extensions can see them.
  • Get Phonebook Retrieve one phonebook with its name, contact count, visibility selection, and the extensions or contacts it is scoped to. Read this before an update, because updates are expressed as deltas against the current state.
  • Create Phonebook Create a phonebook and optionally seed it with existing contacts. Choose whether every extension can see it or only named extensions.
  • Update Phonebook Rename a phonebook, change who can see it, and move contacts in or out. Membership is a delta: listed contacts are added or removed and the rest are untouched. Removing a contact from a phonebook does not delete the contact.
  • Delete Phonebook Delete a phonebook. The contacts it grouped remain in the directory, but the extensions lose the grouped view of them. This cannot be undone.

Extensions

1
  • List Extensions Retrieve the extensions configured on the PBX with their number, caller ID name, email, mobile number, role, and current presence and online status. Used to resolve an extension to a person, or to pick the extensions a phonebook should be visible to.

Frequently Asked Questions

What can FlowRunner do with Yeastar Contacts?

FlowRunner agents can run Refresh Access Token, List Company Contacts, and Search Company Contacts in Yeastar Contacts, plus 11 more actions.

Does connecting Yeastar Contacts to FlowRunner require OAuth?

No. Yeastar Contacts connects to FlowRunner with an API key, no OAuth flow required.

Can Yeastar Contacts trigger a FlowRunner workflow automatically?

Yeastar Contacts doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Yeastar Contacts

$100 in credits. No card required. Connect in minutes.