OData
Discover more about the OData connector and how to use it on the Digibee Integration Platform.
The OData connector enables integrations with any service compliant with OData (v4 or v2), such as SAP, Microsoft Dynamics 365, Business Central, Salesforce, and public OData feeds, extending the platform’s REST engine.
It builds standards-based requests to query and manipulate an OData entity set (collection), including CRUD, server-driven query options ($filter, $select, $orderby, $top, $skip, $expand, $count), bound/unbound actions and functions, and $batch.
Use this connector when:
You need to read or write data in an OData service that has no dedicated Digibee connector.
You want explicit control over the OData request (entity set, key, query options, actions,
$batch).You are integrating SAP OData / SAP S/4HANA, Business Central, or a custom OData API.
OData vs. vendor-specific connectors
For Microsoft Dynamics 365, use the Dynamics 365 (Customer Engagement/Dataverse) or Dynamics 365 Finance & Operations connector instead. Both are specialized versions of the OData engine with product-specific defaults and guided entity discovery.
Concepts
The terms below appear throughout the connector's parameters, so it helps to understand them before configuring a request. Each concept maps to a specific field you'll fill in later.
Entity Set
The collection you're addressing, for example Customers. It becomes the first path segment: /Customers.
Entity Key
Identifies a single record. It can be a single value (42, guid'…') or a composite key (id1=val1,id2=val2). Rendered as /Customers(42) or /Customers(id1=val1,id2=val2).
Query options
Server-driven parameters: $filter, $select, $orderby, $top, $skip, $expand, and $count.
Action / Function
Server-side operations. A bound operation targets a specific entity or collection; an unbound operation applies to the service as a whole. Actions use POST; functions use GET.
OData version
4.0 (default) or 2.0. It determines the request headers and how the response is parsed: value, @odata.count, and @odata.nextLink for v4, or d and d.results for v2.
Parameters
The table below lists all configuration parameters for the connector. Parameters that support Double Braces expressions are marked with ✅ in the Supports DB column.
Alias
A name for this connector's output, so you can reference it later in the flow with Double Braces.
String
✅
odata-01
Fail On Client Error (4xx)
Interrupt the pipeline on a 4xx response.
Boolean
❌
false
Fail On Server Error (5xx)
Interrupt the pipeline on a 5xx response.
Boolean
❌
false
Base URL
OData service root URL. Trailing slash is normalized.
String
✅
https://services.odata.org/V4/Northwind/Northwind.svc
—
Use Dynamic Account
If enabled, the connector resolves the account at runtime. If disabled, it uses the account configured statically below.
Boolean
❌
false
—
Scoped
If enabled, isolates the stored account from other sub-processes. Not available for accounts referenced in headers or in the request body. To learn more, read the Dynamic Accounts documentation.
Boolean
❌
false
Use Dynamic Account is enabled
Account Name
Name of the account defined in the Store Account connector.
String
✅
N/A
Use Dynamic Account is enabled
Account
Account used to authenticate the request. Supported types: Azure Key, Basic, API Key, OAuth Bearer, OAuth 2.0, AWS V4, custom auth header (and others available in the platform). Learn more about Accounts.
Account
—
N/A
Use Dynamic Account is disabled
Base parameters
These parameters define the foundation of the request, the entity set, OData version, and operation. The operation you choose here determines which additional parameters appear next.
OData Version
4.0 or 2.0. Determines request headers and response parsing.
Select
❌
4.0
Entity Set
OData collection name, such as Customers.
String
✅
N/A
Operation
The action to perform. It shapes the request. See the supported operations below.
Select
❌
Query
Supported operations
The Operation parameter maps to an OData request as follows:
Batch
POST
/$batch
multipart/JSON
Batches multiple operations in one request.
Create
POST
/{EntitySet}
JSON
Creates a record.
Custom Query
GET
/{EntitySet}?{$query}
—
Same as Query. Use it when combining raw and structured query parameters.
Delete
DELETE
/{EntitySet}({key})
—
Deletes a record.
Get by ID
GET
/{EntitySet}({key})
—
Reads a single record by key.
Invoke Action
POST
/{EntitySet}({key})/{Action} or /{Action}
JSON
Invokes a bound action (with key and entity set) or an unbound action.
Invoke Function
GET
/{EntitySet}({key})/{Function} or /{Function}
—
Invokes a bound or unbound function.
Query
GET
/{EntitySet}?{$query}
—
Reads the collection with query options.
Update
PATCH/PUT
/{EntitySet}({key})
JSON
Updates a record, partially (PATCH) or fully (PUT).
Common parameters
Like the base parameters above, these apply no matter which operation you choose. They're grouped here for clarity, even though they appear after the operation-specific fields in the connector's configuration.
Output Format
Controls the shape of the response returned to the pipeline. Values Only unwraps and returns only the value array. Full Response returns the entire response, including @odata.* fields. Single Entity returns the first or only entity.
Select
❌
Values Only
Headers
Additional request headers, as key/value pairs.
Key/Value
✅
N/A
Operation-specific parameters
The remaining parameters only appear for certain operations, grouped below by purpose.
Entity Key — used by Delete, Get by ID, Invoke Action, Invoke Function, and Update.
Entity Key
Single or composite key.
String
✅
N/A
Action / Function Name — used by Invoke Action and Invoke Function.
Action / Function Name
OData action or function name. Bound when an Entity Set is set, unbound otherwise.
String
✅
N/A
Body — used by Batch, Create, Invoke Action, and Update.
Body
JSON payload for Create and Update, action parameters for Invoke Action, or the $batch payload.
JSON
✅
{}
Query parameters — used by Custom Query and Query.
Filter ($filter)
OData filter expression, for example Age gt 18 and City eq 'NY'.
String
✅
N/A
Select ($select)
Comma-separated fields to include in the response.
String
✅
N/A
Order By ($orderby)
Sorts the results by one or more properties, in ascending or descending order. For example, Name asc, Created desc.
String
✅
N/A
Expand ($expand)
Related entities to include inline.
String
✅
N/A
Top ($top)
Maximum number of records to return. No artificial cap.
Number
✅
N/A
Skip ($skip)
Records to skip (pagination).
Number
✅
N/A
Include Count ($count)
Include the total count in the response.
Boolean
❌
false
Request Timeout (seconds)
Maximum time for the HTTP request.
Number
❌
30
—
Custom Query String
Raw extra query parameters appended verbatim (for example, cross-company=true).
String
✅
N/A
—
Update Method
PATCH for a partial update, or PUT for a full replacement.
Select
❌
PATCH
Operation is Update
Documentation
Optional field to describe the connector configuration and any relevant business rules.
String
❌
N/A
Response handling
OData v4: The connector reads the collection from
value, the total count from@odata.count, and pagination links from@odata.nextLink.OData v2: The connector reads the collection from
d.results(ord).Output Format: Determines which part of this response reaches the pipeline. See the Output Format parameter in OData API for the available values.
Examples
Query with filter and select (v4)
Input (connector parameters):
Output (when the Output Format is set to Values Only):
Create
Invoke a bound action
Resulting request:
Known limitations
The connector doesn't paginate automatically. To retrieve additional pages, follow
@odata.nextLinkyourself (for example, with a Loop) or control paging manually with$topand$skip.$batchpayloads must be well-formed according to the target service's OData version.Entity and field auto-discovery from
$metadatais available only in the guided Dynamics connectors. In the generic OData connector, Entity Set is a free-text field.
Common errors
400
Malformed $filter expression or invalid key syntax.
401 / 403
Missing or invalid account credentials, or insufficient scope for the request.
404
Wrong entity set name or key.
Enable Fail On Client Error (4xx) or Fail On Server Error (5xx) to have the connector stop the pipeline when these errors occur.
Last updated
Was this helpful?