Algolia Component
Manage search indexes, records, and settings in Algolia.
Component key: algolia · · Changelog ↓Description
Algolia is a search and discovery API platform. This component allows you to manage search indexes, records, and settings in Algolia.
API Documentation
This component was built using the Algolia API Reference.
A Note on Algolia Search Results Pagination
Algolia's Search API supports pagination.
This means that the API will return a certain number of hits for any search query. If additional results are available, the API response includes a nbPages field that indicates the total number of pages.
{
"hits": [],
"nbHits": 100,
"page": 0,
"nbPages": 20
}
The page parameter can be used in a subsequent query to fetch additional results.
See Algolia's Docs for information about Algolia's paginated search API, and this quickstart for information on looping over a paginated API in Prismatic.
Connections
API Key
key: apiKeyAPI Keys are necessary for interacting with the Algolia API. API keys are unique to each application you create in Algolia.
To generate an API Key, you should log into Algolia and navigate to your application page. Within the application settings, you can find your API keys.
Algolia provides three types of API keys:
Admin API Key: This key has read and write rights on all indexing and configuration operations.
Search-Only API Key: This key has read-only rights on indexing operations and is recommended for use on the frontend.
Secured API Key: This key is generated from a search key and has additional rights defined at the time of generation.
For your integration, you will need both the Admin API Key and the Search-Only API Key.
For more information about API keys, refer to the Algolia Docs.
| Input | Notes | Example |
|---|---|---|
| API Key | Your Algolia API Key | YourAlgoliaAPIKey |
| Application ID | Your Algolia Application ID | YourAlgoliaApplicationId |
Triggers
New and Updated Indices
Checks for new and updated indices in Algolia on a configured schedule. | key: pollChangesTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Show New Records | Include newly created indices in trigger results. | true |
| Show Updated Records | Include updated indices in trigger results. | true |
This trigger polls the Algolia Search API for new and updated indices on a configured schedule.
How It Works
- The trigger runs on the configured schedule (e.g., every 5 minutes)
- It fetches all indices from the Algolia account
- Records are categorized as created or updated based on their
createdAtandupdatedAttimestamp fields, compared against the last successful poll time - The trigger updates its internal state after each poll, storing the poll timestamp for use in the next execution
Configuration
Configure the following inputs:
- Connection: The Algolia connection used to authenticate API requests
- Show New Records: When enabled, includes newly created indices in the results. Defaults to
true - Show Updated Records: When enabled, includes modified indices in the results. Defaults to
true
Returned Data
The trigger returns an object with two arrays — created for new indices and updated for modified indices.
Example Response
{
"data": {
"created": [
{
"name": "products_v2",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"entries": 0,
"dataSize": 0
}
],
"updated": [
{
"name": "products",
"createdAt": "2024-01-01T08:00:00Z",
"updatedAt": "2024-01-16T14:22:00Z",
"entries": 15420,
"dataSize": 3145728
}
]
}
}
Notes
- A record is classified as created if its
createdAttimestamp exceeds the last poll time. IfcreatedAtdoes not exceed the cutoff butupdatedAtdoes, the record is classified as updated - On the first poll, the trigger uses the current time as the initial cutoff; no records are returned unless indices were created or updated in the same polling window
Data Sources
Select Index
Select an Algolia index from your application. | key: selectIndex | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
Example Payload for Select Index⤓
Actions
Browse Index
Retrieve all objects from an index. | key: browseIndex
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Cursor | Provide a string value for the cursor. This is optional. | cursor:AhNmaWx0ZXJzPWxhbmd1YWdlOmVuAgEoMjAyMjJlNjNjNjliZGQ1NWRkYzcyOGU3Y2M4M2M2ZDRiODI3ZmQ1Mw== |
| Index Name | Provide a string value for the index name. | acme_query_suggestions |
| Search Parameters | Provide a URL-encoded string for search parameters. This is optional. | filters=language:en |
Copy Index
Copy an index, including its records, Synonyms, Rules, and settings (except for enableReRanking). | key: copyIndex
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Index From | The index to copy from. | acme_query_suggestions |
| Index To | The index to copy to. | acme_query_suggestions |
Example Payload for Copy Index⤓
Copy Settings
Copy the settings of an index to another index on the same app. | key: copySettings
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Index From | The index to copy the settings from. | acme_query_suggestions |
| Index To | The index to copy the settings to. | acme_query_suggestions |
Example Payload for Copy Settings⤓
Delete Index
Delete an index. | key: deleteIndex
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Index Name | The index name to delete. | acme_query_suggestions |
Example Payload for Delete Index⤓
Get Index
Get index information | key: getIndex
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Index Name | Provide a string value for the index name. | acme_query_suggestions |
| Query String | Provide a string value for the query string. This is optional. | query=george%20clo&hitsPerPage=2&getRankingInfo=1 |
Get Settings
Get the settings of an index. | key: getSettings
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Index Name | Provide a string value for the index name. | acme_query_suggestions |
Example Payload for Get Settings⤓
List Indices
Get a list of indices with their associated metadata. | key: listIndexes
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Page | Retrieve a specific page. Pages are zero-based. The page size is set to 100. This parameter isn’t set by default, and all indices are retrieved at once. |
Example Payload for List Indices⤓
Move Index
Move or rename an index. | key: moveIndex
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Index From | The index to move from. | acme_query_suggestions |
| Index To | The index to move to. | acme_query_suggestions |
Example Payload for Move Index⤓
Raw Request
Send raw HTTP request to Algolia | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (/1/indexes/{indexName}), The base URL is already included (https://<CONNECTION_INPUT_APPLICATION_ID>.algolia.net). For example, to connect to https://<CONNECTION_INPUT_APPLICATION_ID>.algolia.net/1/indexes/{indexName}, only /1/indexes/{indexName} is entered in this field. | /1/indexes/{indexName} |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Search Facet Values
Search for values of a given facet. | key: searchFacetValues
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Facet Name | Provide a string value for the facet name. | example_facet |
| Facet Query | Provide a string value for the facet query. This is optional. | example_query |
| Index Name | Provide a string value for the index name. | acme_query_suggestions |
| Max Facet Hits | Provide a number for the maximum number of facet hits to return. This is optional. | 10 |
Search Multiple Indices
Send multiple search queries, potentially targeting multiple indices, in a single API call. | key: searchMultipleIndices
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Requests | Provide a JSON object where each key-value pair represents an index-query pair for the search. | |
| Strategy | Provide a strategy. The possible values are 'none' and 'stopIfEnoughMatches'. This is optional. | none |
Set Settings
Change an index's settings. | key: setSettings
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Forward to Replicas | The change is also propagated to replicas of this index. | false |
| Index Name | Provide a string value for the index name. | acme_query_suggestions |
| Settings | A mapping of settings parameters you can use on an index. |
Example Payload for Set Settings⤓
Update Batch Indices
This method enables you to batch multiple different indexing operations in one API call, like add or delete objects, potentially targeting multiple indices. | key: updateBatchIndices
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Requests | An array of operations to batch. |
Example Payload for Update Batch Indices⤓
Changelog
2026-04-30
Updated spectral version
2026-04-21
Added New and Updated Indices polling trigger that checks for new and updated search indices in Algolia on a configured schedule
2026-04-10
Updated example payloads
2026-04-07
Added global debug support across all actions for improved troubleshooting
2026-03-31
Various modernizations and documentation updates
2026-03-05
Added inline data source for index selection to enhance data selection capabilities across index-related actions