Title: WBS Connect for Dataverse
Author: WBS – AI &amp; Microsoft Cloud
Published: <strong>July 23, 2026</strong>
Last modified: July 23, 2026

---

Search plugins

![](https://ps.w.org/wbs-connect-for-dataverse/assets/banner-772x250.png?rev=3620392)

![](https://ps.w.org/wbs-connect-for-dataverse/assets/icon-256x256.png?rev=3620392)

# WBS Connect for Dataverse

 By [WBS – AI & Microsoft Cloud](https://profiles.wordpress.org/ztwoods/)

[Download](https://downloads.wordpress.org/plugin/wbs-connect-for-dataverse.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/wbs-connect-for-dataverse/#description)
 * [Reviews](https://wordpress.org/plugins/wbs-connect-for-dataverse/#reviews)
 *  [Installation](https://wordpress.org/plugins/wbs-connect-for-dataverse/#installation)
 * [Development](https://wordpress.org/plugins/wbs-connect-for-dataverse/#developers)

 [Support](https://wordpress.org/support/plugin/wbs-connect-for-dataverse/)

## Description

WBS Connect for Dataverse turns a WordPress site into a front end for your own Microsoft
Dataverse (or Dynamics 365) environment. Records from any Dataverse table render
as card grids and detail pages via shortcodes, and site forms create records directly
in Dataverse. The data stays in Dataverse; only the presentation layer lives in 
WordPress.

**Features**

 * **Collections.** Publish any Dataverse table by naming the table, the columns
   and an optional status filter. No code required; developers can also register
   collections via a filter.
 * **Grid and detail on one page.** `[wbsdvc_collection]` renders the card grid,
   and the same page renders the detail view when a record is selected, so links
   stay short.
 * **Clean detail URLs.** Point a collection at a slug column and detail links use
   readable slugs (`?dvc=my-record`) instead of raw record ids. Id links keep working
   as a fallback.
 * **Write-back forms.** Map form fields to columns of any table; submissions create
   records in Dataverse, optionally related to the record the form was shown on.
   Every submission is nonce-verified, honeypot-checked and rate limited.
 * **Server-side authentication.** The plugin signs in with an Entra ID app registration(
   client-credentials flow) and a Dataverse application user with a least-privilege
   role. Credentials never reach the browser; `wp-config.php` constants are the 
   recommended home for them.
 * **Caching and fail-open.** Reads are cached with a configurable TTL. When Dataverse
   is unreachable, pages show a friendly notice instead of failing; the site never
   goes blank.
 * **Display-ready values.** Choices, money, dates and lookups arrive formatted 
   by Dataverse itself, in the environment’s locale.
 * **Themeable.** All output runs through templates a theme can override, so markup,
   classes and SEO belong to the site owner.

**Requirements**

 * PHP 8.0 or newer, WordPress 6.0 or newer.
 * Access to a working Microsoft Dataverse or Dynamics 365 environment is required.
   Without one the plugin has no function. Free developer environments are available
   from Microsoft: [https://learn.microsoft.com/power-platform/developer/plan](https://learn.microsoft.com/power-platform/developer/plan)

**External services**

This plugin connects to two external services, both operated by Microsoft and both
belonging to you, the site owner. Data flows only between your WordPress host and
your own Microsoft tenant’s endpoints; nothing is sent to WOODS Business Solutions
or any other third party, and the plugin contains no telemetry.

 1. **Microsoft Entra ID token endpoint** (`login.microsoftonline.com`). The plugin
    requests OAuth2 access tokens here using the tenant id, client id and client secret
    you configure. This happens whenever a cached token has expired.
 2. **Your Microsoft Dataverse environment** (the `*.dynamics.com` URL you configure,
    for example `https://yourorg.crm4.dynamics.com`). The plugin reads the records 
    you chose to publish and creates the records your visitors submit through configured
    forms (typically a name, email address, phone number and message). This happens
    on page views of pages using the shortcodes (subject to caching) and on form submissions.

These services are governed by Microsoft’s terms and privacy statement:

 * Terms: [https://www.microsoft.com/licensing/terms](https://www.microsoft.com/licensing/terms)
 * Privacy: [https://privacy.microsoft.com/privacystatement](https://privacy.microsoft.com/privacystatement)

WOODS Business Solutions is an independent company and is not affiliated with, endorsed
by or sponsored by Microsoft. Dataverse, Dynamics 365 and Microsoft are trademarks
of the Microsoft group of companies, used here solely to describe compatibility.

## Screenshots

[⌊Collection grid rendered by [wbsdvc_collection].⌉⌊Collection grid rendered by [
wbsdvc_collection].⌉[

Collection grid rendered by [wbsdvc_collection].

[⌊Record detail view with an attached write-back form.⌉⌊Record detail view with 
an attached write-back form.⌉[

Record detail view with an attached write-back form.

[⌊Connection settings with wp-config constant lock and connection test.⌉⌊Connection
settings with wp-config constant lock and connection test.⌉[

Connection settings with wp-config constant lock and connection test.

[⌊Collections management.⌉⌊Collections management.⌉[

Collections management.

[⌊Form (write-back) management.⌉⌊Form (write-back) management.⌉[

Form (write-back) management.

## Installation

 1. Install and activate the plugin.
 2. In the Entra admin center, create an app registration (no redirect URI needed) 
    and a client secret.
 3. In the Power Platform admin center, create an application user for that app registration
    in your environment and assign it a least-privilege security role: Read on the 
    tables you publish, Create on the tables your forms write to. Do not use System
    Administrator.
 4. Enter tenant id, client id, client secret and environment URL under Settings, Dataverse
    Connect, or define them as `WBS_DATAVERSE_CONNECT_TENANT_ID`, `WBS_DATAVERSE_CONNECT_CLIENT_ID`,`
    WBS_DATAVERSE_CONNECT_CLIENT_SECRET` and `WBS_DATAVERSE_CONNECT_ENV_URL` in `wp-
    config.php` (recommended).
 5. Run “Test connection” on the settings page.
 6. Add a collection on the Collections tab and put `[wbsdvc_collection name="<key>"]`
    on a page.

## FAQ

### Do I need my own Dataverse environment?

Yes. The plugin is a front end for an environment you already own and administer;
it ships with no data and no Microsoft account. Free developer environments are 
available from Microsoft at [https://learn.microsoft.com/power-platform/developer/plan](https://learn.microsoft.com/power-platform/developer/plan).

### How is this different from Microsoft Power Pages?

Power Pages is Microsoft’s hosted portal product with per-user and per-page-view
licensing. This plugin serves the same Dataverse data from your own WordPress site
on standard hosting, through the official Dataverse Web API. Dataverse remains the
single source of truth; only the front end moves to WordPress.

### Does WOODS Business Solutions see my data?

No. Your WordPress site talks directly to your own Microsoft endpoints (`login.microsoftonline.
com` and your environment’s `*.dynamics.com` URL). Nothing is sent to us, and the
plugin contains no tracking or telemetry of any kind.

### Where do my credentials live?

Preferably as constants in `wp-config.php`, which lock the matching settings fields
and keep the secret out of the database entirely. Alternatively the settings page
stores them in the WordPress options table; the secret is never displayed again 
after saving. Credentials are only ever used server-side and never reach the browser.

### What data leaves my site?

Two things, both to your own Microsoft tenant: the configured credentials during
token requests to `login.microsoftonline.com`, and the data of form submissions (
the fields you mapped, typically name, email, phone and message) written to your
Dataverse environment. Record data flows the other way, from your environment to
your site. No other external requests are made.

### Does it work with any table?

Any table the application user can read, standard or custom. A collection needs 
the table’s logical name, its entity set name, a name column and the columns to 
display. Writes work against any table the application user may create records in,
with values mapped to text columns; typed columns can be handled via a developer
filter.

### Are the templates customizable?

Yes. Copy any file from the plugin’s `templates/` directory into `<your-theme>/wbs-
connect-for-dataverse/` and edit the copy; the theme version wins, and child themes
work too.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WBS Connect for Dataverse” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ WBS – AI & Microsoft Cloud ](https://profiles.wordpress.org/ztwoods/)

[Translate “WBS Connect for Dataverse” into your language.](https://translate.wordpress.org/projects/wp-plugins/wbs-connect-for-dataverse)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wbs-connect-for-dataverse/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wbs-connect-for-dataverse/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wbs-connect-for-dataverse/)
by [RSS](https://plugins.trac.wordpress.org/log/wbs-connect-for-dataverse/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release: collections (grid and detail shortcodes for any Dataverse table),
   write-back forms with field mapping and lookup binding, server-side Entra ID 
   auth, response caching with fail-open behavior, theme-overridable templates.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [crm](https://wordpress.org/plugins/tags/crm/)[Dataverse](https://wordpress.org/plugins/tags/dataverse/)
   [dynamics 365](https://wordpress.org/plugins/tags/dynamics-365/)[integration](https://wordpress.org/plugins/tags/integration/)
   [microsoft](https://wordpress.org/plugins/tags/microsoft/)
 *  [Advanced View](https://wordpress.org/plugins/wbs-connect-for-dataverse/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/wbs-connect-for-dataverse/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wbs-connect-for-dataverse/reviews/)

## Contributors

 *   [ WBS – AI & Microsoft Cloud ](https://profiles.wordpress.org/ztwoods/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wbs-connect-for-dataverse/)