Forge’s EAP offers experimental features to selected users for testing and feedback purposes. These features are unsupported and not recommended for use in production environments. They are also subject to change without notice.
For more details, see Forge EAP, Preview, and GA.
The customerServiceManagement:crmImport module described in this guide is currently in EAP.
This guide provides a high-level overview of building a Forge app that imports customer context data (such as organizations, customers, and entitlements) from external systems (for example, HubSpot, Zendesk, or Salesforce) into Customer Service Management on the installation's site.
It explains the core responsibilities of the app and how Forge supports them. It does not provide step-by-step implementation instructions.
For detailed guidance on import workflows, field mappings, and source-specific API usage, see the Customer Service Management integration guides:
We recommend a two-module approach that separates one-time administrator configuration from the per-project import experience.
Use the jira:adminPage module to provide a configuration UI in Jira's administration area, where an administrator can enter credentials and any source-system options needed for the import.
Credentials and configuration should be stored securely using a Forge storage API such as @forge/kvs.
Use the customerServiceManagement:crmImport module to render the import experience as a modal triggered from the Manage dropdown on the Customers, Organizations, and Products pages of a Customer Service Management space.
The modal reads the credentials and configuration saved by the admin page, fetches data from the external source, and invokes the Customer Service Management bulk APIs to write that data to the destination.

For end-to-end functionality, the app must provide the following capabilities. Implementation details are up to you.
The app must securely connect to the external system (for example, HubSpot, Zendesk, or Salesforce) to read customer context data.
As the developer, you choose the authentication mechanism appropriate for each source (for example, API key or OAuth) and handle its lifecycle. Use the credentials configured in the admin page.
Data mapping must follow the integration guide for each external service. Source systems and the destination model use different field names and structures, so direct copying is not sufficient.
Out-of-the-box mappings for HubSpot, Zendesk, or Salesforce should align with the referenced integration guides.
Alternatively, the app can allow administrators to configure mappings themselves, either fully custom or as a hybrid where predefined mappings can be reviewed and modified.
The app must apply the final mapping when constructing payloads for the Customer Service Management (CSM) bulk APIs.
The app should track the status of each import and surface progress and errors to the user, following the integration guides for source-specific behaviour.
Rate this page: