Skip to main content

Dashboard, Activity Log, and Provisioning

Use the WaaS dashboard for revenue and subscription totals. Use Activity Log to inspect recorded events. Use Provisioning when a signup or upgrade job needs a retry or should be closed.

WaaS Dashboard​

Navigate to Waas → Dashboard (/wp-admin/admin.php?page=grabwp-tenancy-waas).

WaaS Dashboard

The page heading is WaaS Dashboard.

Summary cards​

CardNotes
Monthly Recurring RevenueCurrent MRR, shown with a dollar amount.
Active SubscribersCount of active subscriptions.
New (30 days)Signups in the last 30 days.
Churn Rate (30d)Churn over the last 30 days, as a percent.

Plan Distribution​

Shown when at least one plan has subscribers. Columns are Plan and Subscribers.

Subscription Status​

Shown when subscriptions exist. Columns are Status and Count. Each status is a badge. Click it to open Subscriptions filtered to that status. See Managing Subscriptions.

Recent Activity​

Shown when log rows exist. Columns are Date, Event, and Tenant. Event is the event code. This panel is a short list. The full log is on Activity Log.

Actions​

  • View Subscriptions opens the subscriptions list.
  • Manage Templates opens the template library.
  • View Partners is added when the partner plugin is active.

Verify: the four summary cards render, and View Subscriptions opens page=grabwp-tenancy-waas-subscriptions.

Activity Log​

Navigate to Waas → Settings → Activity Log (/wp-admin/admin.php?page=grabwp-tenancy-waas-settings&tab=activity).

Activity Log

ColumnNotes
DateWhen the event was stored. Sortable.
EventEvent code. Sortable.
Actorcron, another actor type, or the WordPress user's display name when an actor id is stored.
TenantTenant id, when the event has one.
DetailsA short JSON summary. Hover the cell for the fuller payload.
IPRequest IP, when one was recorded.

Filter with the event dropdown, then click Filter. All events clears the event filter. The dropdown options are:

  • tenant_created
  • tenant_deleted
  • tenant_updated
  • token_generated
  • api_request
  • settings_changed
  • subscription_created
  • subscription_changed
  • webhook_received

The table can also show event codes that are not in that dropdown, such as renewal and reconcile events. Those rows still appear under All events.

How long rows are kept is Retention (days) under Waas → Settings → General, in the Retention and grace period section (7 to 365). See Configure WaaS General Settings.

Verify: choose subscription_changed, click Filter, and confirm the Event column only lists that code. Choose All events and click Filter to see the full log again.

Provisioning​

Navigate to Waas → Settings → Provisioning (/wp-admin/admin.php?page=grabwp-tenancy-waas-settings&tab=provisioning).

Provisioning intents

Each row is a provisioning intent: the job that creates or updates a tenant after signup, upgrade, or an add-on purchase.

ColumnNotes
Intent IDIntent id.
FlowSignup, Upgrade, or Addon_purchase.
StateCurrent state, shown as a badge.
Clone ProgressClone step and total, as step / total, while a clone is in progress.
Last ErrorLatest error text, when there is one.
RetriesHow many retries have been recorded.
UpdatedLast update time.
ActionsRetry and Dismiss.

Filter with All active states or one of these states, then click Filter:

StateWhat it means on this screen
checkout_pendingCheckout has not completed.
payment_confirmedPayment is confirmed and provisioning continues.
finalizingThe job is finishing the tenant.
tenant_createdThe tenant record exists and later steps are still running.
clone_runningA template clone is in progress. Clone Progress shows the step count.
failed_retriableThe job failed and can be queued again.

Completed jobs are not listed in this active set. Dismiss moves an intent to failed_terminal.

Retry​

Retry (the update icon) is shown when the state is failed_retriable or clone_running.

  1. Click Retry on that row.

Verify: the notice Intent re-queued for retry. appears. The intent returns to failed_retriable, Retries is reset to 0, and the job is scheduled to run again.

Dismiss​

  1. Click Dismiss (the dismiss icon).
  2. Confirm Mark this intent as dismissed (failed_terminal)?

Verify: the notice Intent dismissed. appears and the intent leaves the active list.


Related: Managing Subscriptions