---
title: "HTML for Confluence: Migration Failures from Data Center to Cloud"
canonical: "https://support.appfire.com/space/SUPPORT/3519938787/HTML%20for%20Confluence%3A%20Migration%20Failures%20from%20Data%20Center%20to%20Cloud"
format: markdown
---
This troubleshooting article provides solutions for migration failures that occur when moving HTML for Confluence from Data Center to Cloud using the Confluence Cloud Migration Assistant (CCMA).

# **Summary**

This article covers two primary scenarios for resolving migration timeouts and app data transfer failures caused by version incompatibilities between Confluence Data Center and the Forge-based Cloud app. It provides a workaround for environments where infrastructure constraints prevent a full app upgrade, along with a “force-install” path for preserving app data (Profiles).

# Problem

During a migration from Confluence Data Center to Cloud, the **HTML for Confluence** app data fails to migrate, often resulting in a `TRANSFER_TIMED_OUT` or `TRANSFER_MISSING_WEBHOOK` error in the migration logs.

## Root Cause

The Forge-based migration path for HTML for Confluence was introduced in version 5.8.20. If the Data Center instance is running an earlier version (for example, 5.8.12), the app lacks the logic required to communicate with the Atlassian Migration Service (AMS) webhook, causing the notification contract to fail.

# Use case 1: Migrating without app data

Choose this approach if you don’t use **Profiles** in your Data Center instance, or if you’re comfortable recreating global settings manually in the Cloud. It’s the most stable path for customers working within infrastructure or Java version constraints.

### Solution

1. Open the **Confluence Cloud Migration Assistant (CCMA)**.
2. In the **App Assessment** section, locate **HTML for Confluence**.
3. Change the migration status to **Not needed in Cloud**.
4. Proceed with the space migration as normal.
  - **Note:** The macro body content (HTML code) is stored within the page XHTML and will migrate successfully with the pages. Only app-specific "Profiles" and global configurations are skipped.
5. After migration, manually recreate any necessary global settings or Profiles in the Cloud instance.

# Use case 2: Preserving app data (Profiles) via Force-Upgrade

Choose this approach if you actively use **Profiles** and need them migrated automatically, but your environment (Confluence version or Java version) doesn’t officially support the required app version (5.8.20+).Prerequisites

- Perform this in a **staging/sandbox environment**.
- Ensure you have a backup of your Data Center instance.

### Solution

1. **Pre-migration Cleanup:** Run the pre-migration macro rename if you are moving from native Confluence HTML macros (`html` → `html-bobswift`).
2. **Cloud Preparation:** Install **HTML for Confluence** on the destination Cloud site.
3. **Force-Upgrade DC App:**
  - Download **HTML for Confluence version 5.8.20** (or the latest version).
  - Manually install the OBR/JAR file in your Data Center instance.
  - **Note:** You will likely see an **Incompatible** warning if you are on Confluence 7.19.x or using an older Java version. Accept this warning; the app only needs to be active long enough to trigger the migration webhook.
4. **Execute Migration:**
  - Run *CCMA* and ensure **HTML for Confluence** is set to **Needed in Cloud**.
  - Select the spaces and include app data in the migration plan.
5. **Verification:**
  - Once the migration is complete, verify that the HTML macros and profiles render correctly in the Cloud.
  - You can roll back the Data Center app version to 5.8.12 after the migration data has been successfully sent to AMS.

# Related topics

- [https://appfire.atlassian.net/wiki/spaces/SUPPORT/pages/2136801400](https://appfire.atlassian.net/wiki/spaces/SUPPORT/pages/2136801400)