Connect-to-Forge migration for Atlassian Marketplace vendors

Your Connect app pays Atlassian 25%. The same app on Forge pays 0%.

Fixed-price ports of paid Jira and Confluence Cloud apps from Connect to Forge, scoped in 48 hours, delivered asynchronously, with 90 days of support. For vendors with one to five Connect apps and no spare developer.

Since 1 October 2026, a paid Connect app remits 25% of gross revenue to Atlassian; a qualifying Forge app remits 0% until it has earned $1 million lifetime, then 17%. Since March 2026, apps with a Connect descriptor cannot receive updates. Every month on Connect costs a quarter of your revenue and a month of fixes you cannot ship.

The 25% vs 0% calculator

Enter your monthly gross revenue through Paid via Atlassian. The widget shows what Atlassian keeps on Connect against what it keeps on Forge, and how many months a port takes to pay for itself on the difference in revenue share alone.

Before Atlassian's share. Your Marketplace reports have this number.
Results update as you type.
  • Atlassian's share per month on Connect$500
  • Atlassian's share per year on Connect (25%)$6,000
  • Atlassian's share per year on Forge (0% to $1M lifetime)$0
  • You keep more per year on Forge$6,000
  • Kept over 3 years$18,000
  • Port pays for itself in5 months

Formula: Connect share = gross × 25%. Forge share = 0% until lifetime Forge revenue reaches $1,000,000, then 17% of revenue above it. Payback = port price ÷ (monthly difference in revenue share). Rates as of 5 November 2026, from Atlassian's revenue-share announcement. Verify current rates on Atlassian's pricing, payment and billing page. The 0% rate requires a Forge app with no Connect modules in its manifest, and Atlassian applies the eligibility rules.

The same arithmetic for typical small-vendor revenues
Gross revenue per monthAtlassian's share on Connect (25%)Atlassian's share on Forge (0% to $1M lifetime)You keep more per year on Forge
$500$125$0$1,500
$1,000$250$0$3,000
$2,000$500$0$6,000
$5,000$1,250$0$15,000

A Small port (from $2,500) pays for itself in 5 to 20 months on the revenue share alone. The update freeze is the second reason: a Connect descriptor has been frozen since March 2026, so the next bug fix, the next REST API change and the next customer request all wait until the app is on Forge. Atlassian has published the Connect end-of-support date (31 January 2027) and it is yours to read; our pitch is the money and the freeze, which are true today.

Packages and prices

Prices in USD, fixed. Every port includes the assessment deliverables, a test install on a development site you control, source in your repository (we never hold your code or your Marketplace listing), and 90 days of post-release support. Payment by Stripe invoice or payment link; GST/HST applies to Canadian customers.

Packages
PackagePrice (USD, fixed)What you getTypical calendar time
Forge Readiness Assessment$490-890
credited 100% against any port booked within 60 days
Module-by-module parity map of your Connect descriptor against Forge; applicable open FRGE/ECO blockers; data-storage plan; scope and major-version risk; revenue-share impact; Runs on Atlassian eligibility; effort estimate and a fixed-price quote. Delivered as a written report.48 hours from receipt of the descriptor (3-5 business days if we need vendor Q&A)
Port - Small$2,500-4,500One issue panel, Confluence macro, dashboard gadget or page; data in entity properties or none; no own database. Rebuilt on Forge UI Kit with requestJira/requestConfluence; eligible for Runs on Atlassian where possible. Includes scope mapping, test install on your dev site, hand-over notes.1-2 weeks of work plus the Marketplace review queue (10-15 business days)
Port - Standard$6,000-12,000Panel/macro plus custom fields, webhooks, workflow functions; own Postgres/MySQL; jQuery or React iframe. Rebuilt as Custom UI plus resolvers, Forge storage (KVS or SQL), data back-fill script, scope mapping, major-version avoidance plan.3-6 weeks plus review
Port - IntegrationQuote (from $15,000)Third-party OAuth, background jobs, large tenant database. Forge Remote to your existing backend, Custom UI, clientKey-to-cloudId tenant mapping, scheduled triggers, JWT refresh.6-12 weeks
Forge Remote bridge$4,000-7,000For integration apps that want off the 25% rate fast while keeping their backend: Forge manifest with Forge modules calling your existing service through Forge Remote; tenant mapping; auth bridge. The remaining backend work stays yours.2-4 weeks plus review
Listing & rollout$600-1,200connectToForgeMigration module with a public migration-plan page; Marketplace version succession; scopes confirmed so the release does not become an accidental major version; admin/customer update guide; review-queue handling until approved.Runs alongside the port; review queue 10-15 business days
Post-migration retainer$300-600 per month, 90 daysForge changelog watch, usage-cost tuning (SQL/KVS/invocation quotas), hotfixes, answers to customer migration questions.90 days from release
Connect-on-Forge cleanup$1,500-5,000 per appYou are already on a Forge manifest but still carry Connect modules, so you still pay the Connect rate. We replace the remaining modules with Forge equivalents so the app qualifies for 0% the day the last Connect module goes. Price depends on module count.1-4 weeks plus review

Not included: new features beyond current Connect behaviour; Data Center work; changes to your own backend beyond the documented bridge or back-fill; Marketplace or Forge fees charged by Atlassian. Capacity: one Standard port or three Small ports in flight at a time; bookings are scheduled in the order deposits arrive.

