Docs
Coming from Updraft
Most of what you use on Updraft has a place here: the upload line in your pipeline, environments, the Gradle and fastlane setup, testers and groups, notifications, feedback, single sign on and storage. This guide maps each one and says which plan it needs. Updraft facts are as listed on November 9, 2026.
Step 1, Pro and Team
Replace the curl upload
Updraft's upload, as listed on November 9, 2026, is a curl PUT with the app key and the API key in the URL. Make an API token in Dashboard, Settings, API tokens and store it as APPFORSHARE_TOKEN in your CI secrets. A token can be full, upload only or read only, with an end date, and it travels in a header instead of the URL. whats_new becomes --notes, and the target environment becomes --channel.
Upload from CI# before curl -X PUT https://app.getupdraft.com/api/app_upload/<app key>/<API key>/ \ -F [email protected] -F whats_new="Login fix" # after export APPFORSHARE_TOKEN=afs_your_token npx --yes appforshare upload app.ipa --notes "Login fix" --channel betaStep 2, One channel on Free, more on Pro and Team
Environments become channels or projects
An Updraft environment such as Test, Staging or Production maps to a channel here, such as Beta or Live: one link and QR code per channel that always opens its newest build, with the iOS build for iPhones and the Android build for Android phones. On Pro and Team you can pick your own channel address and put an older build back. If an environment is really a separate app, for example with its own bundle ID, make it a project of its own.
Beta and Live channelsnpx appforshare upload app-staging.apk --channel staging npx appforshare upload app-release.apk --channel liveStep 3, Pro and Team
Gradle, fastlane, Bitrise and GitHub Actions
Gradle: replace the plugin com.appswithlove.updraft and its updraftUrls per variant with io.appforshare.upload from the Gradle Plugin Portal. Every variant gets appforshareUpload<Variant> for the APK and appforshareUpload<Variant>Bundle for the .aab.
fastlane: replace the updraft action you load with import_from_git with our plugin from RubyGems (fastlane add_plugin appforshare) and its appforshare action. Bitrise: replace the Deploy to Updraft step with a Script step that runs the CLI. GitHub Actions: replace the Updraft deploy action with appforshare/appforshare-action@v1.
Bitrise guide// app/build.gradle.kts plugins { id("com.android.application") id("io.appforshare.upload") version "1.0.0" } appforshare { releaseNotes = "Login fix" channel = "beta" } // APPFORSHARE_TOKEN=afs_... ./gradlew appforshareUploadRelease # fastlane appforshare(release_notes: "Login fix", channel: "beta") # GitHub Actions - uses: appforshare/appforshare-action@v1 with: token: ${{ secrets.APPFORSHARE_TOKEN }} file: build/app/outputs/flutter-apk/app-release.apk channel: betaStep 4, Team
Testers and distribution groups
Save your tester list as a CSV, one email per line (the same shape Updraft's CSV import takes), and import the file. Semicolons are fine. A file with a header row can also carry names and a groups column. Updraft distribution groups map to tester groups, which come with Team; --groups puts everyone in the file into the groups you name, and groups are made when missing. No invites go out unless you add --notify.
Tester groupsnpx appforshare testers import updraft-testers.csv --project 42 --groups "QA,Clients"Step 5, Pro and Team
iPhones: onboarding link, Apple registration and re-signing
Send new iPhone testers the onboarding link of the iOS project once. Their device is saved and, with an App Store Connect key connected, registered on Apple in one click, and the ad hoc profile can be made again with every enabled device. Then re-sign the build you already uploaded with the new profile, no rebuild, from the build page or with appforshare resign. On Team, Hands free registers new devices, remakes the profile and re-signs the newest build (or starts your GitHub build) on its own.
Re-sign iOS buildsnpx appforshare resign AbC123 --yesStep 6, Pro and Team
Slack, Teams, Discord, Webex and webhooks
In Dashboard, Integrations, add Slack, Microsoft Teams, Google Chat, Discord, Telegram, Webex or a signed webhook. Events include build ready, build failed, installs, tester feedback, store review states and link reminders.
Webex stepsStep 7, Feedback on every plan, update check on Pro and Team
Feedback and update prompts without an SDK
Updraft's SDK adds shake to send feedback and an in-app update prompt. Here, testers press Send feedback on the install page, or open the project's in-app feedback link from your debug menu or shake handler, with screenshots and no SDK. For update prompts, the update check is a few lines of Swift, Kotlin, Dart or JavaScript that read the channel's newest build.
Update checkhttps://appforshare.io/feedback/<token>?platform=ios&version=2.5&build=121&screen=Checkout https://appforshare.io/api/c/YOUR_CHANNEL/latest?platform=iosStep 8, Team, desktop builds on Pro and Team
Single sign on, storage, mail and desktop builds
On Team: single sign on with SAML 2.0 or OpenID Connect and group mapping, storage in the European Union or in your own S3 or Google Cloud Storage bucket, tester email through your own mail server, and a rule that every member uses two step sign in. macOS and Windows builds come with Pro and Team.
Single sign onStep 9, Pro and Team
Store upload, and what comes after it
Send a build to TestFlight or to a Google Play track from the build page or with appforshare store-upload, on Pro. After the upload, AppForShare also follows the release: the store readiness check on every build, the App Store review card, Play rollouts, store reviews and the release status, with alerts in your chat.
Store uploadnpx appforshare store-upload AbC123 --to testflight --yes npx appforshare store-upload Xy9Kp2 --to play:internal --yes
Questions
- Can I import my builds from Updraft?
- No. Upload again the builds your testers still need. Your Updraft links keep working there for as long as your Updraft account keeps them.
- Is there an Updraft compatible upload API?
- No. Replace the curl line with npx appforshare upload, the Gradle plugin, the fastlane plugin or the GitHub Action. Uploads with a token are on Pro and Team.
- How do the prices compare?
- As listed on November 9, 2026, Updraft charges $5 a month plus $5 per GB stored on Pay as you go, and $49 a month plus $5 per GB on Professional. AppForShare Pro is $12 a month ($120 a year, $5.99 in regional countries) with 25 GB of storage and 40 GB of downloads a month included; Team is $39 a month with 150 GB.
- Will my testers hit an install limit?
- AppForShare does not cap installs. Downloads count toward bandwidth per month: 10 GB on Free, 40 GB on Pro and 150 GB on Team.
- Do my testers need an account?
- No. They open the link and install. On Team, private projects send invited testers an emailed link, still with no account.
Weighing the two first? Read AppForShare vs Updraft. For the upload commands, see Upload from CI.