Back to Nodes

App Store

Last updated Sep 23, 2026

n8n community node for Apple App Store reviews: fetch and reply to customer reviews, with a polling trigger for new reviews

17 Weekly Downloads
131 Monthly Downloads

Included Nodes

App Store
App Store Trigger

Description

n8n-nodes-app-store

n8n community nodes for Apple App Store customer reviews, via the App Store Connect API:

  • App Store — fetch and reply to customer reviews.
  • App Store Trigger — polls one or several apps for new (and optionally updated) customer reviews.
  • Looking for Google Play? See @maximiliana/n8n-nodes-google-play.

    Installation

    Follow the community nodes installation guide and install:

    @maximiliana/n8n-nodes-app-store
    

    Credentials

    Authentication uses an App Store Connect API key. The credential signs a short-lived ES256 JWT (the token Apple expects as bearer) and regenerates it automatically when it expires.

    1. In App Store Connect → Users and Access → Integrations → App Store Connect API, create a Team key with the App Manager role (required to reply to reviews).
    2. Download the .p8 private key file (it can only be downloaded once) and note the Key ID and Issuer ID.
    3. In n8n, create an App Store Connect API credential with the Issuer ID, the Key ID and the contents of the .p8 file (pasted formatting is handled automatically).

    Operations

    | Operation | Description |
    | — | — |
    | Get | Retrieve a single customer review by ID |
    | Get Many | List customer reviews of an app, with rating / territory / response status filters and sorting |
    | Reply | Publish or update the developer response to a review (max 5970 characters) |

    The app is selected with a searchable picker (or by its numeric Apple ID). The published developer response (if any) is fetched alongside each review. Responding again to the same review replaces the previous response.

    Trigger

    The trigger watches one or several apps (multi-select picker, or numeric Apple IDs via expression) and uses n8n polling (configure the schedule in the node’s Poll Times). On each poll it fetches, per app, the reviews newer than the previous poll and emits the ones not seen before, each tagged with its appId. Every app keeps its own polling state: a temporary failure in one app never loses or duplicates reviews of the others. Options:

  • Lookback Margin (Minutes) (default 15): each poll also re-checks the interval before the previous poll by this margin, to compensate for the delay with which the App Store surfaces new reviews. Overlapping reviews are deduplicated, so a larger margin never produces duplicates.
  • Include Updated Reviews: also trigger when an already-seen review is edited.
  • Simplify: emit a flattened, friendly review object (default) instead of the raw API payload.
  • Rating / Territory: only trigger for the selected star ratings or store territories.
  • The first poll only establishes the baseline and emits nothing (historical reviews are not replayed). Executing the trigger manually returns the latest reviews, so you can inspect the output shape while building the workflow.

    Simplified output

    {
      "appId": "1234567890",
      "id": "00000000-0000-0000-0000-000000000000",
      "rating": 4,
      "title": "Muy útil",
      "body": "A mi madre le encanta",
      "reviewerNickname": "pedro_es",
      "createdDate": "2026-08-12T12:00:00Z",
      "territory": "ESP",
      "responseBody": "¡Gracias!",
      "responseState": "PUBLISHED"
    }
    

    Rate limits

    The App Store Connect API allows roughly 3600 requests per hour per API key (Apple reports the live limit in the X-Rate-Limit response header). A poll normally costs a single request, so polling comfortably stays within the limit.

    Troubleshooting

    “Class could not be found. Please check if the class is named correctly.” while installing. n8n installs community packages into ~/.n8n/nodes with a shared node_modules; if another community package left an old n8n-workflow 1.x hoisted there, npm reuses it (any version satisfies the * peer range that n8n verification mandates) and older releases of this package failed to load against it. Since 0.2.2 the nodes tolerate old copies, but if you still hit loading issues, refresh the hoisted copy and retry the install:

    cd ~/.n8n/nodes && npm install n8n-workflow@latest
    

    Security notes

  • Private keys are stored encrypted by n8n (password-type fields) and never leave the instance: tokens are generated locally and only sent to the official Apple endpoints over HTTPS.
  • Use a dedicated API key with the App Manager role.
  • API error responses are surfaced with their original message, without leaking request headers or credentials.

About

This package is built and maintained by Maximiliana (BUKIT APP, SL), where we use it in production for our own apps. It is offered as-is, on a best-effort basis, with no warranty or support commitment — but it’s here, it works, and we intend to keep it that way.

Issues and pull requests are welcome on GitHub. For anything else, reach out at pedro@maximiliana.es.

App Store, App Store Connect and the App Store logo are trademarks of Apple Inc. This project is not affiliated with, endorsed or sponsored by Apple; the names and logos are used solely to identify the service the nodes integrate with.

License

MIT