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

Announcements

No record found.

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,323
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,029 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
    586 Super User 2026 Season 1 on at
    Hello,
     
     
    Best regards,
  • CU05031448-0 Profile Picture
    1,323 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,160 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,029 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,323 on at
    Hi all,  is my assumption is correct?
  • Verified answer
    Martin Dráb Profile Picture
    239,029 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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

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

#1
Giorgio Bonacorsi Profile Picture

Giorgio Bonacorsi 617

#2
André Arnaud de Calavon Profile Picture

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

#3
Syed Haris Shah Profile Picture

Syed Haris Shah 298 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans