web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Answered

OData action and Custom services in D365FO

(3) ShareShare
ReportReport
Posted on by 1,327
Hi team,
 
Recently I have posted about ODATA action method, and well understood about the methods. As well explained by Sohaib.
 
1. I would like to what are the difference between ODATA action method and Custom services? As both API we exposed with Third party application.
 
2.I like to know , is there any specific rule like when to choose OData action method and when to choose Custom services.
 
Kindly advise pls. Thanks!
Categories:
I have the same question (0)
  • Verified answer
    Martin Dráb Profile Picture
    239,660 Most Valuable Professional on at
    First of all, check the previous discussions. For example, this topic was discussed in Integration with Third Party .net Application.
     
    If you still have questions after reading previous discussion, ask the specific questions here.
  • Verified answer
    Aymen CHELBI Profile Picture
    620 Super User 2026 Season 1 on at
    Hello,
     
     
    Best regards,
  • CU05031448-0 Profile Picture
    1,327 on at
    Guys, I go through the link
     
    The difference I found...
     

    OData not supported SOAP.

    Custom service - Supported both SOAP and JSON.

    OData services are mostly used fot CRUD operations.

    Custom services are used when like to get  data back. Here we used contact and services classes and service group.

    OData and Custom services both are supported Synchronous integration. As both are return result immediately.

    Am I correct?

     

  • Verified answer
    Sagar121 Profile Picture
    1,187 Super User 2026 Season 1 on at
    In my opinion when you use Custom Services in D365 F&O, you’re in full control. You design your own classes /Logic. On the other hand, OData is about playing with entity. Odata gives you standard CRUD operations because it’s quick and easy to implement. Both approaches have their pros. OData is great for simple integration while Custom Services are perfect when you need more flexibility and complex business logic which may require more code.
     
    Again the final answer totally depends upon business requirements.
  • Martin Dráb Profile Picture
    239,660 Most Valuable Professional on at
    @Sagar121 You're to talking about OData CRUD operations, but the question is about OData actions, which are similar to custom services. As a custom service, an OData action too is written as an X++ method with imperative code.
  • CU05031448-0 Profile Picture
    1,327 on at
    Hi all,  is my assumption is correct?
  • Verified answer
    Martin Dráb Profile Picture
    239,660 Most Valuable Professional on at
    I don't have energy to discuss your statements in detail, but OK, I'll give you a brief response.
     
    OData not supported SOAP.
    This makes no sense. OData and SOAP are two distinct ways to create web services; you can't say that one support or doesn't support the other.
     
    Custom service - Supported both SOAP and JSON.
    The original sentence you're trying to rephrase was "Custom services have two endpoints: SOAP and JSON-based". You almost managed to understand it, but the JSON-based service endpoint isn't the same thing as JSON. JSON is just a data format.
     
    OData services are mostly used for CRUD operations.
    Yes, but that's not the case of OData actions. You can write any arbitrary code in the action.
     
    Custom services are used when like to get data back.
    That's incorrect. You can use both OData actions and custom services not just to get data back, but also to send data to F&O or to trigger an action. It was discussed in my last reply.

    OData and Custom services both are supported Synchronous integration. As both are return result immediately.
    Calling an endpoint is a synchronous action indeed. Just note that the call may come from an asynchronous process (e.g. scheduled flow) and start an asynchronous process (e.g. a batch).

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the April Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
Giorgio Bonacorsi Profile Picture

Giorgio Bonacorsi 676

#2
Abhilash Warrier Profile Picture

Abhilash Warrier 633 Super User 2026 Season 1

#3
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 624 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans