Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
b595cd7
Add API Catalog pilot doc temporarily for a doc beta site never to be…
bjoson-mulesoft Sep 17, 2024
054fefd
Added anchor for internal link
bjoson-mulesoft Sep 20, 2024
1e2be8d
Fixed a placeholder link and formatting
bjoson-mulesoft Sep 20, 2024
ebfde20
Fixed list item
bjoson-mulesoft Sep 20, 2024
c7a4dae
Removed extra border from the image
bjoson-mulesoft Sep 20, 2024
ef2bee0
Elaborated on setting user permissions in SF
bjoson-mulesoft Sep 23, 2024
06363d7
Removed the extra populate procedure as there is no auto sync
bjoson-mulesoft Sep 23, 2024
3fdf295
Fixed wording to make connection requirement more clear
bjoson-mulesoft Sep 23, 2024
8584c65
Put xrefs inline and removed the line about permission as it should b…
bjoson-mulesoft Sep 23, 2024
8202d88
Edit
bjoson-mulesoft Sep 23, 2024
65ed0da
Edit to make text present tense and active
bjoson-mulesoft Sep 23, 2024
fa6eea1
Added text for anchor link
bjoson-mulesoft Sep 23, 2024
e452101
Added info about what APIs are brought in by the sync
bjoson-mulesoft Sep 23, 2024
2acf334
Added a note about the time it takes to sync
bjoson-mulesoft Sep 23, 2024
322841f
Edit
bjoson-mulesoft Sep 23, 2024
3e25407
Improved wording and scanability
bjoson-mulesoft Sep 23, 2024
c359a55
Minor cosmetic changes to formatting
bjoson-mulesoft Sep 23, 2024
7cd6381
Fixed wording for standards
bjoson-mulesoft Sep 24, 2024
314edd1
Removed unnecessary link
bjoson-mulesoft Sep 24, 2024
44322ea
Minor edit for clarity
bjoson-mulesoft Sep 25, 2024
d69e181
Minor changes for standards
bjoson-mulesoft Sep 25, 2024
fb1f729
Changed the C2C link to point directly to the connecting topic
bjoson-mulesoft Sep 25, 2024
d582164
Wording update for parallelism
bjoson-mulesoft Sep 25, 2024
2927458
Reworded
bjoson-mulesoft Sep 27, 2024
476f5bd
More rewording for the example flow
bjoson-mulesoft Sep 27, 2024
bb8122c
Edit
bjoson-mulesoft Sep 27, 2024
d11b142
Added Consumer Endpoint
bjoson-mulesoft Sep 27, 2024
b7e2b8d
Added more about the consumer endpoint and linked to doc for it
bjoson-mulesoft Sep 27, 2024
1dccfe9
Edit
bjoson-mulesoft Sep 27, 2024
2629577
Updated consumer endpoint info in the sync procedure
bjoson-mulesoft Sep 27, 2024
850ee73
Specified for each instance
bjoson-mulesoft Sep 27, 2024
a39eca4
Edit
bjoson-mulesoft Sep 27, 2024
edca8e7
Added more overview info in a super task and cleaned up the user perm…
bjoson-mulesoft Sep 30, 2024
184a53b
Edit for std
bjoson-mulesoft Sep 30, 2024
233f16c
Removed unnecessary links
bjoson-mulesoft Sep 30, 2024
48c6fe4
Added in Salesforce for clarity
bjoson-mulesoft Sep 30, 2024
db2cb25
Added a diagram to illustrate the super tasks
bjoson-mulesoft Sep 30, 2024
772ece7
Moved view and search after sync now that I have a visual in Get Started
bjoson-mulesoft Oct 1, 2024
066e412
Improvements after validating with the latest
bjoson-mulesoft Oct 2, 2024
2b4a833
Tweaks to supertask graphic
bjoson-mulesoft Oct 2, 2024
94a728b
Fixed border on image
bjoson-mulesoft Oct 2, 2024
76b69de
More minor graphic tweaks
bjoson-mulesoft Oct 2, 2024
f3f7536
Added info on how to get the SF org tenant key
bjoson-mulesoft Oct 3, 2024
d954cd8
Edit for consistency with other MS doc for this temporary text
bjoson-mulesoft Oct 3, 2024
d194e2a
Fixed procedure
bjoson-mulesoft Oct 4, 2024
f48755d
Added API Version info
bjoson-mulesoft Oct 4, 2024
d49e3ee
Fixed text
bjoson-mulesoft Oct 4, 2024
8c5ef2a
Updated heading name
bjoson-mulesoft Oct 4, 2024
4ad0978
Formatting
bjoson-mulesoft Oct 4, 2024
d0baf25
Updated the prereqs to remove impl url and move dest url info to cons…
bjoson-mulesoft Oct 28, 2024
cb6b529
Updated the sync task results
bjoson-mulesoft Oct 28, 2024
0eb0dd4
Fixed a wrong word and made text active
bjoson-mulesoft Nov 4, 2024
96863ee
More wording fixes
bjoson-mulesoft Nov 4, 2024
5eab04c
Changed intro to match the list again
bjoson-mulesoft Nov 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.xref:index.adoc[Anypoint Platform]
* xref:index.adoc[Documentation]
* xref:api-catalog-in-salesforce.adoc[]
* xref:api-led-overview.adoc[Build an API from Start to Finish]
** xref:api-led-prerequisites.adoc[Step 1. Prerequisites]
** xref:api-led-design.adoc[Step 2. Design an API Specification]
Expand Down
200 changes: 200 additions & 0 deletions modules/ROOT/pages/api-catalog-in-salesforce.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
= API Catalog in Salesforce

From Anypoint Exchange to Service Mesh and API Governance, MuleSoft helps API-producing teams create well-documented, governed, and secure APIs. Integrations between MuleSoft Anypoint Platform and Salesforce enable you to access and bring MuleSoft APIs into Salesforce.

API Catalog in Salesforce provides a single place for you to view your MuleSoft APIs in Salesforce and improves connection management by simplifying and automating some of the steps to create secure connections to MuleSoft API instances. With API Catalog in Salesforce you can:

* Import managed MuleSoft APIs into Salesforce.
* View a catalog of MuleSoft APIs available for use in Salesforce.
* Sync to get the latest changes and updates.
* Activate operations from Anypoint APIs as Salesforce invocable actions.

Consider a scenario where you want to connect Salesforce to a credit service API that has an API that's managed in Anypoint Platform. The credit service retrieves the customer's credit score, determines whether the customer qualifies for the credit service, and provides the payment terms. You want to extend the credit service to a Salesforce account so that you can view the payment terms in Salesforce.

You can bring the credit service API into API Catalog in Salesforce, select operations and activate them as actions, and then use them in Flow Builder automations.

[[before-you-begin]]
== Before You Begin

Work with an Anypoint Platform admin to ensure that they complete all prerequisite configuration in the Anypoint Platform organization so that you can sync APIs. The prerequisites to using API Catalog in Salesforce are:

* A valid MuleSoft Anypoint Platform account. See xref:access-management::managing-your-account.adoc[].
* API specs in MuleSoft Anypoint API Exchange that you want to import into API Catalog. See xref:exchange::index.adoc[].
* A tag of `sf-api-catalog` in Anypoint Exchange on each API you want to import. See xref:exchange::to-describe-an-asset.adoc#add-and-remove-asset-tags[Add and Remove Asset Tags].
* Instances of your APIs in API Manager with either
no SLA tiers or at least one auto-approval SLA tier.
See xref:api-manager::add-api-instances.adoc[].
* A consumer endpoint for each instance with an HTTPS URL that specifies a proxy application's address for consumers to use for sending requests. Consumer URLs appear as destination URLs in API Catalog.
To configure a consumer endpoint for Mule Gateway API instances, see xref:api-manager::create-instance-task-mule.adoc[].
* An Anypoint Platform and Salesforce org connection established and the API Catalog feature enabled in Anypoint Platform Access Management. See xref:access-management::connecting-salesforce-orgs.adoc[].
+
TIP: Salesforce admins get the connection information the Anypoint Platform admin needs, such as the Salesforce tenant key of the Salesforce org, and enable MuleSoft features in their Salesforce org Setup in *MuleSoft > Anypoint Platform Setup*.

