Allow third party apps to plug into the Xero interface
If the Xero interface could be configured to display data from and interact with the apps third party developers are creating similar to the way Facebook applications work inside their platform
It is certainly a nice idea in a lot of ways, and Jesse’s use case example is good one.
On the other side, allowing 3rd party applications plug into the core Xero application present some quite major security implications. The data we hold on behalf of our customers is considered highly sensitive by us and we ensure we have bank level security across all aspects of our application.
Second to that, we are a design lead and focused company – we want our software to be really easy to use and remain simple and intuitive, so allowing 3rd parties to introduce interface elements into Xero would be something we would need to carefully plan for.
With this in mind, it would be quite an onerous task for us to implement a secure framework that would allow 3rd party applications to interface within Xero, in a sensible way that does not detract from the UI.
It could still be a worthwhile project though – I’d encourage those interested to keep voting for it and also to please leave a comment about your particular use case – this will help inform our decision making.
Ronan
-
Terry Hopper commented
I've worked with TradeShift Apps https://apps.tradeshift.com/ which do plug into their Interface. The apps are vetted and must comply with their design rules to keep UI consistent.
One use case would be sharing information with an invoice finance provider such as https://www.marketinvoice.com/.
• The user installs the funder's app.
• While viewing an invoice within Xero, the user clicks a button to factor the invoice (passing details to the funder).
• The funder validates the details and advances funds against the invoice. -
Andrew Coulton commented
Rather than a full embedded application integration, it might be enough just to let applications provide you with URLs to display as links within the interface. If there was the option to add the link to the navigation, particular pages (eg contact view) or specific transactions/contacts/etc (similar to an attachment, but a live web link) that might work.
You could use the same functionality to for example allow users to "attach" a live google document or similar to a contact/transaction rather than having to export it and attach as a static file.
For page-specific links, a really neat solution would allow the app to provide a parameterised URL - eg https://my.app/contact/{$XERO_CONTACT_ID} for use on all contact pages - rather than having to attach a customised link to each transaction.
That way you entirely control visual appearance and placement of the links within the apps, and there is no live third-party content embedded into your UI. The only data the third-party might get would be a referer header and perhaps an ID parameter if the user clicks a link, but if the links have to be created by API anyway this implies they already have much more detailed access to that user's data.
If you were concerned you could even make the API calls for adding and updating system-wide links require a specific separate oauth step, where you get to show the user exactly what's being added and get their explicit consent.
I'm currently looking at building an app to help with processing UK Gift Aid, and we could use an API like this to:
* provide a "source" URL when creating various journals that allow the user to link back directly back to the more detailed view on our system that explains the aggregate totals posted
* provide links on a contact's page to allow viewing/creating/amending their gift aid declaration details
* provide a button/link on each transaction to allow manually marking specific transactions as ineligible for Gift Aid -
Anonymous commented
My accountant needs a report that shows some accounting data (from xero) and some data from our system. I will have to create something in our system to display that.
Ideally, I'd like to add a new menu item in Xero under "Reports" so as he can see it in Xero as he spends most of his time working in Xero.
-
Matt Courtney commented
Similar to Jesse's use case I'd like to add a button to a the page that displays a customer record to launch a CRM application and pass some parameters to it that will load the customer's details
-
Jesse Reynolds commented
I was really hoping the API would let me do this already. Because Xero can't include a customer reference on generated invoices (eg for BPay) I plan on writing an app to add this to the invoices for each customer, generate the PDF's and email them. But I was hoping to add a button, or link, somewhere in the Xero web interface (in the create / approve invoice workflow) to trigger this.