---
title: "Playbook: Enrich assets in Jira Service Management with Lansweeper data"
slug: "jira-service-management-asset-enrichment"
description: "Use 3 ready-made Lansweeper Flow Builder templates to enrich hardware, cloud, and custom fields on objects already in Assets in Jira Service Management."
status: "update"
updated: 2026-08-14T11:50:55Z
published: 2026-07-30T12:16:07Z
canonical: "docs.lansweeper.com/jira-service-management-asset-enrichment"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lansweeper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Playbook: Enrich assets in Jira Service Management with Lansweeper data

If you use Assets Data Manager or the Lansweeper app to bring assets into Assets in Jira Service Management, some Lansweeper detail doesn't come across automatically. These 3 Flow Builder templates fill that gap. Each one runs on a schedule, checks Lansweeper for missing detail, and writes it back to your Assets objects. No manual work is needed once a flow is set up.

| Flow | What it does | Run it |
| --- | --- | --- |
| **Enrich Jira Service Management Hardware Assets** | Adds subtype, scanner type, first-seen date, and a Lansweeper link to hardware objects | Daily |
| **Enrich Jira Service Management Cloud Fields** | Adds cloud provider, resource ID, environment, and tags to cloud objects | Daily |
| **Enrich Jira Service Management with Custom Field** | Adds one Lansweeper custom field of your choice, for example an External ID | Daily |

All 3 flows share the same design. Each one:

- Looks up objects already created in Assets, by Assets Data Manager or the Lansweeper app
- Matches each object to Lansweeper using its `LansweeperKey`
- Writes a value only when Lansweeper has one; an existing value is never overwritten with a blank one
- Skips objects it has already enriched, so you can run it again safely at any time

## What you will need

All 3 flows need the following in place.

- A working Jira Service Management connector connection, using OAuth 2.0 or an API token. See the [Jira Service Management connector documentation](/docs/jira-service-management-connector) to set this up.
- Objects already in Assets, created by Assets Data Manager or the Lansweeper app, with the `LansweeperKey` attribute already populated. These flows match and enrich existing objects. They don't create new ones.
- Attribute inheritance turned on for any new attribute you add. Add each new attribute to the top-level parent object type first. Then, under **Configure object type** > **Inheritance**, turn on **Pass all attributes to child object types**. Every child type then inherits the same attribute IDs.
- The attribute IDs for your schema. To find an attribute ID, open the object type's **Attributes** tab, hover over the **ID** column, and copy the number shown.

              Turn on inheritance before adding attributes

              

You cannot apply inheritance retroactively.

## Execution limit and sizing

Flow Builder enforces a 15-minute execution limit, and this applies to all 3 flows. With `pageSize` at 50 and `maxPages` at 5, one run processes up to about 250 objects, which stays comfortably inside that limit.

- If an object type usually has fewer than 250 unenriched objects, one run clears the backlog, and later runs pick up only new or changed objects.
- If it regularly has more than 250, a run stops at the page cap rather than failing. Nothing is lost; each flow only matches objects still missing the target fields, so the remainder is picked up on the next scheduled run.
- If an object type consistently needs faster coverage, narrow the AQL filter by site, department, or another attribute, and deploy a separate instance for each segment, rather than raising `maxPages`.

## Enrich Jira Service Management Hardware Assets

### What it does

This flow adds Lansweeper detail to hardware objects in Assets: subtype, scanner type, first-seen date, and a direct link to the Lansweeper record. It only fills in fields that are currently empty.

### Suggested attributes

| Attribute | Type |
| --- | --- |
| `LansweeperKey` | Text (existing) |
| `LansweeperURL` | URL |
| `SubType` | Text |
| `ScannerType` | Text |
| `FirstSeen` | Date |

You can rename these to fit your schema. Only the attribute ID matters to the flow.

### Setup