[[get-started-with-apicat]]
== Get Started with API Catalog in Salesforce

// graphic from a slide that shows the overall task steps

image::api-catalog-supertask.png[High level steps of using API Catalog in Salesforce]

. xref:access-management::connecting-salesforce-orgs.adoc[Work with Anypoint Platform admins to establish a trusted connection] between Anypoint Platform and Salesforce and enable the API Catalog feature in Access Management.
. <<sync-api-catalog, Sync eligible APIs>> into API Catalog in Salesforce.
. <<view-and-search-apis, View and search APIs>> in the catalog for easier discovery.
. <<activate-actions, Activate actions for specific API operations>>, which autogenerates secure connection configurations for each action.
. <<enable-user-permissions, Assign user permissions>> for each connection's permission set to ensure that Salesforce users have the correct access.
. <<get-started-with-flows, Start using the actions>> in a Flow Builder flow.

[[sync-api-catalog]]
== Sync API Catalog

Sync API Catalog to initially populate the catalog with MuleSoft APIs and when you have new or updated APIs that you want to bring into the catalog. This retrieves the latest information from Anypoint Platform.

To sync API Catalog:

. Work with an Anypoint Platform admin to ensure that all <<before-you-begin, prerequisite configuration>> is done in the Anypoint Platform organization from which you want to sync APIs.
. In Salesforce, from Setup, in the Quick Find box, enter API Catalog and select it.
. Click *Sync APIs*.
+
The sync imports APIs into API Catalog that have:
+
* A tag of `sf-api-catalog` in Anypoint Exchange
* Instances in API Manager with either no SLA tiers or at least one auto-approval SLA tier
* A consumer endpoint with an HTTPS URL

NOTE: The sync might take several minutes to complete. You can navigate away from the API Catalog page and the sync continues in the background.

== Refresh API Catalog

Refresh when you navigate away from the API Catalog page and aren't sure you have the latest information from your most recent sync. This retrieves the latest information from the Salesforce database.

To refresh the API Catalog page with the latest synced API information:

. From Setup, in the Quick Find box, enter API Catalog and select it.
. Click the refresh icon.

[[view-and-search-apis]]
== View and Search APIs in API Catalog

After you populate API Catalog, you can view and search the list to find APIs you want to use in Salesforce.

image::api-catalog-in-sf.png[API Catalog in Salesforce with a list of APIs]

[[activate-actions]]
== Activate Actions

When you select an API in your API Catalog API list, you can activate actions for API operations to use in your automations, such as those in Flow Builder. The activate actions process begins the create connection process that automatically generates the authentication configuration objects for the APIs.

You can activate actions only for the latest API version. If earlier versions already have activated actions, you can view their operations selections and connections. See <<view-api-version-info>>.

To activate actions:

. From Setup, in the Quick Find box, enter API Catalog and select it.
+
If you have an active connection to an Anypoint Platform organization, API Catalog shows the list of APIs imported from Anypoint Exchange. If you don't see any APIs, see <<sync-api-catalog>>.
. Select the API you want to activate actions for.
+
.. View resource names for operations that are generated from the automatically-imported API schema.
.. Expand the rows to view operation names and descriptions.
+
. Click *Activate Actions*.
. Select operations to activate as actions and then click *Next*.
. In the Create Connection page, create a connection to authorize the use of activated actions in Salesforce for a destination URL.
+
The connection name defaults to the API name and version.
+
.. Overtype the name to customize it.
.. Enter a description.
+
. Select a destination URL to use as the managed named credential for this connection to Salesforce. API Catalog lists only active destination URLs, which are managed in Anypoint API Manager.
. Click *Done*.
+
The Create Connection process creates the required objects in Salesforce automatically, including:
+
* External credentials
* Named credentials
* External Services
* Invocable Actions
* Permission Sets

