← All playbooks
Status pages migration

Better Stack → Instatus

Move pages, domains, branding, and localization, components, groups, and current status, incidents, updates, and postmortems, scheduled maintenance and recurrence, subscribers and notification preferences, incident templates and communication policy, monitors, automation, and component mapping, apis, embeds, rss, and third-party components from Better Stack to Instatus with a reversible cutover, explicit exception ledger, and evidence-backed verification.

Typical timeline15–45 business days70–180 hours active work
Statusneeds review
Source profileBetter Stack documentation reviewed 2026-07-20
Destination profileInstatus documentation reviewed 2026-07-20
Documentation date
Review window
Evidence2 sources
This route needs review.Use it as a planning baseline, then verify the dated sources and test with representative data before production.
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Better Stack

Reasons to stay
  • Monitoring, on-call, incident management, logs, and status pages form an approachable integrated workflow
  • A dedicated public incident channel keeps component status, updates, maintenance, and subscriptions together
Reasons to leave
  • Combining several operational functions increases dependence on one vendor's data and alert models
  • Subscriber consent, uptime history, automation, and incident semantics vary substantially by provider
New platform

Instatus

What gets better
  • A focused, customizable status-page service offers quick setup and straightforward incident communication
  • A dedicated public incident channel keeps component status, updates, maintenance, and subscriptions together
What gets worse
  • Its surrounding incident-management and monitoring ecosystem is smaller than broader operations platforms
  • Subscriber consent, uptime history, automation, and incident semantics vary substantially by provider
Best of the move

Instatus: A focused, customizable status-page service offers quick setup and straightforward incident communication. This removes a major source-side concern: Combining several operational functions increases dependence on one vendor's data and alert models.

Worst of the move

What you lose: Monitoring, on-call, incident management, logs, and status pages form an approachable integrated workflow. What you inherit: Its surrounding incident-management and monitoring ecosystem is smaller than broader operations platforms.

Jump to a section
01At a glance

Know the shape of the move.

Transfer outcome10 features audited
Transfer outcome distributionClean transfer: 0, Partial transfer: 4, Manual rebuild: 5, Not transferred: 1.
Clean0
Partial4
Manual5
Lost1
Mapping route8 of 9 fields have a destination path

This timeline assumes

  • Up to 50 public pages, 500 components, 10 years of incidents, and one million subscribers
  • Administrators control both Better Stack and Instatus, including billing, identity, APIs, integrations, and export permissions.
  • Better Stack remains intact and recoverable until Instatus completes one representative operating cycle.
  • A production-shaped pilot includes every object type, access class, edge case, and failure path.
  • The migration team preserves stable source identifiers and records durable evidence for every blocking check.
