Skip to main content

Omnivore Feeds

Omnivore (by Olo) is a restaurant POS integration platform that provides a single, standardized API to connect with a wide range of point-of-sale systems. The Omnivore Feeds connector is a source-only ELT connector that ingests restaurant location data from the Omnivore API as a set of feeds. Select from objects such as menu items, menu categories, menu modifiers, tickets, orders, tables, employees, revenue centers, discounts, tender types, and void reasons, and Nexla ingests each selected object as its own feed using a full-refresh or incremental sync strategy.

Omnivore Feeds icon

Power end-to-end data operations for your Omnivore Feeds API with Nexla. Our bi-directional Omnivore Feeds connector is purpose-built for Omnivore Feeds, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Omnivore Feeds or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Omnivore Feeds workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

The Omnivore Feeds connector authenticates to the Omnivore API using an API key, which Nexla sends in the Api-Key request header. Before creating a credential in Nexla, gather the following from your Omnivore account.

API base URL

Omnivore API requests are made against a base host, typically api.omnivore.io. Confirm the correct host for your Omnivore environment, as Nexla uses it to construct request URLs of the form https://<api-base-url>/1.0/locations/<location-id>/....

API key

Omnivore uses API key authentication. Your API key is issued from your Omnivore account, and the key value is shown only once at creation time, so copy and store it securely when it is generated. The API key is a sensitive secret — store it in a password manager and rotate it if it is exposed.

Location ID

Each restaurant location connected through Omnivore is identified by a location ID. Requests target a specific location, so note the location ID for the restaurant whose data you want to ingest. If you need data from multiple locations, create a separate credential (and source) per location ID.

Access to the Omnivore API and its documentation requires an Omnivore developer account. For details on obtaining an API key, resolving location IDs, and the available resource endpoints, refer to the Omnivore API documentation and the Omnivore API product page.

Authenticate

Credentials required

FieldRequiredSecretDescription
API Base URLYesNoThe base URL for Omnivore API (e.g., api.omnivore.io)
API KeyYesYesYour Omnivore API key
Location IDYesNoYour restaurant location ID in Omnivore

Create a credential in Nexla

  1. After selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

    Resource descriptions are recommended but are not required. Use them to identify the Omnivore environment or restaurant location represented by this credential.

  3. Enter the Omnivore API base URL in the API Base URL field. The default value is api.omnivore.io.

  4. Enter your Omnivore API key in the API Key field. Nexla sends this key to Omnivore in the Api-Key header when ingesting feeds and stores it securely as a secret.

  5. Enter the restaurant location ID in the Location ID field. This value scopes all requests made with this credential to a single Omnivore location.

  6. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source creation and can be selected for use with Omnivore Feeds flows.

Use as a data source

How This Connector Works

The Omnivore Feeds connector is a source-only ELT connector. Rather than configuring one endpoint at a time, you select the Omnivore objects you want from a catalog of feeds, and Nexla ingests each selected object as its own feed.

  • Discovery: When you create the source, Nexla discovers the objects (feeds) available from the Omnivore API and presents them for selection.

  • Loading strategy: Each feed is ingested using either a full-refresh or an incremental sync strategy. Full refresh reads the complete current set of records for the object on every run; incremental sync reads only records modified after a given timestamp. The id field is used as the primary key to uniquely identify records within each feed.

  • Parallel ingestion: Selected feeds are ingested in parallel, so a single source can pull multiple Omnivore objects on the same schedule.

  • Pagination: Omnivore responses are paginated using link headers. Nexla follows the next link automatically while reading each feed, so a full refresh ingests all available pages. The page size defaults to 50 records and can be set up to a maximum of 100.

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, click the New Data Flow button, select the ELT flow type, and click Create.

  2. Select the Omnivore Feeds connector tile from the list of available connectors. Then, select the credential that will be used to connect to Omnivore and click Next; or, create a new Omnivore Feeds credential for use in this flow. The credential scopes the source to a single Omnivore location.

Select the Objects to Ingest

After authenticating, Nexla lists the Omnivore objects available from the connector. Select one or more of the following objects to ingest. Each selected object becomes its own feed.

  • Menu Items — Items available on the location's menu.
  • Menu Modifiers — Modifiers that can be applied to menu items.
  • Menu Categories — Categories used to organize the menu.
  • Tickets — Guest checks (tickets) at the location.
  • Orders — Orders placed at the location.
  • Tables — Tables defined for the location.
  • Employees — Employees associated with the location.
  • Revenue Centers — Revenue centers configured at the location.
  • Discounts — Discounts available at the location.
  • Tender Types — Tender (payment) types accepted at the location.
  • Void Reasons — Reasons available for voiding items or tickets.

Choose a Data Loading Strategy

Each source is configured with one of two loading strategies:

  • Full Refresh — Retrieves the complete current set of records for each selected object on every run. Full refresh is supported for all of the objects listed above.

  • Incremental Sync — Retrieves only records modified after a cursor timestamp, reducing the volume fetched on each run. Incremental sync is supported only for the Tickets and Orders objects. When incremental sync is enabled, set the starting point using an ISO 8601 timestamp or a relative time macro such as {now-1d}; on subsequent runs, Nexla tracks the cursor from the last successful run.

Only the Tickets and Orders objects support incremental sync. All other objects are ingested with the full-refresh strategy.

Schedule and Activate

  • Use the default sync schedule or adjust the schedule in the source settings before activating the flow. On each run, every selected feed is ingested according to its configured loading strategy.

Reference

For object schemas, field definitions, and additional detail on each Omnivore resource, see the Omnivore API documentation and the Omnivore API product page.