How it works

  1. Send the descriptor

    Its public URL is enough. Pay the assessment through the Stripe payment link (card, or bank debit where offered); you receive the intake form within one business day.

  2. 48 hours later: a written assessment and a fixed-price quote

    If we need answers from you, the clock pauses, not the price.

  3. Fixed price, no hourly billing

    Half on booking, half on Marketplace approval of the Forge version (Stripe invoices from Zero Byte Inc). The assessment fee is credited against the port.

  4. Async delivery

    Work happens in a repository you own; progress notes land there every few days; questions go by email or a shared document. Calls are available but never required.

  5. Your accounts, your code

    The Forge app is registered under your developer account; the listing stays yours; we hold nothing after hand-over.

  6. 90 days of support

    After release, covering defects in the ported code. Add the retainer for changelog watch and usage-cost tuning.

What we build

Public reference port

"Issue Decision Log", a small Jira Cloud issue panel app ported end to end from Connect (Express, atlassian-connect-express, own database) to Forge UI Kit with no backend, no egress and no data migration. Every change is documented by category in the port notes: auth, JWT removal, storage, egress, UI Kit limits, scopes, licensing, listing, bugs, tooling. 25 unit tests.

Before and after
ConnectForge
Runtime dependencies113
App code~420 lines, 9 files316 lines, 3 files
Hostingdyno, database, TLSnone
Egressserver plus 3 CDNsnone (Runs on Atlassian)
Data migrationnot needed

Read the reference port on GitHub

Our own Forge app

Remaining Estimate Counter for Boards: remaining estimate, story points and issue totals for a Jira board's active sprint, any future sprint, or the backlog, grouped by column, assignee, epic or issue type. UI Kit only, read-only scopes, no egress, Runs on Atlassian. We go through the same Marketplace review queue our clients do.

View the Marketplace listing

Who this is for, and not for

  • For small and mid-size vendors with paid Jira or Confluence Cloud apps on a Connect descriptor, or on a Forge manifest that still carries Connect modules.
  • Not for Bitbucket Connect apps, which follow a different path.
  • Not for apps that depend on capabilities Atlassian lists as Connect end-of-support blockers; the assessment says so before you spend more.
  • Not for Data Center apps, which need a cloud version first. Ask and we will scope it separately.

Frequently asked questions

Can a new Forge app import my Connect app's data?

Only if it is the same app. Atlassian does not let one app read another app's data: a Forge app published under a new app key cannot read entity properties, macro bodies, custom-field values or storage written by your Connect app. The supported route is to adopt Forge within the same app (Atlassian's "adopting Forge from Connect" path, which keeps the app identity and the Marketplace listing), so the data your Connect app stored in Atlassian stays readable. Data in your own database never moves by itself: either the Forge app keeps calling your backend (Forge Remote), or you run a back-fill script we write against your database to populate Forge storage. We put this in the assessment so there are no surprises.

What does "Connect on Forge" mean?

A Forge manifest (manifest.yml) that still declares Connect modules or scopes. Atlassian lets you adopt Forge incrementally, module by module, and this state is where most partially migrated apps sit. It gets you a Forge app ID and Forge tooling, but it does not get you the 0% rate: the rate is set by the listed version, and a manifest with any Connect module is charged as Connect. The Cleanup package exists for exactly this.

Will my customers have to reinstall?

No. Under the same app and listing, Atlassian migrates installations to the Forge version. Two things can force manual admin approval: new scopes or permissions that make the release a major version, and certain permission changes. We check both before release so that a minor-version release is actually minor.

How long does it take?

Assessment: 48 hours. Small port: 1-2 weeks of work. Standard: 3-6 weeks. Integration or Remote bridge: 2-12 weeks depending on the backend. Add the Marketplace review queue (10-15 business days) to any release. Forge functions have a 25-second limit and no popups; anything that depends on either is identified in the assessment, not discovered later.

What can block a port?

Some Connect modules still have no Forge equivalent or a partial one (examples at the time of writing: certain web item navigation behaviours, default-open issue panels, some modal sizing, InvokeRemote cases). The assessment lists which of these touch your app and whether the answer is a workaround, Forge Remote, or waiting for a specific Atlassian ticket. If a port is blocked, you keep the assessment and pay nothing more.

Will the app still work for customers on Connect in the meantime?

Yes. Nothing changes for customers until the Forge version is released; the Connect version stays live until then.

Is the assessment really credited against the port?

Yes, in full. Book any port within 60 days of receiving the assessment and the fee you paid is deducted from the port price. The quote in the assessment is valid for the same 60 days.

Who does the work?

A single developer, Muhammad Faizan Naheem, using AI coding tools under supervision, working from a public reference port. Every line is reviewed by a human before it reaches your repository, and you see the code at every step.

What about Forge hosting costs?

Forge functions, storage and SQL have free monthly quotas with usage-based pricing above them. For a small app the quotas are rarely approached; the assessment includes an estimate for your install base, and the retainer watches it after release.

Do you handle Data Center too?

Not in these packages. Data Center apps need a cloud version first; if that is your situation, ask and we will scope it separately.

Do you work with vendors outside Canada?

Yes. Work is asynchronous and in writing, so time zones do not matter. Invoices are in USD through Stripe; GST/HST is added only for Canadian customers.

Can you promise the 0% rate?

We can deliver a manifest with no Connect modules, which is Atlassian's published condition. Eligibility and the $1 million lifetime cap are Atlassian's rules, and Atlassian applies them.

About Zero Byte Inc

Zero Byte Inc is a British Columbia corporation based in Vancouver, Canada. Its founder, Muhammad Faizan Naheem, is a software developer who builds Atlassian Forge apps and ports Connect apps to Forge. He works asynchronously, in writing, and answers email within one business day. Reference work: the public Connect-to-Forge reference port and Remaining Estimate Counter for Boards.

Contact

Send the public URL of your Connect descriptor and a sentence about the app. You will have a reply within one business day. Prefer email? Write to hello@zerobyte.ca.