Dataverse integration for WordPress

WBS Dataverse Connect is a Dataverse integration for WordPress: publish Microsoft Dataverse records as pages, lists and detail views, capture submissions straight back into your tables, and keep every record exactly where it already lives. No portal license. No second copy of your data.

Already running in production on this site. See it live. Documentation: docs.

The uncomfortable part

Power Pages is a great idea with a bill that stops adding up.

The product works. The economics are the problem. The moment a portal gets real traffic or real users, per-user and per-page-view licensing turns a simple public site into a line item nobody wants to defend at renewal. Your records already live in Dataverse. The front end does not have to cost like this.

Cost as usage grows
€€€ 0 users & page views
Power Pages licensing WordPress + Dataverse

Why teams are moving

What sends organizations looking for the exit

Portals solved a real problem in their day. For most public-facing sites, the trade-offs no longer make sense.

01

The licensing meter

Per authenticated user or per anonymous page view, plus capacity add-ons. The cost scales with your success instead of the value you get, and it renews every year.

02

A front end you don't fully own

Liquid templates and a fixed component model. Real design, real interactivity and modern tooling end up fighting the platform instead of running on it.

03

One more environment to run

A portal is another surface to secure, patch, monitor and buy capacity for, separate from the website your marketing team already owns and knows.

04

SEO and performance ceilings

Portals are not built like a modern marketing site. Control over markup, page speed and your SEO stack is limited, exactly where public traffic is won or lost.

05

Lock-in by design

The front end and the data are welded together. Moving off means rebuilding, so the invoice keeps arriving because leaving is made expensive.

06

Your team already knows WordPress

The theme, the plugins, the skills and the workflow already exist. A portal asks a capable team to start over on an unfamiliar platform.

The solution

One plugin. Your data on the open web.

WBS Dataverse Connect reads and writes Dataverse from WordPress through the official Web API, on the server, with an app registration you control. The records never leave Dataverse.

Live Dataverse read

Tables and columns you choose render as WordPress collection lists and detail pages, cached for speed. It reads the same records your model-driven apps use, and edits show up on the next cache refresh.

Write back through forms

Enquiries, applications and requests submitted on the site land straight in your Dataverse tables as typed records, with a honeypot and rate limiting on every write. No inbox in the middle.

Native WordPress, your way

Shortcodes and blocks drop collections, detail views and forms into any page. Templates are override-able, so the output is your brand, your markup and your SEO stack. Nothing new to relearn.

What it does

A portal's worth of function, on the platform you already run

Everything a public-facing Dataverse site needs, delivered as clean WordPress you own end to end. Version 1.5.0 adds search, filters, sort and paging, typed forms with an edit mode, block editor support, image and file columns, and webhooks.

Updated September 2026, changelog on WordPress.org.

Any table, published as a collection

Name the table, the columns and an optional status filter, and the rows render as a responsive card grid. Visitors get a search box, filter dropdowns, sort choices and Previous and Next paging that keep their state, all without JavaScript. A status filter such as statecode eq 0 keeps drafts and internal records off the public site, including on direct links.

Column labels come from the table's display names in Dataverse, and choices, money, dates and lookups arrive already formatted in the environment's locale.

Collections documentation

How it works

Four steps from Dataverse to a live page

Connect once, model what goes public, drop a shortcode or a block, and ship. The data stays in Dataverse the whole way.

Step 01Connect

Register and scope

An Entra app registration and a Dataverse application user with least-privilege access. Credentials go in your WordPress config or a vault.

  • App registration
  • Least-privilege role
  • Secrets kept server-side
Step 02Model

Choose what goes public

Point the plugin at the tables and columns you want on the web. A status filter keeps everything else private.

  • Tables and columns
  • Search, filters, sort
  • Status filter
Step 03Render

Drop a shortcode or a block

Add a collection, record or form shortcode to any page, or insert the matching block. Override the templates in your theme so the markup and design are yours.

  • Collection, record, form
  • Override-able templates
  • Clean, themeable markup
Step 04Publish

Ship it live

Pages are cached and SEO-ready. Health alerts and webhooks tell you when the connection breaks, and edits in Dataverse show up on the next refresh.

  • Cached and fast
  • SEO-ready markup
  • Alerts on failure

Side by side

Same data. A very different front end.

Power Pages portal
  • ×Per-user or per-page-view licensing, plus capacity
  • ×Liquid templates and a fixed component model
  • ×A separate environment to secure and monitor
  • ×Limited control of markup, speed and SEO
  • ×Front end welded to the data, so leaving is costly