02What transfers

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
Pages, domains, branding, and localizationmanualhighPage hierarchy, custom domains, themes, CSS, language, and accessibility output require reconstruction. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Inventory and rebuild pages, domains, branding, and localization, then test normal, edge, failure, and rollback behavior.
Components, groups, and current statuspartialcriticalComponent hierarchy, allowed states, dependencies, and aggregate status calculations differ. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Map components, groups, and current status explicitly, pilot every feature class, and reconcile accepted, changed, rejected, and excluded items.
Incidents, updates, and postmortemspartialcriticalIncident impact, timestamps, affected components, update state, attribution, and postmortems require mapping. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Map incidents, updates, and postmortems explicitly, pilot every feature class, and reconcile accepted, changed, rejected, and excluded items.
Scheduled maintenance and recurrencepartialhighMaintenance states, reminders, recurrence, time zones, and component impact use different models. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Map scheduled maintenance and recurrence explicitly, pilot every feature class, and reconcile accepted, changed, rejected, and excluded items.
Subscribers and notification preferencespartialcriticalEmail, SMS, webhook, feed, and component-level consent may not be portable. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Map subscribers and notification preferences explicitly, pilot every feature class, and reconcile accepted, changed, rejected, and excluded items.
Incident templates and communication policymanualhighTemplates, saved messages, approval workflow, translations, and tone controls need rebuilding. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Inventory and rebuild incident templates and communication policy, then test normal, edge, failure, and rollback behavior.
Monitors, automation, and component mappingmanualcriticalMonitoring integrations, email automation, webhooks, and status translation must switch once. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Inventory and rebuild monitors, automation, and component mapping, then test normal, edge, failure, and rollback behavior.
APIs, embeds, RSS, and third-party componentsmanualhighEndpoints, widgets, feeds, tokens, and upstream component integrations change. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Inventory and rebuild apis, embeds, rss, and third-party components, then test normal, edge, failure, and rollback behavior.
Historical uptime and SLA reportinglosthighProvider-calculated uptime, subscriber delivery, and analytics do not become destination-native history. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Archive historical uptime and sla reporting as dated source evidence and define the new destination baseline.
Team roles, SSO, audit logs, and billingmanualhighResponders, roles, SSO, audit evidence, notification quotas, and plan entitlements differ. A successful bulk job therefore does not prove semantic parity between Better Stack and Instatus.Inventory and rebuild team roles, sso, audit logs, and billing, then test normal, edge, failure, and rollback behavior.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
Better Stack: Pages, domains, branding, and localizationInstatus: approved pages, domains, branding, and localization representationmanualPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for pages, domains, branding, and localization.
Better Stack: Components, groups, and current statusInstatus: approved components, groups, and current status representationtransformPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for components, groups, and current status.
Better Stack: Incidents, updates, and postmortemsInstatus: approved incidents, updates, and postmortems representationtransformPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for incidents, updates, and postmortems.
Better Stack: Scheduled maintenance and recurrenceInstatus: approved scheduled maintenance and recurrence representationtransformPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for scheduled maintenance and recurrence.
Better Stack: Subscribers and notification preferencesInstatus: approved subscribers and notification preferences representationtransformPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for subscribers and notification preferences.
Better Stack: Incident templates and communication policyInstatus: approved incident templates and communication policy representationmanualPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for incident templates and communication policy.
Better Stack: Monitors, automation, and component mappingInstatus: approved monitors, automation, and component mapping representationmanualPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for monitors, automation, and component mapping.
Better Stack: APIs, embeds, RSS, and third-party componentsInstatus: approved apis, embeds, rss, and third-party components representationmanualPreserve source IDs, ownership, timestamps, access intent, and an explicit exception status for apis, embeds, rss, and third-party components.
Better Stack: Historical uptime and SLA reportingNo destinationunsupportedRetain immutable source evidence; do not manufacture destination-native history.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Preserve Better Stack data, configuration, access, and operating evidence before any destination write.

  1. Export every available Better Stack object and binary in scope, including pages, domains, branding, and localization, components, groups, and current status, incidents, updates, and postmortems, scheduled maintenance and recurrence.
  2. Capture configuration and runtime dependencies for subscribers and notification preferences, incident templates and communication policy, monitors, automation, and component mapping, apis, embeds, rss, and third-party components.
  3. Record counts, sizes, owners, timestamps, access classes, financial totals where applicable, and known exceptions.
  4. Hash immutable exports, record tool versions and commands, and transform working copies only.

Proof to capture: A signed manifest accounts for every scoped record class, configuration object, binary, count, total, exception, and hash.

Transformation · Version-controlled migration workbook, SQL, or typed transformation code

Identity, schema, and disposition registry

Preserve stable identity and make every mapping or exclusion reviewable.

  1. Inventory source types, identifiers, owners, states, and access.
  2. Define one approved destination representation or explicit archive decision.
  3. Reject unmapped critical items and produce an exception ledger.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · Official APIs, provider importers, checksums, and reconciliation scripts

Dependency-ordered migration package

Load prerequisite identities and configuration before dependent records and runtime actions.

  1. Normalize encoding, timestamps, identifiers, nulls, and destination limits.
  2. Run a representative pilot and retain request, response, and rejection evidence.
  3. Reconcile the final delta before enabling destination production writers.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Import

A completed migration hides missing or altered pages, domains, branding, and localization

criticalpossible likelihood

Headline counts look plausible while semantic, access, or relationship checks fail.

Consequence
The destination becomes authoritative with incomplete or misleading business data.
Mitigation
Reconcile by type, state, owner, access class, and representative record rather than total count alone.

