cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
great1
Frequent Visitor

Custom Connector for Xero - What am I missing?

Hello ladies and gents,

 

Recently (about 1 month ago), Xero  released Oauth 2 functionality to their API (previously only offering Oauth 1). Excellent! But I'm running into quite a frustrating problem regarding security and authentication when setting up a custom connector for flow. I feel like I am so close to the finishing line, but there is something in the way.

 

The application URL (required within Xero developer portal) i have stated as the address of the custom connector. Not sure how correct this is, but hey!

 

I have tried to create the custom connector within Flow (from emea.flow.microsoft.com).

 

The host address is: api.xero.com

The Base URL is: /api.xro/2.0/

 

In the security tab (tab 2) I have ensured that the redirect URI is consistent between the app settings stored in the Xero developer portal and within the security tab. It is the automatically generated URI https://global.consent.azure-apim.net/redirect which I beleive all connectors use (I may be wrong - but I cannot change this anyway as it is greyed out).

 

I am using the 'Generic Oauth 2' identity provider as there is not a Xero specific one or any other that seems sensible. 

 

Client ID and Client Secret are correct. 

 

The Authorisation URL is: https://login.xero.com/identity/connect/authorize?response_type=code&client_id=XXXXXX&state=XXXXX

 

The token URL: https://identity.xero.com/connect/token

The refresh URL: https://identity.xero.com/connect/token

 

I think the issue is when trying to establish a connection between flow and xero. On the test tab (number 4), I click on 'new connection' which opens up a small window which goes to this website (I've hashed out potentially sensitive information):

 

https://login.xero.com/identity/user/consent?returnUrl=%2Fidentity%2Fconnect%2Fauthorize%2Fcallback%...

 

presenting the familiar '<MyAppName> wants access to: user account information' and a button to 'allow access'. This screen is branded up from Xero and looks like the kind of thing you would normally expect when connecting 2 services.

 

Upon allowing access, another screen is presented at the following address:

https://authorize.xero.com/?consentId=######&returnUrl=https%3A%2F%2Flogin.xero.com%2Fidentity%2Fide...

 

The wording on screen is '<MyAppName> wants access to: organisation data'.....again nothing wrong here, it just wants to confirm more of the in-scope areas.

 

 

 All appears to be good here. Upon clicking 'continue' however, i get a message within the small window stating:

 

{"Message":"The request is invalid.","ModelState":{"consentInfo":["No consent server information was associated with this request."]}}

From this address:

https://global.consent.azure-apim.net/redirect?code=XXXXXXXXXXX&scope=accounting.transactions.read%2...XXXXXXXX

 

Meanwhile, in the background on the Test tab, the 'new connection' button is still spinning, as if it is waiting for something to happen. I wait for approximately 10 minutes and the small window closes by itself, the spinning connection icon stops spinning and the process stops there.

 

I suspect that there is something preventing Flow to accept or receive the tokens that Xero has generated and it therefore times out and the connection cannot be made.

 

finding information for a similar scenario online has proven very difficult. most examples online are where an API key is simply passed in, but Xero does not work like that.

 

i have read in some other places that you may need to use Azure to create an app to store the API and then use Azure Active Directory as the identity provider...but this was too technical for me. 

 

Any help would be very much appreciated. 

 

Perhaps now that Oauth 2 is available, a proper connector can be created by Xero. No need to make it a 'premium' connector!!! We are already paying good money for the Xero software as it is!

 

Kind regards

 

L

 

 

 

 

5 REPLIES 5
Community Support
Community Support

Re: Custom Connector for Xero - What am I missing?

Hi @great1,

 

There are some questions about Xero be frequently asked, maybe you can find some information you missed: authentication/three-legged

Maybe use Azure to create an app to store the API is a little difficult to you, you could have a try, this is a document that how to create it:

https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-porta...

Best Regards,
Community Support Team _ Lin Tu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Highlighted
great1
Frequent Visitor

Re: Custom Connector for Xero - What am I missing?

Thanks @v-litu-msft  for your message unfortunately I still cannot relate what was described in the guidance you provided to the issues I am having with the xero api.

Can you please provide more guidance

Thanks !

Dual Super User
Dual Super User

Re: Custom Connector for Xero - What am I missing?

Hi @great1 

 

The issue here is the connection is not created because the authentication is not performed properly. Can you try to create a request using postman? If that succeeds, I would recommend you to export the Postman collection in JSON as v1 and then import this as a new custom connector. 
 
If you think, Xero should be added as a connector, you can raise an idea or upvote if exists already on: https://powerusers.microsoft.com/t5/Flow-Ideas/idb-p/FlowIdeas
 
Hope this Helps!
 
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!
great1
Frequent Visitor

Re: Custom Connector for Xero - What am I missing?

hello @yashag2255 

 

yes - i have successfully created the connection in postman using the following collection:

 

https://github.com/XeroAPI/xero-postman-oauth2

 

i can call the api perfectly within postman using this. i did export the v1 collection from postman and imported into the custom connector page of ms flow, but it still cannot authenticate.

 

if i send you the collection, would you be able to see where i am going wrong please?

 

i feel like i am so close to getting this to work!

 

many thanks for your continued assistance.

 

great1

frnct
New Member

Re: Custom Connector for Xero - What am I missing?

@great1 did you manage to find a solution for this in the end?

 

I am currently experiencing the same issue when trying to Authorize the custom connector with Xero.

 

Thanks

Helpful resources

Announcements
firstImage

New Ranks and Rank Icons released on April 21!

The time has come: We are finally able to share more details on the brand-new ranks coming to the Power Automate Community!

firstImage

Now Live: Power Virtual Agents Community!

We are excited to announce the launch of Power Virtual Agents Community. Check it out now!

firstImage

New & Improved Power Automate Community Cookbook

We've updated and improved the layout and uploading format of the Power Automate Cookbook!

thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Community Summit North America

The top training and networking event across the globe for Microsoft Business Applications

Top Solution Authors
Users online (7,720)