1. Add the 4 new attributes to your top-level hardware object type, with inheritance turned on as described above.
2. Open the flow's **A. Define configuration variables** step. Set:
  - `schema`: your Assets object schema key
  - `assetType`: the object type this instance targets, for example `Windows`
  - `maxPages`: `5` (keep this cap; see [Execution limit and sizing](/docs/jira-service-management-asset-enrichment#execution-limit-and-sizing))
  - `pageSize`: `50`
  - `attrId_LansweeperKey`, `attrId_LansweeperURL`, `attrId_SubType`, `attrId_ScannerType`, `attrId_FirstSeen`: the matching attribute IDs from your schema. To find an attribute ID, open the object type's **Attributes** tab, hover over the **ID** column, and copy the number shown
3. Open the **B. Customize AQL Query** step. Update the attribute names in the filter to match your schema. Add extra conditions here if you want to limit the flow to one site or department.
4. Set the trigger schedule. The flow runs at 05:00 Brussels time by default. Set it to run shortly after your Assets Data Manager sync finishes.
5. Deploy one instance of this flow per hardware object type you want to enrich.

### Customizing

- **Refresh values that have gone stale.** For example, after Lansweeper reclassifies a device. Remove the empty-field condition from the **B. Customize AQL Query** step. The flow then reprocesses every matching object, not just unenriched ones. It still only overwrites a field when Lansweeper has a value for it.
- **Add more fields.** Add the new attribute ID to the configuration variables step, request the matching field in the **Find asset** step, then pair them in the **Set Core Fields** step, following the pattern of the 4 existing fields.

### Troubleshooting

- **A run doesn't finish.** Run the flow again. Already-updated objects are skipped. Narrow the AQL filter to split a large object type into smaller runs. See [Execution limit and sizing](/docs/jira-service-management-asset-enrichment#execution-limit-and-sizing).
- **An object isn't enriched.** Check that its `LansweeperKey` attribute has a value. The flow skips any object without one.

## Enrich Jira Service Management Cloud Fields

### What it does

This flow adds cloud metadata to cloud objects in Assets: cloud provider, resource ID, environment, and tags. It only fills in fields that are currently empty.

### Suggested attributes

| Attribute | Type |
| --- | --- |
| `LansweeperKey` | Text (existing) |
| `CloudProvider` | Text |
| `CloudResourceId` | Textarea |
| `CloudEnvironment` | Text |
| `CloudTags` | Textarea |

Use Textarea for `CloudResourceId` and `CloudTags`. Both regularly hold values longer than 255 characters.

### Setup

1. Add the 4 new attributes to your top-level cloud object type, with inheritance turned on.
2. Open the **A. Define configuration variables** step. Set:
  - `schema`: your Assets object schema key
  - `assetType`: the object type this instance targets, for example `Azure`
  - `maxPages`: `5` (see [Execution limit and sizing](/docs/jira-service-management-asset-enrichment#execution-limit-and-sizing))
  - `pageSize`: `50`
  - `attrId_LansweeperKey`, `attrId_CloudProvider`, `attrId_CloudResourceId`, `attrId_CloudEnvironment`, `attrId_CloudTags`: the matching attribute IDs from your schema. To find an attribute ID, open the object type's **Attributes** tab, hover over the **ID** column, and copy the number shown
3. Open the **B. Customize AQL Query** step. This checks `CloudEnvironment` and `CloudProvider` for an empty value, plus `LansweeperKey` IS NOT EMPTY. Update the attribute names to match your schema.
4. Set the trigger schedule to run shortly after your sync finishes.
5. Deploy one instance per cloud object type.

### Customizing

- **Refresh values that have gone stale.** Remove the empty-field condition from the **B. Customize AQL Query** step to reprocess already-enriched objects.
- **Add more fields.** Add the new attribute ID to the configuration variables step, request the matching field in the **Find asset** step, then pair them in the **Set Cloud Fields** step.

### Troubleshooting

- **A run doesn't finish.** Run the flow again. Already-updated objects are skipped. Narrow the AQL filter to split a large object type into smaller runs.
- **An object isn't enriched.** Check its `LansweeperKey` value is populated.

## Enrich Jira Service Management with Custom Field

### What it does

This flow adds the value of one Lansweeper custom field to an attribute on matching objects in Assets, for example an External ID, an asset tag from another system, or an internal reference number. Each instance targets one object type and one custom field.

### Suggested attributes

| Attribute | Type |
| --- | --- |
| `LansweeperKey` | Text (existing) |
| Target attribute | Text, named to match the Lansweeper custom field, for example `ExternalID` |

### Setup

1. Confirm the source custom field already exists in Lansweeper. The flow checks for it and stops with a logged warning if it is missing. It doesn't create the field for you.
2. Add the target attribute to your top-level object type, with inheritance turned on.
3. Open the **A. Define configuration variables** step. Set:
  - `schema`: your Assets object schema key
  - `assetType`: the object type this instance targets, for example `Mac`
  - `maxPages`: `5` (see [Execution limit and sizing](/docs/jira-service-management-asset-enrichment#execution-limit-and-sizing))
  - `pageSize`: `50`
  - `attrId_LansweeperKey`: the attribute ID for `LansweeperKey`
  - `attrId_CustomField`: the attribute ID for your target attribute. To find an attribute ID, open the object type's **Attributes** tab, hover over the **ID** column, and copy the number shown
  - `ls_CustomFieldName`: the exact name of the source custom field in Lansweeper, for example `External ID`
4. Open the **B. Customize AQL Query** step. Update the placeholder attribute names to match your schema.
5. Set the trigger schedule to run shortly after your sync finishes.
6. Deploy one instance per object type and custom field combination.

### Customizing

- **Refresh values that have gone stale.** Remove the empty-field condition from the **B. Customize AQL Query** step to reprocess already-enriched objects.
- **Enrich more than one custom field.** This template enriches one field per instance by design. Deploy a separate instance for each additional field, each with its own `attrId_CustomField` and `ls_CustomFieldName`.

### Troubleshooting

- **A run doesn't finish.** Run the flow again. Already-updated objects are skipped. Narrow the AQL filter to split a large object type into smaller runs.
- **An object isn't enriched.** Check its `LansweeperKey` value is populated, and confirm the custom field name in `ls_CustomFieldName` matches Lansweeper exactly.