Stop if: Any critical item lacks a verified destination, approved transformation, explicit exclusion, or recoverable archive.

Cutover

Better Stack and Instatus both perform production actions

criticalpossible likelihood

Users, schedules, webhooks, integrations, or traffic continue changing both systems.

Consequence
State diverges or customers receive duplicate, contradictory, or unsafe actions.
Mitigation
Freeze source writers and transfer one production owner at a time with an approved rollback.

Stop if: An unapproved source writer or destination duplicate action appears after the freeze.

Verification

Destination access or security is broader than approved

criticalpossible likelihood

A representative restricted user can read, change, export, or trigger an unauthorized item.

Consequence
Confidential, regulated, financial, or security-sensitive data is exposed or changed.
Mitigation
Apply least privilege before bulk loading and test every access class using ordinary identities.

Stop if: Any unauthorized read, write, export, administrative action, or secret access succeeds.

06Precise timeline

Do the work in this order.

Estimate forUp to 50 public pages, 500 components, 10 years of incidents, and one million subscribers
Total elapsed15–45 business days
Active work70–180 hours
BufferAdd time for large Better Stack exports, destination rate limits, unsupported features, identity exceptions, regulated data, or a strict downtime objective.
01
Days 1–4Inventory and decisions2–4 days
02
Days 3–8Backup and reconcile2–5 days
03
Days 6–20Map, transform, and pilot5–12 days
04
Days 18–35Bulk load, final delta, and switch2–8 days
05
Days 25–45Observe and close7–14 days
  1. Days 1–4 · inventory

    Inventory and decisions

    8–16 hours active2–4 days elapsedOwner, legal, security, and finance review waiting
    • Inventory Better Stack data, configuration, identities, integrations, limits, and billing.
    • Approve scope, owners, mappings, exclusions, acceptance thresholds, and rollback authority.

    Depends on: Better Stack and Instatus administrator access

    Stop / go checkpoint

    Export?

    Go when: Every critical item and production action has an owner and disposition.

    Stop when: Authority, retention, billing, access, or system ownership is unclear.

  2. Days 3–8 · backup

    Backup and reconcile

    8–20 hours active2–5 days elapsedProvider export processing waiting
    • Create immutable data, configuration, binary, and audit exports.
    • Reconcile source counts, totals, sizes, access classes, and hashes.

    Depends on: Approved inventory and retention location

    Stop / go checkpoint

    Transform?

    Go when: The signed source manifest and exports agree.

    Stop when: Any critical dataset, binary, configuration, or recovery path is absent.

  3. Days 6–20 · pilot

    Map, transform, and pilot

    25–70 hours active5–12 days elapsedDestination processing and owner review waiting
    • Configure Instatus and transform a production-shaped pilot.
    • Test normal records, every feature class, edge cases, permissions, failures, and rollback.

    Depends on: Verified source backup and approved mapping registry

    Stop / go checkpoint

    Scale?

    Go when: Every pilot mapping and blocking verification check passes.

    Stop when: Any critical invariant, access boundary, or production action lacks a safe destination.

  4. Days 18–35 · cutover

    Bulk load, final delta, and switch

    20–55 hours active2–8 days elapsedImports, propagation, indexing, or synchronization waiting
    • Freeze production writes and automated actions in Better Stack.
    • Apply and reconcile the final delta, switch ownership to Instatus, and run all blocking checks.

    Depends on: Passed pilot, stakeholder go decision, and rehearsed rollback

    Stop / go checkpoint

    Open production?

    Go when: Instatus is the sole production owner and every critical exception is resolved.

    Stop when: A source writer remains active, a blocking check fails, or rollback is unavailable.

  5. Days 25–45 · observe

    Observe and close

    9–19 hours active7–14 days elapsedRepresentative operating-cycle evidence waiting
    • Monitor correctness, access, failures, latency, delivery, cost, and user outcomes.
    • Sign the verification report and close rollback only after stable evidence.

    Depends on: Verified cutover

    Stop / go checkpoint

    Close rollback?

    Go when: No trigger occurs during the approved observation period.

    Stop when: Data, access, delivery, routing, cost, or business results regress.