The UI prompts you to allow access to actions and gives a link to the connection's permission set in Salesforce Setup.

[[enable-user-permissions]]
== Assign User Permissions for Connections

After you create the connection, give specific Salesforce users access to the activated actions so that they can use them in their Salesforce automations.

Click the permission sets link on a connection's details page to go to the permission set for that connection.

For details on assigning user permissions in permission sets for connections, see https://help.salesforce.com/s/articleView?id=sf.perm_sets_manage_assignments.htm&type=5[Manage Permission Set Assignments].

The actions are now available for those users to select and use in Flow Builder automations.

== Manage Activated Actions and Connections

To manage activated actions and connections, you can:

* View operation selections and connection information for all versions of your APIs that have them.
* Modify operation selections.
* Modify connection descriptions.
* Delete connections.

[[view-api-version-info]]
=== View Details for an API Version

API Catalog shows the versions of an API that meet the criteria for syncing with API Catalog. The UI shows information for the latest version by default.

To view Connections for an API version:

. From Setup, in the Quick Find box, enter API Catalog and select it.
. Select an API.
. Switch between versions in the *API Version* menu to see the operations and connections associated with that version.

=== Edit Operation Selections

To modify the operation selections for activated actions:

. From Setup, in the Quick Find box, enter API Catalog and select it.
. Select the API to modify the operation selections for.
. In the Connections tab, click *Edit*.
. Select or deselect operations.

=== Edit Connection Descriptions

To modify a connection description:

. From Setup, in the Quick Find box, enter API Catalog and select it.
. Select the API to modify the connection description for.
. In the Connections tab, click *Edit*.
. Click *Next* on the Operations page.
. Update the connection description.

NOTE: You can't change the connection name and destination URL because they're used to name and later identify auto-generated configurations.

[[get-started-with-flows]]
== Get Started Using MuleSoft APIs as Actions in Flows

After you sync your APIs in API Catalog and activate operations as actions, you can get started using them in a Flow Builder flow. An example is to create a flow for the scenario discussed at the beginning of this document, connecting Salesforce to a credit service API that has a managed API instance in Anypoint Platform.

The credit service retrieves the customer's credit score, determines whether the customer qualifies for the credit service, and provides the payment terms. You want to extend the credit service to a Salesforce account so that you can view the payment terms in Salesforce.

After you populate API Catalog in Salesforce, you can:

. <<view-and-search-apis, Find and select>> the credit service API‌ in API Catalog in Salesforce.
. <<activate-actions, Select the operations>> that you want to make available in Salesforce as invocable actions and create connections for them.
+
The create connection process automatically generates the credentials for invoking the API actions from within Salesforce automations.
. Enable the permission set created for the activated API's connection.

After you activate the invocable actions from API Catalog, you can use Flow Builder to use the actions in your automations.

. Create a flow using the new credit service API category in Flow Builder.
+
When the flow runs, the output contains the credit decision and, if applicable, payment terms.

== See Also

* xref:access-management::connecting-salesforce-orgs.adoc[] in the MuleSoft documentation
* https://help.salesforce.com/s/articleView?id=sf.perm_sets_manage_assignments.htm&type=5[Manage Permission Set Assignments]
* https://help.salesforce.com/s/articleView?id=sf.enhanced_external_services_example_create_flow_end_to_end.htm&type=5[End-to-end Example with Flow]
* https://help.salesforce.com/s/articleView?id=sf.flow_build.htm&type=5[Build a Flow]
* https://help.salesforce.com/s/articleView?id=sf.external_services_apex_registrations.htm&type=5[External Service Registrations in Apex]