---
title: Retrieve Odata
description: Retrieve structured data from Microsoft Dynamics or other OData-compliant services using filter-based queries.
category: Application
tags: [odata, microsoft dynamics, api, integration, rest]
---

# Retrieve Odata

## Description

**OData (Open Data Protocol)** is a standardized REST-based protocol used for querying and updating data. It allows interaction with web services using simple HTTP requests and supports CRUD operations, filtering, pagination, and more.

The **OData** activity fetches records from an OData-compliant data source (e.g., Microsoft Dynamics 365) using configured filters. It supports retry logic, pagination via `Skip` and `Top`, and delivers structured output suitable for downstream processing.

Use this activity to:

- Extract entity records from Microsoft Dynamics CRM or ERP systems
- Apply filters to query only specific rows or columns
- Integrate CRM data into automated workflows or dashboards

> **Use case**:  
> Pull contact records from Microsoft Dynamics where the city is "Berlin" using the `Filters` field. The result can then be transformed and sent to external systems like Google Sheets or Zoho CRM.

## Input

_Not Applicable_

## Output

| Output Type | Format | Description                                       |
| ----------- | ------ | ------------------------------------------------- |
| **Data**    | JSON   | Array of records retrieved from the OData source. |

## Configuration Fields

| Field Name            | Description                                                                           |
| --------------------- | ------------------------------------------------------------------------------------- |
| **Connection**        | Select the authentication configuration for Microsoft Dynamics or other OData source. |
| **Resource Name**     | The logical name of the resource/entity to query (e.g., `contacts`, `accounts`).      |
| **Service Path**      | Path appended to the base OData URL (optional).                                       |
| **Number Of Retries** | Number of retry attempts in case of request failures. Default: 3                      |
| **Filters**           | OData-compatible filters to narrow down the result set (e.g., `city eq 'Berlin'`).    |
| **Skip**              | Number of records to skip (used for pagination).                                      |
| **Top**               | Number of records to return. Leave blank to retrieve all available records.           |

> The `Filters` field supports advanced OData syntax including logical operators (e.g., `and`, `or`), comparison (`eq`, `gt`, `lt`), and functions (`startswith`, `endswith`).

## Sample Input

_Not applicable_

## Sample Configuration

| Field             | Value                 |
| ----------------- | --------------------- |
| Connection        | Dynamics365Connection |
| Resource Name     | `contacts`            |
| Filters           | `city eq 'Berlin'`    |
| Skip              | `0`                   |
| Top               | `100`                 |
| Number Of Retries | `3`                   |

## Sample Output

The output is a JSON array of objects. Each object represents a record from the queried resource:

| Contact ID     | First Name | Last Name | City   | Email Address            |
| -------------- | ---------- | --------- | ------ | ------------------------ |
| abcd-1234-5678 | John       | Doe       | Berlin | john.doe@example.com     |
| efgh-5678-1234 | Anna       | Schmidt   | Berlin | anna.schmidt@example.com |
