[SalesForce] Connected apps available via Metadata API

When developing apps for the AppExchange, we use a development workflow in which each developer has their own DE org, but commits to a common source code repository (git in this case). We then use a continuous integration tool (Bamboo) to pull code from the repo into a common org from which we declare the namespace and create the managed package (the "packaging org"). (See http://www.soliantconsulting.com/blog/2013/03/salesforcecomforcecom-team-development).

The problem I've encountered today is that I need to create a "Connected App" in my dev org, but it does not appear that I can "fetch" it out of my DE org using the Metadata API in order to add it to the repo and eventually to push it to the "packaging" org for inclusion in the managed package.

Is this workflow possible for Connected Apps? Or do I need to create the Connected App directly in the packaging org, in which case I would (a) not be able to save the Connected App metadata in the repo and (b) violate our rule that we do not do any development work in the packaging org itself.

Best Answer

It appears there is something special about the meta data for a Connected App.

I have one in my Dev org, but I can't add it to an unmanaged package. Connected App does not appear in unmanaged package

However, in a managed package the "Connected App" Component Type appears. Connected App appears in Managed Package

Based on the managed package component type select options I'd expect the Metadata component to be "ConnectedApplication2". Package Component Types

As you found, I can't see this metadata type using workbench against the same Org (API v28). Workbench for ConnectedApplication2

So, without the benefit of internal Salesforce knowledge, I'd conclude that you can't currently get the metadata for a Connected App outside of a managed package.

Related Topic