Create a two-way workflow between Jira issues and Salesforce Marketing Campaigns

As a marketing manager working with Salesforce as a tool for tracking your marketing campaigns, updating a different Jira project separately for all your various marketing tasks can be cumbersome. You would want to configure your Salesforce and Jira to sync marketing campaigns and leverage Jira's agile methodology to track marketing tasks.

Ingredients

You will need the following installed on your Jira environment. This works for both Jira Cloud and Jira Server.

You will need some basic understanding of the following Jira features:

Complete scenario

The Teams:

  1. The team that resides on Salesforce is the Upper Management team for the Marketing team. They will oversee the tasks that need to be worked on and create campaigns.

  2. The team that resides on Jira is the team that will be working directly on the tasks created by the Upper Management team, using Agile Methodology to work and track.

The Scenario:

  1. The Salesforce team creates a Campaign in Salesforce, and this will automatically be pushed to Jira as a newly created Epic linked to the Campaign.

  2. The Salesforce team can create Tasks within the Campaign, which will, in turn, create a new counterpart issue task in Jira, linked to the Epic (Campaign).

  3. The Jira team will work on the tasks and track them using Agile Methodology. They can also get the reports from either the JSW's report feature or from the SFJC Reports.

  4. Jira team can change the status of the task and push it to Salesforce for reviewing.

  5. The Salesforce team can review and request the Jira team to re-check, which will be pushed back to Jira and get the Jira team to improve on the work.

  6. After the Salesforce team approves the work, the Jira team can publish (if it requires any publishing) or mark the task as done.

Building this use case

⚙️ Part 1 Setup Salesforce

Salesforce

  1. We will be using the Campaign object. We will be syncing the Campaign object to Jira’s Epic issue type. With that, we’ll need to create a few fields in Salesforce.

  2. Navigate to Setup > Object Manager > Campaign > Fields & Relationships

  3. Create 2 Text fields, namely Epic Issue Key and Summary.

  4. Make sure to add it to the Campaign layout and the fields will appear on the create screen itself:

⚙️ Part 2 Setup Jira

Mappings

  1. Before we map anything in the SFJC, we’ll create a few fields in Jira first

    1. Account Concerned - this is a checkbox field type in Jira, which will be linked to the Salesforce counterpart, which is a Picklist (Multi-Select) field type.

    2. Campaign Type - this is a select list (single choice) field type.

    3. Need to re-check (SF) - this is a select list (single choice) field type.

  2. Once the fields are created, we can proceed with creating an additional custom issue type, Social.

  3. Then, we can then map the objects to the issue types in the Bindings page:

  4. After that, we can map the fields from Salesforce to Jira. To do that, click Mappings on each of the Issue types:

    1. Epic <> Campaign:


    2. Task and Social <> Task:

⚙️ Part 3 Setup Workflow Status/Post-function

  1. To set the use case for the Marketing team, the following configured workflow in Jira works better.

  2. In each of the transitions, add the Push to Salesforce post-function so that any transition will push the updates made in Jira to Salesforce.

  3. Except for the transition to In Progress status, this has an additional Post-function to set the Need to re-check (SF) field to No. This setting will synergize with the Automation configuration below.

Status Value Mapping (SF <> Jira)
Workflows

  1. In both of the platforms, Salesforce and Jira, we have a different list of statuses. For example, we have Published in Jira, but Salesforce doesn’t have this. We have Completed it in Salesforce, but not in Jira.

  2. We handle this by configuring the field-mapping to specify the value in both platforms. This allows SFJC to use the fields as a reference for value mapping and not resulting in an error to sync the values.

  3. To do that, navigate to Bindings and click on the Mappings button for each issue type.

  4. Click Configure on the Status field:

  5. Type in the values that don’t match in the two platforms:

⚙️ Part 4 Automation for Jira

Automation

  1. We’ve created an automation rule in Jira to allow status transition from Salesforce, following the steps on the article How to enable status transition from Salesforce to Jira via Automation for Jira.

  2. The automation will be transitioning the issue from any statuses to Re-check in Jira, when:

    1. The Need to re-check (SF) field value is changed from No to Yes.

    2. And if the user who performs this change is the Salesforce & Jira Cloud Connector add-on user