WBS Dataverse Connect on WordPressThis approach
  • Standard WordPress hosting, a flat and familiar bill
  • Your theme, your components, your tooling
  • One site your team already runs
  • Full control of markup, performance and SEO
  • Data stays in Dataverse, the front end is replaceable

You stay on the Microsoft stack. Dataverse remains the single source of truth. Only the front end changes.

Compared with DataPress

The other Dataverse plugin for WordPress

DataPress by AlexaCRM serves the same purpose. The facts that decide most evaluations, side by side.

CriterionWBS Connect 1.5DataPress 2.95
Minimum PHP8.08.2 with intl
Setup without a Dataverse solutionYesPremium needs the DataPress solution
License checkOffline token, no phone-homeRegistration and activation server
No-code admin for lists and formsYesTwig required on the free tier
Readable detail URLsSlug columnGUID or alternate key
Health alerts and connection probeYesNo
Price for two sites per yearEUR 190 ProUSD 490 Pro

Both plugins use the Dataverse Web API and a server-side application user. Prices as published on 7 September 2026.

Pricing

Pricing that does not scale against you

The core plugin is free on WordPress.org. Pro adds the portal-grade features at a flat per-site price - no per-user or per-page-view metering.

Free
€0
free forever
  • Collections with search, filters, sort and paging
  • Detail pages with images and files
  • Typed forms with update mode
  • Block editor
  • Webhooks
  • Health alerts
  • Templates you can override
Get it on WordPress.org
ProAvailable now
€19
per month, billed yearly at €190
  • Everything in Free
  • Multiple environments: dev, test, prod
  • Certificate authentication
  • Contact Form 7, Gravity Forms and WBS Forms integrations
  • Multisite
  • Priority support
  • 2 sites
Request Pro
BusinessAvailable now
€49
per month, billed yearly at €490
  • Everything in Pro
  • Visitor sign-in bound to a Dataverse contact
  • My records and profile editing
  • Access rules per collection and form
  • 5 sites
Request Business
EnterpriseOn request
€99
per month, billed yearly at €990
  • Everything in Business
  • Entra External ID sign-in
  • 15 sites
  • Response-time SLA
Talk to us

Invoice billing, prices net of VAT. Licenses are per site with offline activation - no phone-home.

Not a slide

This is running in production on the site you are reading now. Property listings are published straight from Dataverse through this plugin, and enquiries are written back as records. No portal license involved.

See it live

On kraftfahrer-jobs.com, Leopold Michel recruits drivers with application forms in German, English and Croatian. Each one writes a typed record into Dataverse through the WBS Forms bridge. It replaced a legacy integration whose secret had expired unnoticed.

kraftfahrer-jobs.com

Questions

Frequently asked

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 through the Power Apps 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. WBS Connect 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.

How is this different from DataPress?

DataPress by AlexaCRM is a plugin in the same category. As of 7 September 2026, WBS Connect runs on PHP 8.0 without the intl extension, needs no Dataverse solution, checks its Pro license offline, configures lists and forms in wp-admin without Twig, uses a slug column for readable detail URLs and ships health alerts with a connection probe. DataPress offers FetchXML queries, saved views and Ninja Forms support, which WBS Connect does not have yet. The comparison table above lists the details.

Does it work with the block editor and Elementor?

Yes. The block editor gets three blocks: Dataverse Collection, Dataverse Record and Dataverse Form, each with a dropdown of your configured collections and forms and a live preview. In Elementor, place the shortcode in a Shortcode widget; the output and the templates are the same.

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, and the data of form submissions written to your Dataverse environment. Record data flows the other way, from your environment to your site. If you switch on Cloudflare Turnstile for a form, that form also sends the challenge token and the visitor's IP address to Cloudflare for verification. Webhooks you configure post to the URLs you enter and nowhere else.

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. Forms write to any table the application user may create or update records in, with every field typed for its column: choices, dates, numbers, money, yes/no and lookups are converted on the server.

Can visitors edit records?

Only through an update-mode form, and only records that are visible through the collection the form is bound to. The application user needs Write on that table. Records that fail the collection's status filter cannot be opened or changed.

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.

Get started

Move the front end. Keep the data.

If your team runs a Power Pages portal, we will map what it does, price the WordPress and Dataverse alternative, and show you the migration path on your own tables. If you are starting fresh, we will stand up the first collection with you.

Built and supported by WOODS Business Solutions. Runs entirely inside your Microsoft tenant and your WordPress site.