---
title: App Store Connect Integration - iOS App Review & TestFlight Notifications
sidebarTitle: App Store Connect
description: Complete guide to integrate App Store Connect webhooks with Echobell for instant iOS app notifications. Receive mobile push alerts or phone calls for app review status changes, TestFlight feedback, build processing, and release updates in real-time.
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# App Store Connect Integration

App Store Connect webhooks broadcast every meaningful change in your iOS release pipeline. When those signals flow into Echobell, your team sees review decisions, releases, and TestFlight feedback the moment they happen—no manual refreshes or inbox digging required.

**Why teams wire this integration:**

- Faster reaction time when reviews flip to "Rejected" or "Ready for Sale"
- A single notification stream for TestFlight feedback and build processing
- Clear, mobile-friendly alerts that keep PMs, QA, and marketing aligned

<Callout type="info">
  App Store Connect webhooks are available to developers with Account Holder,
  Admin, or App Manager roles. Each webhook can only apply to one app, and you
  can create up to ten webhooks per app.
</Callout>

## Prerequisites

- Echobell channel with webhook triggers enabled
- App Store Connect access (Account Holder, Admin, or App Manager)
- At least one active iOS app to monitor
- Your Echobell webhook URL (Channel → **Triggers**)

## What You Can Monitor

App Store Connect can ping Echobell for:

1. **App Store version lifecycle** — submission progress, approvals, rejections, releases
2. **TestFlight milestones** — build processing results, tester feedback, invite state changes

## Setup Overview

1. Prep an Echobell channel plus notification templates
2. Copy the channel webhook URL
3. Configure a webhook in App Store Connect
4. Send a test delivery to verify formatting

## Step-by-Step Guide

<Steps>
<Step>
### Create an Echobell Channel

1. Open the Echobell app
2. Create a new channel (e.g., "App Store Connect")
3. Pick a distinctive color for quick scanning
4. Add teammates who should receive these updates
</Step>
<Step>

### Configure Notification Templates

Give each event payload a clear title and summary so teams can act quickly.

**Title Template:**

```
[{{app.name}}] {{eventType}} - {{status}}
```

**Body Template:**

```
📱 App: {{app.name}}
🔄 Event: {{eventType}}
📊 Status: {{status}}
⏰ Time: {{eventDate}}
💬 Message: {{message}}
🔗 View in App Store Connect
```

Feel free to drop emojis if you prefer a drier tone—the template variables stay the same.

</Step>
<Step>
### Get Your Echobell Webhook URL

1. Open your channel settings → **Triggers**
2. Copy the webhook URL provided
3. Keep it private; you'll paste it into App Store Connect
</Step>
<Step>

### Configure App Store Connect Webhook

Follow [Apple's official guide](https://developer.apple.com/help/app-store-connect/manage-your-team/manage-webhooks/) with the Echobell URL you copied earlier:

#### Create a Webhook

1. Sign in to [App Store Connect](https://appstoreconnect.apple.com/)
2. Navigate to **Users and Access** → **Integrations**
3. Under **Additional**, click **Webhooks**
4. Click the add button (+) next to Webhooks
5. Configure your webhook:
   - **Name**: Descriptive label (e.g., "Echobell Notifications")
   - **Payload URL**: Paste your Echobell webhook URL
   - **Secret**: Create a secure string for verification
   - **App**: Select the app you want to monitor
   - **Event Triggers**: Pick the events you want to follow

#### Available Event Triggers

Mix and match what matters:

**App Store Version Events**

- **App Store Version State Changed** — every movement through review states
- **App Store Version Released** — final push to the store

**TestFlight Events**

- **TestFlight Beta Feedback** — new comments, ratings, and device details
- **TestFlight Beta Review State Changed** — build approvals and rejections

7. Click **Add** to create the webhook
</Step>
<Step>

### Test Your Integration

Use App Store Connect's built-in **Test** button:

1. In the webhook list, open the webhook you just added
2. Click **Test** → App Store Connect sends a ping
3. Confirm Echobell shows the "Ping" event with your template formatting
</Step>
</Steps>

## Advanced Configuration

### Webhook Security

1. **HTTPS**: Echobell URLs ship with TLS; no extra setup required.
2. **Secret handling**: App Store Connect enforces a secret, but Echobell treats it as metadata. Store it so you can validate signatures later if you prefer.
3. **IP allowlisting**: Tighten firewalls by allowing Apple's outbound ranges only.

### Custom Notification Templates

Use different layouts for review state changes versus feedback so the signal is obvious.

**For App Status Changes**

- Title:

```
[{{app.name}}] App {{eventType}}
```

- Body:

```
🍎 Your app "{{app.name}}" status has changed!

📊 Status: {{status}}
📅 Date: {{eventDate}}
```

- Link:

```
{{app.url}}
```

**For TestFlight Feedback**

- Title:

```
[{{app.name}}] New TestFlight Feedback
```

- Body:

```
📱 App: {{app.name}}
👤 Tester: {{tester.name}}
⭐ Rating: {{rating}}/5
💬 Feedback: {{feedback}}
📱 Device: {{device}}
```

- Link:

```
{{feedbackUrl}}
```

### Managing Multiple Apps

- Spin up distinct channels per app or environment ("MyApp - Beta", "MyApp - Prod")
- Standardize naming so teammates instantly know where to look
- Layer automation rules or quiet hours per channel when traffic spikes
- Add people to only the channels that match their role

## Webhook Payload Structure

App Store Connect sends webhook payloads in JSON format. Here's the typical structure:

```json
{
  "eventType": "APP_STORE_VERSION_STATE_CHANGED",
  "apiVersion": "v1",
  "eventId": "12345678-1234-1234-1234-123456789012",
  "eventDate": "2025-01-15T10:30:00Z",
  "data": {
    "app": {
      "id": "1234567890",
      "name": "My App"
    },
    "appStoreVersion": {
      "id": "12345678",
      "versionString": "1.2.3",
      "state": "READY_FOR_SALE"
    }
  }
}
```

## Best Practices

1. **Channel organization**: Create separate channels for different apps or environments
2. **Team management**: Add only relevant team members to each channel
3. **Template customization**: Adjust templates to show information most relevant to your workflow
4. **Notification types**: Use Time Sensitive for critical app rejections, Normal for routine updates

## Troubleshooting

If you're not receiving notifications:

1. Verify the webhook URL is correctly copied
2. Check if the channel is active and has subscribers
3. Verify App Store Connect webhook configuration
4. Use the Test button in App Store Connect to verify connectivity
5. Check webhook delivery history in App Store Connect

## Privacy and Data Handling

Echobell's privacy-first approach:

- Notification content is stored locally on your device
- Only essential configuration data is stored on servers
- Webhook URLs should be treated as secrets
- No alert data is retained on Echobell servers

## Additional Resources

- [Apple Webhooks Documentation](https://developer.apple.com/help/app-store-connect/manage-your-team/manage-webhooks/)
- [Echobell Webhook Integration](/docs/webhook)
- [Notification Templates Guide](/docs/template)
- [Support Center](/docs/support)
