Salesforce Summer’23 – API v21-30 retirement (Summer’25!) – Integration problem with Microsoft Power BI

For Summer’23 release upgrade, Salesforce have originally announced that they will stop supporting API (Soap, REST, Bulk) version from version 21.0 to 30.0.

Salesforce Platform API Versions 21.0 through 30.0 Retirement

Release Update announced for Summer’23

For information, as you can see in recent Summer’23 related communications, these versions will be retired but will continue to run technically until Salesforce Summer’25 release !

That extra-time gives every Salesforce teams 2 years to update all API usages to newest API versions, and concomitantly ensure in the meantime that the « oldest » API are not used anymore by applications or tools connected to Salesforce (to push data to Salesforce, or get data from Salesforce), in your clients IT landscapes (ETL/ESB, data visualization tools, Salesforce custom API requests from client websites or mobile applications…).

To prepare for the API retirement, for our clients, we may organize technical discovery sessions with application owner (of all the applications connected to Salesforce) to discover which API version is used by these applications / these usages… but you will need to investigate technically as well through all the applications connected to Salesforce.

To get all these usages, you may use a VS Code extension like SFDX-Hardis (and especially Detect Legacy API use function)

Extract of Apex version legacy usages – retrieves with Hardis SFDX extension

I wanted to highlight a special usage I identified about a very well-known (and used) data visualization application : Microsoft Power BI.

Microsoft Power BI connection to Salesforce uses default v29.0 version, when the vesion is not explicitly configured in the report source.

A PowerBI configuration file, without mention of Salesforce API Apex version

To be able to make PowerBI use the desired Salesforce APEX API version, Data or Business consultants have to mention the API version to use, directly in the connexion configuration (Salesforce Login URL could be replaced by the domain name URL of the concerned Salesforce instance)

Source = Salesforce.Data("", [ApiVersion=57.0])

Just be cautious about :

  • Always work with the version of your production environment

In Salesforce release preview periods, you may have preview sandboxes on version N+1, although your production and non-preview sandboxes are in version N. It would generate errors if a configured API connection, based on the sandboxes you are testing the reports with, are deployed in order to connect with the production instance. Always leverage on the API version of the production instance.

To read more about 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *