> ## Documentation Index
> Fetch the complete documentation index at: https://www.algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Algolia for Zapier

> Automate indexing and search workflows by connecting the Algolia app to your other tools with Zapier.

Use the [Algolia app on Zapier](https://zapier.com/apps/algolia/integrations) to manage and query your indices from any Zap. Whenever data changes in your other tools, such as a CMS, CRM, form builder, or spreadsheet, a Zap can add, update, or delete the matching records in Algolia, without writing custom code. Zaps can also search your indices, to route content, trigger alerts, or retrieve context for AI workflows.

Zapier is a no-code automation platform. It calls a workflow a *Zap*: a trigger followed by one or more steps.

## Before you begin

You need:

* A [Zapier](https://zapier.com) account
* Your Algolia application ID
* A [search API key](/doc/guides/security/api-keys#predefined-api-keys) with permissions for the [read steps](#available-steps) you plan to use
* A [write API key](/doc/guides/security/api-keys#predefined-api-keys), if you use steps that create, update, or delete records, indices, settings, rules, or synonyms

## Connect your Algolia account

There's nothing to install: the Algolia app is part of Zapier's built-in app catalog. Add a connection to your Algolia account, then select Algolia steps when building your Zaps.

1. In Zapier, go to the [Apps page](https://zapier.com/app/assets/connections/apps) and click **+ Add connection**.
2. Search for and select **Algolia**.
3. Enter your application ID and search API key, and optionally your write API key.
4. Click **Yes, Continue to Algolia**.

Zapier stores the connection and reuses it for every Algolia step in your Zaps.

## Available steps

The Algolia app covers the [Search API](/doc/rest-api/search) and the [Recommend API](/doc/rest-api/recommend). Each step needs a key with the [ACL](/doc/guides/security/api-keys#access-control-list-acl) shown in parentheses. Missing permissions cause failed steps even when the connection test succeeds.

<AccordionGroup>
  <Accordion title="Triggers">
    * **[Browse Records - Polling](/doc/rest-api/search/browse)** (`browse`): page through every record in an index
    * **[Get Recommend Rule](/doc/rest-api/recommend/get-recommend-rule)** (`settings`): get one Recommend rule by its ID
  </Accordion>

  <Accordion title="Searches">
    * **[Search Index](/doc/rest-api/search/search-single-index)** (`search`): run a query against one index and return the hits
    * **[Search Multiple Indices](/doc/rest-api/search/search)** (`search`): send several queries in one request
    * **[Find Record](/doc/rest-api/search/get-object)** (`search`): get one record by its `objectID`
    * **[Get Records (Batch)](/doc/rest-api/search/get-objects)** (`search`): get several records, from one index or from different indices
    * **[Search for Facet Values](/doc/rest-api/search/search-for-facet-values)** (`search`): find values of a facet attribute, for example to build a filter list
    * **[Get Recommendations](/doc/rest-api/recommend/get-recommendations)** (`search`): get related products, frequently bought together items, or trending items
    * **[List Indices](/doc/rest-api/search/list-indices)** (`listIndexes`): list the indices in your Algolia application
    * **[Get Index Settings](/doc/rest-api/search/get-settings)** (`settings`): read the settings of an index
    * **[Find Query Rule](/doc/rest-api/search/get-rule)** (`settings`): get one rule by its ID
    * **[Search Query Rules](/doc/rest-api/search/search-rules)** (`settings`): find the rules of an index
    * **[Search Recommend Rules](/doc/rest-api/recommend/search-recommend-rules)** (`settings`): find the Recommend rules of an index
    * **[Find Synonym](/doc/rest-api/search/get-synonym)** (`settings`): get one synonym by its ID
    * **[Search Synonyms](/doc/rest-api/search/search-synonyms)** (`settings`): find the synonyms of an index
  </Accordion>

  <Accordion title="Actions">
    * **[Add or Replace Record](/doc/rest-api/search/add-or-update-object)** (`addObject`): add a record, or overwrite the record with the same `objectID`
    * **[Save Record (Auto Object ID)](/doc/rest-api/search/save-object)** (`addObject`): add a record and let Algolia assign its `objectID`, which creates a duplicate if the same item changes twice
    * **[Partial Update Record](/doc/rest-api/search/partial-update-object)** (`addObject`): change some attributes of a record and leave the rest untouched
    * **[Batch Indexing](/doc/rest-api/search/batch)** (`addObject`): add, update, or delete many records in one request
    * **[Batch Multiple Indices](/doc/rest-api/search/multiple-batch)** (`addObject`): the same, across several indices
    * **[Copy or Move Index](/doc/rest-api/search/operation-index)** (`addObject`): duplicate an index, or rename it
    * **[Check Task Status](/doc/rest-api/search/get-task)** (`addObject`): find out whether an indexing task has finished
    * **[Delete Record](/doc/rest-api/search/delete-object)** (`deleteObject`): delete one record by its `objectID`
    * **[Delete Records by Query](/doc/rest-api/search/delete-by)** (`deleteIndex`): delete every record that matches a filter
    * **[Clear Index (Delete All Records)](/doc/rest-api/search/clear-objects)** (`deleteIndex`): empty an index but keep its settings, synonyms, and rules
    * **[Delete Index](/doc/rest-api/search/delete-index)** (`deleteIndex`): delete an index and its settings
    * **[Update Index Settings](/doc/rest-api/search/set-settings)** (`editSettings`): change the settings of an index
    * **[Batch Save Query Rules](/doc/rest-api/search/save-rules)** (`editSettings`): add or overwrite several rules in one request
    * **[Delete Query Rule](/doc/rest-api/search/delete-rule)** (`editSettings`): delete one rule by its ID
    * **[Save Synonym](/doc/rest-api/search/save-synonym)** (`editSettings`): add one synonym, or overwrite it
    * **[Batch Save Synonyms](/doc/rest-api/search/save-synonyms)** (`editSettings`): add or overwrite several synonyms in one request
    * **[Delete Synonym](/doc/rest-api/search/delete-synonym)** (`editSettings`): delete one synonym by its ID
    * **[Clear All Synonyms](/doc/rest-api/search/clear-synonyms)** (`editSettings`): delete every synonym of an index
  </Accordion>
</AccordionGroup>

## Build an indexing Zap

This example keeps an index in sync with content from another app. The same pattern works with any Zapier trigger.

<Steps>
  <Step title="Add a trigger">
    Create a Zap, then select the app and event that should update your index, for example:

    * **Airtable**, **Notion**, or **Google Sheets**: a new or updated item.
    * A form app such as **Typeform**: a new submission.
    * **Schedule by Zapier**: run on an interval.
    * **Webhooks by Zapier**: your app calls Zapier when content changes.
  </Step>

  <Step title="Send the record to Algolia">
    Add an **Algolia** action step, select the **Add or Replace Record** event, and configure it:

    * **Index name**: your destination index
    * **Object ID**: map a unique, stable identifier from your source data, such as a primary key
    * **Record**: map the attributes that are useful for searching, displaying, filtering, or ranking

    Algolia replaces a record that already has the same `objectID`, so a stable identifier means each run updates your index instead of filling it with duplicates. To merge attributes into an existing record instead of replacing it, use **Partial Update Record**. For more information, see [Prepare your records for indexing](/doc/guides/sending-and-managing-data/prepare-your-data).
  </Step>

  <Step title="Test the Zap, then publish it">
    Test the Algolia step, then inspect the new records in the [Algolia dashboard](https://dashboard.algolia.com/explorer). If the records match what you expect, publish the Zap to run it automatically.
  </Step>
</Steps>

### Index several items in one step

If your trigger returns several items as line items, use the **Batch Indexing** action to send them in a single request instead of one step run per item. To build the `requests` array, add a **Code by Zapier** step, or use a [Looping by Zapier](https://zapier.com/apps/looping/integrations) step to iterate over the line items.

### Handle deletions

To remove records when items are deleted at the source, create a Zap that triggers on deletion and uses the **Delete Record** action with the same `objectID`. To remove every record matching a filter, use **Delete Records by Query**.

## Search from your Zaps

The Algolia app isn't limited to sending data. Use its search steps to retrieve records as part of a Zap, for example:

* **Deterministic workflows**: use **Search Index** or **Find Record** and act on the results, such as routing content, deduplicating entries, or enriching items in other tools.
* **Retrieval-augmented generation (RAG)**: use **Search Index** to retrieve relevant records and pass them as context to an AI step, grounding responses in your own data.
* **Exports**: use the **Browse Records** trigger to page through an index, for example, to back up records to a spreadsheet.

### Let an AI agent choose the queries

For [Zapier Agents](https://zapier.com/agents) and workflows where the AI decides which tools to call, use the [Algolia Public MCP server](/doc/guides/model-context-protocol/public-mcp) instead of the Algolia app. Connect it with Zapier's generic [MCP Client](https://help.zapier.com/hc/en-us/articles/38777069364109-Connect-remote-MCP-servers-to-Zapier-using-MCP-Client) (beta). This lets agents search your indices and return recommendations, choosing their own queries and parameters at runtime.

In short: the Algolia app when your Zap defines the query, the Algolia Public MCP server when the agent does.

## Example Zaps

| Zap | What it does | Steps |
| - | - | - |
| CMS sync | Keeps search in sync with published content | New published entry → Add or Replace Record |
| CRM enrichment | Keeps a sales-facing index fresh | New or updated CRM record → Partial Update Record |
| User-generated content | Indexes approved submissions | New form submission → filter → Add or Replace Record |
| Web content indexing | Indexes pages from a site you don't control | Schedule → a scraping app such as Firecrawl → Batch Indexing |
| RAG chatbot | Answers questions grounded in your indexed content | Chat trigger → Search Index → AI step |

## Limitations

* Records have a [size limit](/doc/guides/scaling/algolia-service-limits#application-record-and-index-limits) that depends on your plan, and other [service limits](/doc/guides/scaling/algolia-service-limits) can affect high-volume Zaps.
* Batch requests are subject to the [same limits as the API](/doc/guides/sending-and-managing-data/send-and-update-your-data#send-records-in-batches).
* Every step run consumes Zapier tasks. To index several items per run, prefer [one batch request](#index-several-items-in-one-step).
* For large imports, prefer an [API client](/doc/libraries/sdk/install) or [connector](/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/overview).

## See also

* [Algolia Zap templates](https://zapier.com/app/templates/use-cases?query=algolia): start from a pre-built Zap
* [How to get started with Algolia on Zapier](https://help.zapier.com/hc/en-us/articles/44933132595725-How-to-get-started-with-Algolia-on-Zapier) in the Zapier documentation
* [Algolia for n8n](/doc/integration/n8n)
* [Algolia for Make](/doc/integration/make)
