Connect Serval to your VMware vCenter Server so workflows can look up virtual machines, read guest identity from VMware Tools, and report on placement and vSphere tags.
VMware vCenter Server manages vSphere estates: the ESXi hosts, clusters, and virtual machines that run them. This integration connects Serval to your vCenter appliance so workflows can identify a virtual machine, read what VMware Tools reports from inside its guest, enumerate inventory for audits, and answer scope questions from vSphere tags. The integration is read-only and is marked Beta in the connect screen, so its capabilities and prebuilt workflows may still change.Authentication: Username and password for a vCenter Single Sign-On account. vCenter has no API-token concept - every call carries a session identifier obtained by exchanging credentials. Serval performs that exchange for you, caches the session briefly, and refreshes it as needed. Workflows never handle the credentials or the session.Data sync: None - everything is on demand. Serval calls your vCenter only when a workflow or health check runs. There is no background sync, no webhooks, and no data ingestion.
A generic workflow action that can call any of the supported read endpoints, covering sessions, virtual machines, guest state, placement objects, and tags.
Find Virtual Machine
Prebuilt workflow that resolves one virtual machine by name and returns its BIOS and instance UUIDs, configured guest OS, power state, the hostname and IP addresses VMware Tools reports, and its tags. Installs with no approval required.
List Virtual Machine Inventory
Prebuilt workflow that enumerates virtual machines, optionally narrowed to a datacenter, cluster, or power state. Handles estates above vCenter’s 4,000-result limit automatically. Installs with no approval required.
List Virtual Machine Tags
Prebuilt workflow that lists the vSphere tags on one virtual machine, resolved to tag and category names. Installs with no approval required.
List Virtual Machines By Tag
Prebuilt workflow that lists every virtual machine carrying a given tag, looked up by tag name. Installs with no approval required.
List ESXi Hosts
Prebuilt workflow that lists ESXi hosts, optionally narrowed to a datacenter, cluster, or connection state. Installs with no approval required.
These use the vSphere Automation REST API introduced in vSphere 7.0 - see VMware’s vSphere Automation API documentation for background on the underlying interfaces.
This integration is read-only, and enforces it: Serval refuses any request to your appliance that is not a read, so it cannot power machines on or off, create or delete them, take snapshots, or change tags.
Two things about your vCenter appliance decide whether a connection can work at all. Check both before creating the account.
Serval must be able to reach the appliance over the network
Most vCenter appliances sit on an internal network that Serval’s cloud cannot reach. Three deployments are possible:
Appliance reachable from the internet - connect normally, nothing extra needed.
Self-hosted Serval deployment - works when your deployment is configured to allow internal targets.
Serval cloud with a self-hosted worker - not supported yet for vCenter. Workflow traffic can be routed out through your own worker, but the credential exchange still happens in Serval’s cloud, which cannot reach a private address. Contact support@serval.com if this is your situation.
The appliance needs a CA-signed TLS certificate
Serval verifies the appliance’s certificate against its trust store, and there is no option to skip that check or supply a private CA. A vCenter still serving the self-signed certificate it ships with will fail to connect. Replacing it with a certificate signed by a CA your Serval deployment trusts is standard vSphere practice - see VMware’s guidance on replacing vCenter Server certificates.
Serval needs your vCenter host and a vCenter Single Sign-On account. A read-only account is sufficient: this integration never writes.
1
Create a service account in vSphere
Sign in to the vSphere Client as an administrator and go to Administration then Single Sign On then Users and Groups. Create a user in the vsphere.local domain, for example svc-serval, and give it a strong password. Using a dedicated account rather than a person’s login keeps the connection working when staff change.
2
Give it a read-only role at the vCenter root
Go to Administration then Access Control then Global Permissions, add the new user, and assign the built-in Read-only role. Select Propagate to children so the permission covers every datacenter, cluster, host, and virtual machine.
3
Confirm the account can read tags
The tag workflows call vCenter’s tagging service, which is separate from the inventory API. The Read-only role covers it in a default configuration; if your vCenter restricts tagging separately, grant the account read access there too.
4
Note your vCenter host
Use the hostname or IP address you use to reach the vSphere Client, without the “https://” prefix and without the “/ui” path - for example “vcenter.example.com”.
In Serval, go to the integrations page and select VMware vCenter (marked Beta).
2
Enter the vCenter Host
Enter the hostname or IP address of your appliance, for example “vcenter.example.com”. Add a port only if your appliance does not serve the API on 443. Serval always connects over HTTPS.
3
Enter the Username and Password
Enter the Single Sign-On account, for example “svc-serval@vsphere.local”, and its password. The password is stored encrypted and shown masked after saving.
4
Save, then run the health checks
Saving validates the format of what you entered but does not call your appliance, because the connect screen cannot reach an internal network even when workflows can. Run the health checks afterwards to confirm the credentials work.
A virtual machine’s hostname and IP addresses are reported by VMware Tools from inside the guest. vCenter itself does not know them. On a machine where Tools is not installed, not running, or the machine is powered off, the Find Virtual Machine workflow returns those fields empty with a reason rather than failing - so a machine that appears to have no IP address usually has no running Tools, not no network.
vCenter sees virtual machines, not servers
Everything here comes from the vSphere layer, so the integration answers questions about a Windows or Linux server only insofar as that server is a virtual machine on this vCenter. A physical server, a machine on Hyper-V or Nutanix, and a cloud instance are all invisible. Within a virtual machine, the visible facts are its vSphere configuration plus what VMware Tools reports - hostname, IP addresses, detected OS, mounted filesystems. Patch level, installed software, Active Directory domain membership, logged-on users, and anything else requiring in-guest execution are not available: correlate on instance UUID with an endpoint agent or CMDB for those.
Configured guest OS is not the running guest OS
Every virtual machine records the guest operating system it was configured for at creation. That value is what the machine claims, not what is booted - a machine created as Windows Server 2019 and later rebuilt as Linux still reports the original. The detected guest OS comes from VMware Tools, alongside the hostname and IP addresses.
Estates above 4,000 virtual machines
vCenter refuses any list request that would return more than 4,000 virtual machines, and its API has no way to page through results. Serval works around this by splitting the request across datacenters, and then across folders where a single datacenter is still too large. This is automatic, but it costs one call per partition, so inventory workflows are noticeably slower on very large estates. Narrowing to a datacenter or cluster makes them fast again.
Name lookups match the whole name
vCenter’s name filter has no substring or wildcard form. The Find Virtual Machine workflow tries an exact match first and falls back to listing inventory and matching locally, which is why a partial name is slower. When a partial name matches more than one machine, the workflow reports the candidates and stops rather than guessing.
Tag names are only unique within a category
Two categories can each hold a tag named “Production”. List Virtual Machines By Tag reports the ambiguity and asks for a category rather than picking one, since the two usually mean different things.
BIOS UUID can be duplicated; instance UUID cannot
The BIOS UUID is what an agent inside the guest reports as the machine UUID, and cloning can produce duplicates. The instance UUID is unique per virtual machine within a vCenter. When correlating with a CMDB or an endpoint agent, prefer instance UUID where both systems have it.
Changing the password breaks the connection until you update it
Serval exchanges the stored password for a session on demand. If the account’s password is rotated or the account is disabled in vSphere, workflow runs start failing immediately. Update the password in the integration settings to restore it.
This integration is in Beta
The VMware vCenter connect tile is marked Beta, so the available actions and prebuilt workflows may still change.
Need help? Contact support@serval.com for assistance with your VMware vCenter integration.