npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-appcenter

v1.0.0

Published

A comprehensive n8n community node for Microsoft App Center providing 10 resources and 100+ operations for mobile DevOps automation including builds, distribution, analytics, crash reporting, testing, and CodePush updates.

Readme

n8n-nodes-appcenter

Velocity BPA Licensing Notice

This n8n node is licensed under the Business Source License 1.1 (BSL 1.1).

Use of this node by for-profit organizations in production environments requires a commercial license from Velocity BPA.

For licensing information, visit https://velobpa.com/licensing or contact [email protected].

A comprehensive n8n community node for Microsoft App Center, the mobile DevOps platform for iOS, Android, Windows, and macOS apps. This node enables workflow automation for builds, distribution, analytics, crash reporting, testing, and CodePush updates.

n8n App Center License TypeScript

Features

  • Build Automation: Trigger, monitor, and manage builds with branch configuration support
  • Distribution Management: Upload releases, manage distribution groups, and send to testers
  • Analytics: Access session data, active users, events, devices, and geographic distributions
  • Crash Reporting: Monitor crash groups, upload symbols, and track crash-free users
  • Test Cloud: Create and manage test runs on real devices with multiple frameworks
  • CodePush: Manage over-the-air updates for React Native and Cordova apps
  • Organization Management: Manage teams, users, and permissions
  • Repository Integration: Connect and manage Git repositories
  • Push Notifications: Send push notifications to app users
  • Webhook Triggers: Automate workflows on build, release, crash, and test events

Installation

Community Nodes (Recommended)

  1. Open your n8n instance
  2. Go to Settings > Community Nodes
  3. Select Install
  4. Enter n8n-nodes-appcenter
  5. Agree to the risks and click Install

Manual Installation

# Navigate to your n8n installation directory
cd ~/.n8n

# Install the package
npm install n8n-nodes-appcenter

Development Installation

# 1. Extract the zip file
unzip n8n-nodes-appcenter.zip
cd n8n-nodes-appcenter

# 2. Install dependencies
npm install

# 3. Build the project
npm run build

# 4. Create symlink to n8n custom nodes directory
# For Linux/macOS:
mkdir -p ~/.n8n/custom
ln -s $(pwd) ~/.n8n/custom/n8n-nodes-appcenter

# For Windows (run as Administrator):
# mklink /D %USERPROFILE%\.n8n\custom\n8n-nodes-appcenter %CD%

# 5. Restart n8n
n8n start

Credentials Setup

To use the App Center node, you need to configure API credentials.

Obtaining an API Token

  1. Log into appcenter.ms
  2. Navigate to Account Settings (click your avatar)
  3. Select User API Tokens or App API Tokens
  4. Click New API Token
  5. Choose Full Access or Read Only
  6. Copy the token immediately (it's only shown once)

Credential Properties

| Property | Type | Required | Description | |----------|------|----------|-------------| | API Token | Password | Yes | Your App Center API token | | Owner Name | String | Yes | Organization or user name | | App Name | String | No | Default application name (optional) |

Resources & Operations

Apps

| Operation | Description | |-----------|-------------| | Get | Get app details | | Get Many | List all apps for owner | | Create | Create new application | | Update | Update app settings | | Delete | Delete application | | Get Secret | Get app secret key | | Transfer | Transfer app to another owner | | Get Teams | List teams with access | | Add Team | Add team to app | | Remove Team | Remove team from app | | Get Collaborators | List app collaborators |

Builds

| Operation | Description | |-----------|-------------| | Trigger | Start a new build | | Get | Get build details | | Get Many | List builds for branch | | Get Many For App | List all builds for app | | Cancel | Cancel running build | | Get Download URL | Get build artifact URL | | Get Logs | Get build logs | | Distribute | Distribute build to group | | Get Branches | List repository branches | | Get Branch Config | Get branch build configuration | | Create Branch Config | Create build config for branch | | Update Branch Config | Update branch configuration | | Delete Branch Config | Remove build configuration |

Distribution

| Operation | Description | |-----------|-------------| | Create Release | Upload new release | | Get Release | Get release details | | Get Latest | Get latest release | | Get Many | List releases | | Update | Update release metadata | | Delete | Delete release | | Distribute | Distribute to groups | | Add Destination | Add distribution destination | | Remove Destination | Remove destination | | Get Install URL | Get public install URL | | Create Group | Create distribution group | | Get Group | Get group details | | Get Groups | List distribution groups | | Update Group | Update group settings | | Delete Group | Delete distribution group | | Add Testers | Add testers to group | | Remove Testers | Remove testers from group | | Get Testers | List group members | | Resend Invites | Resend invitation emails |

Analytics

| Operation | Description | |-----------|-------------| | Get Sessions | Get session statistics | | Get Active Users | Get DAU/MAU metrics | | Get Active User Counts | Get active users over time | | Get Session Durations | Get session duration distribution | | Get Events | Get event analytics | | Get Event Properties | Get event property values | | Get Event Count | Get event occurrence counts | | Get Versions | Get version distribution | | Get Devices | Get device model breakdown | | Get Operating Systems | Get OS version breakdown | | Get Languages | Get language distribution | | Get Places | Get geographic distribution | | Get Models | Get device model stats | | Get Log Flow | Get real-time log stream |

Crashes

| Operation | Description | |-----------|-------------| | Get Groups | List crash groups | | Get Group | Get crash group details | | Get Crashes | List crashes in group | | Get Crash | Get crash details | | Get Stacktrace | Get crash stack trace | | Get Attachments | Get crash attachments | | Download Attachment | Download attachment file | | Update Group | Update group status/annotation | | Delete Group | Delete crash group | | Delete Crash | Delete single crash | | Get Counts | Get crash counts over time | | Get Crash-Free Users | Get crash-free percentage | | Get Missing Symbols | List missing symbols | | Get Symbol Uploads | List symbol uploads | | Create Symbol Upload | Create upload session | | Upload Symbols | Upload symbol file | | Commit Upload | Finalize symbol upload |

Test

| Operation | Description | |-----------|-------------| | Create Run | Create new test run | | Get Run | Get test run details | | Get Many | List test runs | | Start | Start test execution | | Stop | Stop running test | | Get State | Get test run state | | Get Report | Get test results report | | Upload App | Upload test application | | Upload Tests | Upload test files | | Get Device Sets | List device sets | | Get Device Set | Get device set details | | Create Device Set | Create device set | | Update Device Set | Update device set | | Delete Device Set | Delete device set | | Get Devices | List available test devices | | Get Device Configs | List device configurations |

CodePush

| Operation | Description | |-----------|-------------| | Get Deployments | List deployments | | Get Deployment | Get deployment details | | Create Deployment | Create new deployment | | Update Deployment | Rename deployment | | Delete Deployment | Delete deployment | | Release | Release CodePush update | | Promote | Promote between deployments | | Rollback | Rollback to previous release | | Patch Release | Modify release properties | | Clear History | Clear deployment history | | Get Metrics | Get deployment metrics | | Get History | Get release history |

Organizations

| Operation | Description | |-----------|-------------| | Get | Get organization details | | Get Many | List user's organizations | | Create | Create organization | | Update | Update organization | | Delete | Delete organization | | Get Users | List organization members | | Invite User | Invite user to organization | | Remove User | Remove user from organization | | Update User Role | Change user role | | Get Teams | List organization teams | | Create Team | Create team | | Get Team | Get team details | | Update Team | Update team | | Delete Team | Delete team | | Add Team Member | Add member to team | | Remove Team Member | Remove member from team |

Repositories

| Operation | Description | |-----------|-------------| | Get Config | Get repository configuration | | Get Many | List connected repositories | | Connect | Connect repository | | Disconnect | Disconnect repository | | Get Branches | List branches | | Get Commits | List commits for branch |

Push Notifications

| Operation | Description | |-----------|-------------| | Send | Send push notification | | Get Many | List push notifications | | Get | Get notification details | | Get Device Registrations | List registered devices | | Delete Device Registration | Remove device registration |

Trigger Node

The App Center Trigger node starts workflows when events occur in App Center.

Supported Events

| Event | Description | |-------|-------------| | build.succeeded | Build completed successfully | | build.failed | Build failed | | release.created | New release uploaded | | crash_group.new | New crash group detected | | test_run.completed | Test run finished successfully | | test_run.failed | Test run failed |

Usage

  1. Add the App Center Trigger node to your workflow
  2. Configure credentials
  3. Enter the Owner Name and App Name
  4. Select the events to listen for
  5. Activate the workflow

Usage Examples

Build and Distribute

{
  "name": "Build and Distribute",
  "nodes": [
    {
      "name": "Trigger Build",
      "type": "n8n-nodes-appcenter.appCenter",
      "parameters": {
        "resource": "builds",
        "operation": "trigger",
        "branch": "main"
      }
    },
    {
      "name": "Wait for Build",
      "type": "n8n-nodes-base.wait",
      "parameters": {
        "unit": "minutes",
        "amount": 10
      }
    },
    {
      "name": "Distribute",
      "type": "n8n-nodes-appcenter.appCenter",
      "parameters": {
        "resource": "distribution",
        "operation": "distribute",
        "buildId": "={{ $('Trigger Build').item.json.id }}",
        "destinations": ["Beta Testers"]
      }
    }
  ]
}

Analytics Report

{
  "name": "Weekly Analytics Report",
  "nodes": [
    {
      "name": "Get Sessions",
      "type": "n8n-nodes-appcenter.appCenter",
      "parameters": {
        "resource": "analytics",
        "operation": "getSessions",
        "start": "={{ $now.minus(7, 'days').toISO() }}",
        "interval": "P1D"
      }
    },
    {
      "name": "Get Crash-Free Users",
      "type": "n8n-nodes-appcenter.appCenter",
      "parameters": {
        "resource": "crashes",
        "operation": "getCrashFreeUsers",
        "start": "={{ $now.minus(7, 'days').toISO() }}"
      }
    }
  ]
}

App Center Concepts

Owner Types

  • User: Individual account owner
  • Organization: Team or company account

Token Types

  • User API Token: Full access across all apps the user can access
  • App API Token: Scoped to a single application

Build Triggers

  • Manual: Triggered via API or UI
  • Continuous: Triggered on every push
  • Tag: Triggered when tags are pushed

Distribution Destinations

  • Groups: Internal distribution groups
  • Stores: App Store Connect, Google Play, Intune
  • Testers: Individual email addresses

Test Frameworks

  • Appium: Cross-platform testing
  • Calabash: Cucumber-based testing
  • Espresso: Android native testing
  • XCUITest: iOS native testing
  • Xamarin.UITest: Xamarin testing

Error Handling

The node handles App Center API errors gracefully:

| Error Code | Description | |------------|-------------| | 400 | Bad Request - Invalid parameters | | 401 | Unauthorized - Invalid API token | | 403 | Forbidden - Insufficient permissions | | 404 | Not Found - Resource doesn't exist | | 409 | Conflict - Resource already exists | | 429 | Too Many Requests - Rate limit exceeded |

Rate Limits

App Center enforces the following rate limits:

  • 2000 requests per 5-minute window
  • Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset

Security Best Practices

  1. Use App API Tokens instead of User tokens when possible
  2. Set Read Only access for monitoring-only workflows
  3. Store credentials securely in n8n credential storage
  4. Rotate API tokens periodically
  5. Use separate tokens for different workflows

Development

# Install dependencies
npm install

# Build the project
npm run build

# Run linting
npm run lint

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

Author

Velocity BPA

Licensing

This n8n community node is licensed under the Business Source License 1.1.

Free Use

Permitted for personal, educational, research, and internal business use.

Commercial Use

Use of this node within any SaaS, PaaS, hosted platform, managed service, or paid automation offering requires a commercial license.

For licensing inquiries: [email protected]

See LICENSE, COMMERCIAL_LICENSE.md, and LICENSING_FAQ.md for details.

Contributing

Contributions are welcome! Please ensure all contributions comply with the BSL 1.1 license terms.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: npm test
  5. Submit a pull request

Support

Acknowledgments

  • Microsoft App Center for their comprehensive mobile DevOps platform
  • n8n for the workflow automation platform
  • The n8n community for their support and contributions