07The point of change

Cut over with a way back.

Go live

Cutover

Make Instatus the only production system without losing the final Better Stack delta.

Recommended window: A low-volume weekday morning with platform, data, security, networking, finance, and business owners available.

  1. Freeze user, integration, schedule, and API writes in Better Stack.
  2. Capture and reconcile the final source delta against the last verified checkpoint.
  3. Apply the approved delta and configuration changes to Instatus.
  4. Switch traffic, domains, integrations, credentials, automation, and user entry points in dependency order.
  5. Run every blocking verification check and keep the source intact.

Proof to capture: Instatus alone owns production, totals reconcile, exceptions are signed, and every blocking check has durable evidence.

Return to safety

Rollback

Return production ownership to Better Stack without losing destination-era changes.

Deadline: Within seven days and before source data, plans, credentials, domains, keys, or retention settings are changed.

  1. Stop new user, integration, schedule, and API writes in Instatus.
  2. Restore prior Better Stack traffic, domains, credentials, automation, and integration ownership.
  3. Export and classify the Instatus post-cutover delta.
  4. Apply safe destination-era changes back to Better Stack without duplicating actions.
  5. Run the same blocking checks against the restored source.

Proof to capture: Better Stack again owns production with current data and no duplicate destination action.

Rollback immediately when
  • Unexplained critical count, value, relationship, or checksum variance
  • Missing, corrupted, or exposed critical data
  • Duplicate production action or unresolved split-brain state
  • Failed access, security, delivery, routing, performance, or integration check
  • A critical feature has no safe destination replacement or rollback path
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
V-01BlockingPages, domains, branding, and localization reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for pages, domains, branding, and localization.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.Pages, domains, branding, and localization ledger with counts, exceptions, sample IDs, and owner sign-off.
V-02BlockingComponents, groups, and current status reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for components, groups, and current status.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.Components, groups, and current status ledger with counts, exceptions, sample IDs, and owner sign-off.
V-03BlockingIncidents, updates, and postmortems reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for incidents, updates, and postmortems.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.Incidents, updates, and postmortems ledger with counts, exceptions, sample IDs, and owner sign-off.
V-04BlockingScheduled maintenance and recurrence reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for scheduled maintenance and recurrence.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.Scheduled maintenance and recurrence ledger with counts, exceptions, sample IDs, and owner sign-off.
V-05BlockingSubscribers and notification preferences reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for subscribers and notification preferences.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.Subscribers and notification preferences ledger with counts, exceptions, sample IDs, and owner sign-off.
V-06Incident templates and communication policy reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for incident templates and communication policy.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.Incident templates and communication policy ledger with counts, exceptions, sample IDs, and owner sign-off.
V-07BlockingMonitors, automation, and component mapping reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for monitors, automation, and component mapping.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.Monitors, automation, and component mapping ledger with counts, exceptions, sample IDs, and owner sign-off.
V-08APIs, embeds, RSS, and third-party components reconciliationCompare source inventory, transformed output, destination results, and a stratified sample for apis, embeds, rss, and third-party components.Every in-scope item is present, intentionally transformed, explicitly excluded, or retained in the signed source archive.APIs, embeds, RSS, and third-party components ledger with counts, exceptions, sample IDs, and owner sign-off.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: One complete operating cycle, at least seven stable days, and owner sign-off on every blocking check and exception.

  1. Create final Better Stack exports and archive verification, access, financial, and rollback evidence.
  2. Revoke temporary credentials, API keys, webhooks, elevated roles, and migration network access.
  3. Remove obsolete jobs, embeds, domains, integrations, collectors, routes, and DNS records.
  4. Keep the source intact and read-only through the approved legal and operational retention window.
  5. Cancel paid plans only after billing, legal, security, evidence, and recovery review.
  6. Schedule the next Instatus backup, restore test, access review, and migration-playbook review.
Sources and evidence

Verify against the primary material.

Platform behavior changes. Check these sources and the review dates above before executing a production migration.

  1. Better Stack: official portability and migration documentationAccessed 2026-07-20
  2. Instatus: official portability and migration documentationAccessed 2026-07-20