Common Workflows

Automate common app store management tasks with these workflows.

Localization Workflow

Translate your app metadata to multiple languages and push to stores:

Step 1: Write your source content

Start by perfecting your English (en-US) metadata in the dashboard or via API.

Step 2: Translate to target languages

CLIbash
# Translate to all enabled locales
asc translate --from en-US --all
# Or translate to specific languages
asc translate --from en-US --to es-ES,fr-FR,de-DE,ja,zh-Hans

Step 3: Review translations

Review translations in the dashboard. Make any necessary adjustments for cultural nuances or brand consistency.

Step 4: Push to stores

CLIbash
# Validate before pushing
asc validate
# Push all locales to both stores
asc push --all

Release Workflow

Coordinate releases across both stores with automated metadata updates:

Automated release notes

CLIbash
# 1. Update release notes in your source locale
# (via dashboard, API, or directly in your repo)
# 2. Translate release notes
asc translate --from en-US --all --fields releaseNotes
# 3. Push release notes to both stores
asc push --fields releaseNotes
# 4. Check status
asc status

GitHub Actions release workflow

github-workflows-release.ymlyaml
name: Release
on:
release:
types: [published]
jobs:
update-stores:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install CLI
run: npm install -g @appstorecopilot/cli
- name: Update release notes
env:
ASC_API_KEY: ${{ secrets.ASC_API_KEY }}
run: |
# Extract version from release tag
VERSION=${{ github.event.release.tag_name }}
# Update release notes from GitHub release body
echo "${{ github.event.release.body }}" | \
asc metadata set releaseNotes --locale en-US --stdin
# Translate to all locales
asc translate --from en-US --all --fields releaseNotes
# Push to stores
asc push --force

Screenshot Generation Workflow

Generate localized screenshots for all device sizes:

Using the MCP Server with Claude

Natural Language Promptstext
"Generate screenshots for my app in all supported device sizes"
"Create App Store screenshots with the headline 'Track your fitness goals'
for iPhone 15 Pro Max, iPad Pro, and Apple Watch"

Using the API

APIjavascript
// Generate a full screenshot set
const response = await fetch('https://api.appstorecopilot.com/v1/screenshots/generate-set', {
method: 'POST',
headers: {
'Authorization': 'Bearer asc_live_xxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
projectId: 'proj_abc123',
template: 'gradient-modern',
devices: ['iphone-15-pro-max', 'ipad-pro-13', 'apple-watch-series-9'],
locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE', 'ja'],
screens: [
{
name: 'home',
headline: 'Track your fitness goals',
appScreenshot: 'https://...'
},
{
name: 'stats',
headline: 'See your progress',
appScreenshot: 'https://...'
}
]
})
});

Store Sync Workflow

Keep both stores in sync with consistent metadata:

CLIbash
# Pull latest from both stores
asc pull
# Make changes in the dashboard or via API
# Push to both stores
asc push
# Or sync from one store to another
# (pulls from source, maps fields, pushes to target)
asc sync --from appstore --to playstore

A/B Testing Workflow

Test different metadata variants (Google Play only):

APIjavascript
// Create an A/B test experiment
const response = await fetch('https://api.appstorecopilot.com/v1/experiments', {
method: 'POST',
headers: {
'Authorization': 'Bearer asc_live_xxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
projectId: 'proj_abc123',
store: 'playstore',
name: 'Icon Test Q1 2025',
variants: [
{
name: 'Control',
weight: 50,
icon: 'https://...'
},
{
name: 'New Icon',
weight: 50,
icon: 'https://...'
}
],
duration: 14 // days
})
});

Backup & Restore Workflow

Backup your metadata before making changes:

CLIbash
# Pull all metadata and save locally
asc pull --all --output ./backup/$(date +%Y-%m-%d)
# Restore from backup
asc push --input ./backup/2025-01-01

Multi-App Workflow

Manage multiple apps with shared branding:

CLIbash
# Create a shared template
asc templates create --name "Brand Template" --fields promotionalText,supportUrl,privacyUrl
# Apply to multiple projects
asc templates apply "Brand Template" --projects proj_abc,proj_def,proj_ghi
# Update all apps at once
asc push --projects proj_abc,proj_def,proj_ghi