> For the complete documentation index, see [llms.txt](https://docs.pullbay.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pullbay.com/documentation/integrations/zapier-integration.md).

# Zapier Integration

Zapier is a powerful automation platform that connects thousands of apps without custom code. This guide shows you how to build automated workflows with Pullbay's App Store Reviews API—today with Webhooks by Zapier, and with a native Pullbay app coming soon.

## What You Can Build with Pullbay and Zapier

The combination of Pullbay and Zapier lets you:

* **Trigger workflows on new reviews**: Set up a daily or hourly check for fresh app store reviews and automatically route them where you need them
* **Send reviews to Slack**: Post 1–2 star reviews instantly to a dedicated channel for team response
* **Log reviews to Google Sheets**: Build a live spreadsheet of all reviews with ratings, authors, and timestamps
* **Feed reviews to HubSpot**: Sync customer feedback directly into your CRM for sales and support teams
* **Alert Airtable**: Create a structured database of reviews for analysis and team collaboration
* **Email summaries**: Get daily digests of high-priority reviews in your inbox

## How Pullbay Works with Zapier

Currently, there is no native Pullbay app in Zapier's app marketplace. However, you can use **Webhooks by Zapier** and **Code by Zapier** to connect to the Pullbay API right now. A native Pullbay integration is coming soon—when it arrives, your setup will be even simpler.

{% stepper %}
{% step %}

### Create a New Zap

1. Log in to your Zapier account at [zapier.com](https://zapier.com/)
2. Click **Create** (top left)
3. You'll see the Zap editor with a **Trigger** step ready to configure
   {% endstep %}

{% step %}

### Set Up Your Trigger

For daily or hourly review checks, use **Schedule by Zapier**:

1. In the Trigger section, search for and select **Schedule by Zapier**
2. Choose **Schedule** as the trigger event
3. Set your frequency:
   * **Daily**: Runs once per day at a time you choose
   * **Weekly**: Runs on a specific day and time
   * **Monthly**: Runs on a specific date
4. Click **Continue**

(If you prefer to trigger based on webhooks or external events, choose **Webhooks by Zapier** instead and select **Catch Hook**.)
{% endstep %}

{% step %}

### Add a Code Step to Fetch Reviews

1. Click the **+** icon below your trigger to add an action
2. Search for and select **Code by Zapier**
3. Choose **Code by Zapier** (JavaScript)
4. In the input fields, add:
   * **Input Data** (optional): Create fields for:
     * `apiKey`: Your Pullbay API key
     * `appId`: Your app's ID on the App Store
5. In the code editor, paste this JavaScript code:

```javascript
const apiKey = inputData.apiKey;
const appId = inputData.appId;

const url = `https://api.pullbay.com/v1/app-store/reviews/all?app_id=${appId}`;

const options = {
  headers: {
    'Authorization': `Bearer ${apiKey}`
  }
};

try {
  const response = await fetch(url, options);
  const data = await response.json();

  if (data.success) {
    output = {
      reviews: data.data,
      count: data.data.length,
      success: true
    };
  } else {
    output = {
      error: data.error,
      success: false
    };
  }
} catch (error) {
  output = {
    error: error.message,
    success: false
  };
}
```

6. Click **Continue**. Zapier will execute the code and show you the output structure.
   {% endstep %}

{% step %}

### Filter Reviews (Optional)

To focus on high-priority reviews, add a **Filter** step:

1. Click **+** below the Code step
2. Search for **Filter by Zapier**
3. Set up a condition like:
   * **Reviews Rating** < **2** (to catch 1–2 star reviews)
4. Click **Continue**

This ensures only critical reviews trigger your next action.
{% endstep %}

{% step %}

### Choose Your Action

Now route the reviews to your desired destination. Here are common examples:

#### Send to Slack

1. Click **+** to add an action
2. Search for **Slack**
3. Select **Send Channel Message**
4. Connect your Slack workspace and choose the channel (e.g., `#app-reviews`)
5. In the message body, format your review:

```
New App Review:
Rating: [Rating] ⭐
Author: [Author]
Title: [Title]
Review: [Review Text]
Country: [Country]
```

6. Click **Continue** and test

#### Log to Google Sheets

1. Click **+** to add an action
2. Search for **Google Sheets**
3. Select **Create Spreadsheet Row**
4. Connect your Google account and choose your spreadsheet and worksheet
5. Map the Pullbay review fields to columns:
   * Column A (Date): Today's date
   * Column B (Rating): `[Rating]`
   * Column C (Title): `[Title]`
   * Column D (Review): `[Review]`
   * Column E (Author): `[Author]`
   * Column F (Country): `[Country]`
6. Click **Continue** and test

#### Send to HubSpot

1. Click **+** to add an action
2. Search for **HubSpot**
3. Select **Create a Note** (or **Create Task** if you prefer)
4. Map review data to HubSpot fields
5. Test the connection
   {% endstep %}
   {% endstepper %}

## Example Complete Zap: Daily Review Check → Slack Alert

Here's a real-world workflow:

1. **Trigger**: Schedule by Zapier (Daily, 9 AM)
2. **Action 1**: Code by Zapier (fetch reviews from Pullbay using the JavaScript above)
3. **Action 2**: Filter by Zapier (Rating < 2)
4. **Action 3**: Slack (Send message to `#app-reviews` with formatted review)

This Zap runs every morning, pulls overnight reviews, filters for 1–2 star ratings, and posts them to your team Slack channel—no manual effort required.

## Storing Your API Key Securely

Never hardcode your Pullbay API key in a Zap. Instead:

1. Store your API key as a **Zapier Secret**:
   * In your Zap, click the **key icon** next to an input field
   * Select **Create a Secret**
   * Paste your API key and name it (e.g., `pullbay_api_key`)
2. In your Code step, reference it: `const apiKey = process.env.pullbay_api_key;`

Zapier encrypts secrets and only passes them to code at runtime.

## Troubleshooting

<details>

<summary>Code step returns "error: Unauthorized"</summary>

* Verify your API key is correct and active in the Pullbay dashboard
* Ensure your API plan supports the request rate (Free = 10 req/min, Starter = 60 req/min, etc.)

</details>

<details>

<summary>No reviews returned</summary>

* Check that your `appId` is correct and matches your actual app ID on the App Store
* Verify that your app has reviews (new apps may have none)

</details>

<details>

<summary>Slack message formatting looks broken</summary>

* Use plain text in the message format—Slack's markdown will render bold, links, and line breaks
* Test with a single review first

</details>

## API Rate Limits and Pricing

Zapier Zaps run on your Pullbay API plan:

* **Free**: 10 requests/minute
* **Starter**: 60 requests/minute
* **Growth**: 300 requests/minute
* **Scale**: 1000+ requests/minute

See the [Pullbay dashboard](https://dashboard.pullbay.com/) for current pricing and plan details.

## Native Integration Coming Soon

A native Pullbay app for Zapier is in development. When available, you'll be able to:

* Skip the Code step entirely
* Use a pre-built Pullbay trigger
* Access Pullbay fields in a simple, visual interface
* Benefit from built-in error handling and retries

Until then, the Webhooks by Zapier + Code approach works perfectly and gives you full flexibility.

## Next Steps

* Set up your first Zap using the steps above
* Test with a schedule trigger and filter
* Connect to your preferred action (Slack, Sheets, HubSpot, etc.)
* Monitor the Zap for the first day to ensure reviews are flowing correctly

For questions about the Pullbay API itself, see the [API documentation](https://docs.pullbay.com/). For Zapier-specific issues, check [Zapier's help center](https://zapier.com/help).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pullbay.com/documentation/integrations/zapier-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
