Skip to main content

Notifications

Microsoft Dynamics CRM (Archived)

Create Account in Dynamics 365 via C#

Posted on by Microsoft Employee

Hi all,

Recently we got our CRM online instance upgraded to Dynamics 365. Now my .net code which was working in creating New Account is no longer working and throwing below error;

Error while connecting to CRM The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.

 


My code below;

public static void ConnectToMSCRM(string UserName, string Password, string SoapOrgServiceUri)
        {
            try
            {
                ClientCredentials credentials = new ClientCredentials();
                credentials.UserName.UserName = UserName;
                credentials.UserName.Password = Password;
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                Uri serviceUri = new Uri(SoapOrgServiceUri);
                OrganizationServiceProxy proxy = new OrganizationServiceProxy(serviceUri, null, credentials, null);
                proxy.EnableProxyTypes();
                _service = (IOrganizationService)proxy;

                Entity account = new Entity("account");

                // Set the required attributes. For account, only the name is required.
                // See the metadata to determine
                // which attributes must be set for each entity.
                account["name"] = "Dummy_Account_Test1";

                // Create an account record named Fourth Coffee.
                System.Guid _accountId = _service.Create(account);

            }
            catch (Exception ex)
            {
                Console.WriteLine("Error while connecting to CRM " + ex.Message);
                Console.ReadKey();
            }

Any ideas?

Thanks,

Prajwal Shambhu

*This post is locked for comments

  • HarryZang Profile Picture
    HarryZang 240 on at
    RE: Create Account in Dynamics 365 via C#

    try executes an whoami request in the code, debug the response see if it also throw errors,

    ((WhoAmIResponse)_service.Execute(new WhoAmIRequest()))

    If that one is still not working, I am guessing it is pontentially caused by that tls1.2 code.

    If you are using .net Framework 4.6 or later, please remove this line (it is not necessary), and also please use the latest Dynamics 365 SDK dlls.(V9.0.X.X)

  • Suggested answer
    SCV Profile Picture
    SCV 1,004 on at
    RE: Create Account in Dynamics 365 via C#

    The way you connect to the latest version of Dynamics 365 is different. Try following method. I have included the connection string in the C# class itself for easy understanding. You can put it in your app.config file.

     

    private static IOrganizationService service;
    
    private static string connectionString = "Url=d365trialstest.crm6.dynamics.com; Username=yourusername@d365trialsTest.onmicrosoft.com; Password=yourpassword; authtype=Office365";
    
    static void Main(string[] args)
    
           {
    
               CrmServiceClient conn = new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString);
    
               service = (IOrganizationService)conn.OrganizationWebProxyClient != null ? (IOrganizationService)conn.OrganizationWebProxyClient : (IOrganizationService)conn.OrganizationServiceProxy;
    
         //if you have early bound classes
    
               XrmServiceContext serviceContext = new XrmServiceContext(service);
    
               conn.Dispose();
    
           }

  • MS CRM DYNAMICS Profile Picture
    MS CRM DYNAMICS 580 on at
    RE: Create Account in Dynamics 365 via C#

    Hi Prajwal,

    Please follow below steps to connect online Dynamics365 , Here I dint used appconfig

    5466.Capture.PNG

    Thank you & Best regards,

    Bhabani

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Create Account in Dynamics 365 via C#

    Hi Goutam,

    I have made sure the organization accessing is up and running without any issue. Also, can you send me your console app solution file, maybe i have old .net framework dlls referenced, to make sure i can test from your console app if you have it.

    Thanks,

    Prajwal

  • Suggested answer
    gdas Profile Picture
    gdas 50,085 on at
    RE: Create Account in Dynamics 365 via C#

    Hi Prajwal,

    I am not sure may the issue is coming from your sandbox environment , can you please check your Organization is up and running.

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Create Account in Dynamics 365 via C#

    Hi Goutam,

    Really what is wrong, with updated settings, error still persists.

    Microsoft.Xrm.Tooling.Connector.CrmServiceClient Error: 2 : Source      : mscorlib

    Method  : HandleReturnMessage

    Date    : 3/19/2018

    Time    : 12:16:50 AM

    Error   : The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.

    Stack Trace     : Server stack trace:

      at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)

      at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)

      at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)

      at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)

      at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

    Exception rethrown at [0]:

      at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)

      at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

      at Microsoft.Xrm.Sdk.IOrganizationService.Execute(OrganizationRequest request)

      at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.ExecuteCore(OrganizationRequest request)

      at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.Execute(OrganizationRequest request)

      at Microsoft.Xrm.Tooling.Connector.CrmWebSvc.InitCRM2011Service()

    ======================================================================================================================

    Microsoft.Xrm.Tooling.Connector.CrmServiceClient Error: 2 : Unable to Login to Dynamics CRM

    Microsoft.Xrm.Tooling.Connector.CrmServiceClient Error: 2 : OrganizationWebProxyClient is null

    Microsoft.Xrm.Tooling.Connector.CrmServiceClient Error: 2 : OrganizationServiceProxy is null

    My App config values are ;

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>

     <connectionStrings>  

      <add name="Server=CRM Online, organization=Inobits_Sandbox, user=amy@k2.ae" connectionString="Url=inobitsme.crm4.dynamics.com; Username=amy@k2.ae; Password=********; authtype=Office365" />

     </connectionStrings>

     <startup>

       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />

     </startup>

     <system.diagnostics>

       <trace autoflush="true" />

       <sources>

         <source name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" switchName="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" switchType="System.Diagnostics.SourceSwitch">

           <listeners>

             <add name="console" type="System.Diagnostics.ConsoleTraceListener" />

             <add name="fileListener" />

           </listeners>

         </source>

         <source name="Microsoft.Xrm.Tooling.CrmConnectControl" switchName="Microsoft.Xrm.Tooling.CrmConnectControl" switchType="System.Diagnostics.SourceSwitch">

           <listeners>

             <add name="console" type="System.Diagnostics.ConsoleTraceListener" />

             <add name="fileListener" />

           </listeners>

         </source>

         <source name="CrmSvcUtil" switchName="CrmSvcUtil" switchType="System.Diagnostics.SourceSwitch">

           <listeners>

             <add name="console" type="System.Diagnostics.ConsoleTraceListener" />

             <add name="fileListener" />

           </listeners>

         </source>

       </sources>

       <switches>

         <!--Possible values for switches: Off, Error, Warning, Information, Verbose

    Verbose:      includes Error, Warning, Info, Trace levels

    Information:  includes Error, Warning, Info levels

    Warning:      includes Error, Warning levels

    Error:        includes Error level-->

         <add name="Microsoft.Xrm.Tooling.CrmConnectControl" value="Off" />

         <add name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" value="Error" />

         <add name="CrmSvcUtil" value="Off" />

       </switches>

       <sharedListeners>

         <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="CrmSvcUtil.log" />

       </sharedListeners>

     </system.diagnostics>

     <runtime>

       <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.Xrm.Sdk" publicKeyToken="31bf3856ad364e35" culture="neutral" />

           <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.Xrm.Sdk.Deployment" publicKeyToken="31bf3856ad364e35" culture="neutral" />

           <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="9.0.0.0" />

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.ServiceBus" publicKeyToken="31bf3856ad364e35" culture="neutral" />

           <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0" />

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.Crm.Sdk.Proxy" publicKeyToken="31bf3856ad364e35" culture="neutral" />

           <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />

           <bindingRedirect oldVersion="0.0.0.0-3.19.2.6005" newVersion="3.19.2.6005" />

         </dependentAssembly>

       </assemblyBinding>

     </runtime>

    </configuration>

  • Suggested answer
    gdas Profile Picture
    gdas 50,085 on at
    RE: Create Account in Dynamics 365 via C#

    Hi Prajwal,

    I have some doubt here in below line.You need to put in url = dynamics 365 url .

    <add name="Server=CRM Online, organization=Inobits_Sandbox, user=amy" connectionString="Url=disco.crm4.dynamics.com; Username=amy@domain.ae; Password=*******; authtype=Office365"/>

    Please validate with  below -

    <add name="Server=CRM Online, organization=mybloghome, user=goutam" connectionString="Url=mybloghome.crm8.dynamics.com; Username=myblog@mybloghome.onmicrosoft.com; Password=XXXXXX; authtype=Office365"/

    Hope this helps.

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Create Account in Dynamics 365 via C#

    Hi Goutam,

    Thanks a lot for your help!

    But error still persists. I wanted to clarify few things here with respect to App config settings;

    ---------------------------------------------------------------------------------------------

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>

     <connectionStrings>  

      <add name="Server=CRM Online, organization=Inobits_Sandbox, user=amy" connectionString="Url=disco.crm4.dynamics.com; Username=amy@domain.ae; Password=*******; authtype=Office365"/>

     </connectionStrings>

     <startup>

       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>

     </startup>

     <system.diagnostics>

       <trace autoflush="true"/>

       <sources>

         <source name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" switchName="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" switchType="System.Diagnostics.SourceSwitch">

           <listeners>

             <add name="console" type="System.Diagnostics.ConsoleTraceListener"/>

             <add name="fileListener"/>

           </listeners>

         </source>

         <source name="Microsoft.Xrm.Tooling.CrmConnectControl" switchName="Microsoft.Xrm.Tooling.CrmConnectControl" switchType="System.Diagnostics.SourceSwitch">

           <listeners>

             <add name="console" type="System.Diagnostics.ConsoleTraceListener"/>

             <add name="fileListener"/>

           </listeners>

         </source>

         <source name="CrmSvcUtil" switchName="CrmSvcUtil" switchType="System.Diagnostics.SourceSwitch">

           <listeners>

             <add name="console" type="System.Diagnostics.ConsoleTraceListener"/>

             <add name="fileListener"/>

           </listeners>

         </source>

       </sources>

       <switches>

         <!--Possible values for switches: Off, Error, Warning, Information, Verbose

    Verbose:      includes Error, Warning, Info, Trace levels

    Information:  includes Error, Warning, Info levels

    Warning:      includes Error, Warning levels

    Error:        includes Error level-->

         <add name="Microsoft.Xrm.Tooling.CrmConnectControl" value="Off"/>

         <add name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" value="Error"/>

         <add name="CrmSvcUtil" value="Off"/>

       </switches>

       <sharedListeners>

         <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="CrmSvcUtil.log"/>

       </sharedListeners>

     </system.diagnostics>

     <runtime>

       <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.Xrm.Sdk" publicKeyToken="31bf3856ad364e35" culture="neutral"/>

           <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/>

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.Xrm.Sdk.Deployment" publicKeyToken="31bf3856ad364e35" culture="neutral"/>

           <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="9.0.0.0"/>

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.ServiceBus" publicKeyToken="31bf3856ad364e35" culture="neutral"/>

           <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0"/>

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.Crm.Sdk.Proxy" publicKeyToken="31bf3856ad364e35" culture="neutral"/>

           <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/>

         </dependentAssembly>

         <dependentAssembly>

           <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral"/>

           <bindingRedirect oldVersion="0.0.0.0-3.19.2.6005" newVersion="3.19.2.6005"/>

         </dependentAssembly>

       </assemblyBinding>

     </runtime>

    </configuration>

    ----------------------------------------------------------------------------------------

    Please let me know if my settings on app config is correct or do i need to tweak it.

    Thanks,

    Praj

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Create Account in Dynamics 365 via C#

    Hi Aric,

    We are on Dynamics 365 and using SDK v9.

    Thanks,

  • Suggested answer
    gdas Profile Picture
    gdas 50,085 on at
    RE: Create Account in Dynamics 365 via C#

    Hi Prajwal,

    Here is my code , its working fine for me -

    Please make sure  you have  following SDK dll version
    Microsoft.Xrm.Sdk – 9.0.0.0
    Microsoft.Crm.Sdk.Proxy – 9.0.0.0

    ======================

    Program.cs

    =====================

    using Microsoft.Xrm.Sdk;
    using Microsoft.Xrm.Sdk.Client;
    using Microsoft.Xrm.Tooling.Connector;
    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Net;
    
    namespace OnlineLogin
    {
        class OnlineLoginSamples
        {
            private static IOrganizationService _orgService;      
            static void Main(string[] args)
            {
                //Get CRM Configuration Details 
                String connectionString = GetServiceConfiguration();
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                CrmServiceClient conn = new CrmServiceClient(connectionString);
                // Cast the proxy client to the IOrganizationService interface.
                _orgService = (IOrganizationService)conn.OrganizationWebProxyClient != null ? (IOrganizationService)conn.OrganizationWebProxyClient : (IOrganizationService)conn.OrganizationServiceProxy;
                Entity account = new Entity("account");
                account["name"] = "Dummy_Account_Test1";
                System.Guid _accountId = _orgService.Create(account);
            }
            private static String GetServiceConfiguration()
            {
                // Get available connection strings from app.config.
                int count = ConfigurationManager.ConnectionStrings.Count;
    
                // Create a filter list of connection strings so that we have a list of valid
                // connection strings for Microsoft Dynamics CRM only.
                List<KeyValuePair<String, String>> filteredConnectionStrings =
                    new List<KeyValuePair<String, String>>();
                for (int a = 0; a < count; a++)
                {
                    if (isValidConnectionString(ConfigurationManager.ConnectionStrings[a].ConnectionString))
                        filteredConnectionStrings.Add
                            (new KeyValuePair<string, string>
                                (ConfigurationManager.ConnectionStrings[a].Name,
                                ConfigurationManager.ConnectionStrings[a].ConnectionString));
                }
    
                // No valid connections strings found. Write out and error message.
                if (filteredConnectionStrings.Count == 0)
                {
                    Console.WriteLine("An app.config file containing at least one valid Microsoft Dynamics CRM " +
                        "connection string configuration must exist in the run-time folder.");
                    Console.WriteLine("\nThere are several commented out example connection strings in " +
                        "the provided app.config file. Uncomment one of them and modify the string according " +
                        "to your Microsoft Dynamics CRM installation. Then re-run the sample.");
                    return null;
                }
    
                // If one valid connection string is found, use that.
                if (filteredConnectionStrings.Count == 1)
                {
                    return filteredConnectionStrings[0].Value;
                }
    
                // If more than one valid connection string is found, let the user decide which to use.
                if (filteredConnectionStrings.Count > 1)
                {
                    Console.WriteLine("The following connections are available:");
                    Console.WriteLine("------------------------------------------------");
    
                    for (int i = 0; i < filteredConnectionStrings.Count; i++)
                    {
                        Console.Write("\n({0}) {1}\t",
                        i + 1, filteredConnectionStrings[i].Key);
                    }
    
                    Console.WriteLine();
    
                    Console.Write("\nType the number of the connection to use (1-{0}) [{0}] : ",
                        filteredConnectionStrings.Count);
                    String input = Console.ReadLine();
                    int configNumber;
                    if (input == String.Empty) input = filteredConnectionStrings.Count.ToString();
                    if (!Int32.TryParse(input, out configNumber) || configNumber > count ||
                        configNumber == 0)
                    {
                        Console.WriteLine("Option not valid.");
                        return null;
                    }
    
                    return filteredConnectionStrings[configNumber - 1].Value;
    
                }
                return null;
    
            }
    
            /// <summary>
            /// Verifies if a connection string is valid for Microsoft Dynamics CRM.
            /// </summary>
            /// <returns>True for a valid string, otherwise False.</returns>
            private static Boolean isValidConnectionString(String connectionString)
            {
                // At a minimum, a connection string must contain one of these arguments.
                if (connectionString.Contains("Url=") ||
                    connectionString.Contains("Server=") ||
                    connectionString.Contains("ServiceUri="))
                    return true;
    
                return false;
            }
        }
    }
    


    =========================

    App.Config

    =========================

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <connectionStrings>   
       <add name="Server=CRM Online, organization=XXXXXX, user=goutam" connectionString="Url=xxxxxx.crm8.dynamics.com; Username=XXXXXXX@XXXXXX.onmicrosoft.com; Password=XXXXXX; authtype=Office365"/>
      </connectionStrings>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
      </startup>
      <system.diagnostics>
        <trace autoflush="true"/>
        <sources>
          <source name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" switchName="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" switchType="System.Diagnostics.SourceSwitch">
            <listeners>
              <add name="console" type="System.Diagnostics.ConsoleTraceListener"/>
              <add name="fileListener"/>
            </listeners>
          </source>
          <source name="Microsoft.Xrm.Tooling.CrmConnectControl" switchName="Microsoft.Xrm.Tooling.CrmConnectControl" switchType="System.Diagnostics.SourceSwitch">
            <listeners>
              <add name="console" type="System.Diagnostics.ConsoleTraceListener"/>
              <add name="fileListener"/>
            </listeners>
          </source>
          <source name="CrmSvcUtil" switchName="CrmSvcUtil" switchType="System.Diagnostics.SourceSwitch">
            <listeners>
              <add name="console" type="System.Diagnostics.ConsoleTraceListener"/>
              <add name="fileListener"/>
            </listeners>
          </source>
        </sources>
        <switches>
    
          <!--Possible values for switches: Off, Error, Warning, Information, Verbose
    						Verbose:      includes Error, Warning, Info, Trace levels
    						Information:  includes Error, Warning, Info levels
    						Warning:      includes Error, Warning levels
    						Error:        includes Error level-->
    
          <add name="Microsoft.Xrm.Tooling.CrmConnectControl" value="Off"/>
          <add name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" value="Error"/>
          <add name="CrmSvcUtil" value="Off"/>
        </switches>
    
        <sharedListeners>
          <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="CrmSvcUtil.log"/>
        </sharedListeners>
    
      </system.diagnostics>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Xrm.Sdk" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Xrm.Sdk.Deployment" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="8.0.0.0"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.ServiceBus" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Crm.Sdk.Proxy" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-3.19.2.6005" newVersion="3.19.2.6005"/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    


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

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,253 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,188 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans