About the integration
Serval connects to the App Store Connect API using a team API key. Workflows can manage TestFlight testers and groups, app and build assignments, invitations, users, and app permissions. They can also call other App Store Connect API endpoints. Serval signs the API tokens for you; you don’t need to generate or renew them yourself. The connection uses an Issuer ID, Key ID, and.p8 private key from App Store Connect. Individual API keys are not supported. A team key’s role determines what workflows can do, and Apple applies team keys across all apps in the account. Choose a role with only the permissions your workflows need.
Create a team API key
If API access has not been enabled for your account, the Account Holder must request access first. An Account Holder or Admin can then create a team key.1
Open the App Store Connect API settings
In App Store Connect, go to Users and Access → Integrations → App Store Connect API → Team Keys.
2
Generate a team key
Select Generate API Key (or +), enter a name, choose the role your workflows require, and select Generate.
3
Copy the IDs and download the key
Copy the Issuer ID and the new key’s Key ID from the API settings. Download the matching
.p8 private key and keep it secure. Apple lets you download it only once.Connect in Serval
In Serval, open Integrations, select All integrations, and choose App Store Connect. Enter:
Save the connection, then run Test App Store Connect Connection. The test makes a read-only request to list one app. A successful test confirms that Serval can sign a token and call Apple’s API; individual workflow operations still depend on the key’s role.
To connect multiple Apple accounts, create a named connection with a team key from each account. Choose the appropriate connection when building or running a workflow.
Troubleshooting
- The connection cannot be saved: Check that the Issuer ID is a valid UUID and that the
.p8contents are complete. Serval requires the EC P-256 private key provided by Apple. - The connection test fails: Check that the Issuer ID, Key ID, and private key belong to the same active team key, and that the key’s role can list apps.
- A workflow gets a permission error: Check the team key’s role in App Store Connect. A passing connection test does not grant additional API permissions.

