The Lansweeper Connector enables seamless integration with the Lansweeper API to manage assets, software, vulnerabilities, users, and reports. It allows users to retrieve, filter, update, and delete asset-related data across sites using various configurable actions and filters.
API Documentation
This component was built using the Lansweeper API Documentation.
Connections (Authentication)
The Lansweeper Connector uses a built-in global connection, so you don't need to set up a connection manually. One is automatically created and used for each connector action. The information below on generating a personal access token and configuring OAuth 2.0 authentication is provided for reference only.
Personal Access Token
Follow the instructions to create a personal access token.
| Input | Type | Comments | Example |
|---|---|---|---|
Access Token accessToken |
string / Required | Lansweeper token generated for user. | lsf_eyJ0b2tlbiI6ImQDZhZTM2YzUyMiIsInVzZXJJZCI6ImZsb3dCdWlsZGVyfDljZDA2MDU1LWRlODItNDkxYS05ZDFhLTM5MDg2YTJhZjM0ZSJ900-7f480235 |
Token Verification and Decoding Process
-
Decode Token: The token is assumed to contain encoded data. We extract a portion of this token by omitting the first 4 characters and the last 11 characters. This sliced part is considered the encoded data.
-
Verify Checksum: The last 11 characters of the token are considered the checksum. We then calculate a checksum from the encoded data using the CRC-32 algorithm, convert it to a hexadecimal string, and ensure it has a length of 11 characters by padding it with zeroes if necessary. This calculated checksum is then compared with the checksum extracted from the token. If they don't match, the function throws an error indicating the token is invalid.
-
Decode Data: If the checksum is valid, the function decodes the encoded data from base64 to a UTF-8 string.
-
Extract Information: It parses the decoded string as JSON to extract the siteId and regionUrl.
OAuth2 Authentication
To create an OAuth 2.0 app in Lansweeper, first log in to Lansweeper and then visit create-an-application.
Register a new OAuth integration, and enter the appropriate OAuth redirect URL:
- For sites in EU:
https://oauth2.flowbuilder.eu.lansweeper.com/callback - For sites in US:
https://oauth2.flowbuilder.us.lansweeper.com/callback
| Input | Type | Comments | Example |
|---|---|---|---|
| Authorize URL | string / Required | The OAuth 2.0 Authorization URL for Lansweeper. | https://app.lansweeper.com/authorize-app/420996b1f1c606ec878a77814658dbdd |
| Token URL | string / Required | The token URL is used to generate authorization code. | https://api.lansweeper.com/api/integrations/oauth/token |
| Client ID | string / Required | Provide the Client ID you received while creating the lansweeper app. | 420996b1f1c606ec878a77814658dbdd |
| Client Secret | password / Required | Provide the Client Secret you received while creating the lansweeper app. | 9ifrZ-I01oK7bYXih9jvTc-sTshbsgbgAQ8RBejzdZpxcjaZ0YuWz-iJJgiWedme |
| Grant Type | string | OAuth 2.0 grant type. | refresh_token |
Obtainable Lansweeper Data
The Lansweeper Connector can return a wide range of asset, software, user, and vulnerability information. Use the paths listed below when filtering data, building queries, or interpreting results.
Each entry includes:
- Input Path: The field name used within the Lansweeper Connector.
- Description: Details about the field's purpose.
Asset Fields
| Input Path | Description |
|---|---|
| asset.active_directory_ad.computer_description | The asset's description as set in the Active Directory description attribute. |
| asset.active_directory_ad.computer_ou | The Active Directory Organizational Unit (OU) the asset belongs to. |
| asset.active_directory_ad.group.description | The Active Directory group description to which the asset belongs. |
| asset.active_directory_ad.group.name | The Active Directory group name to which the asset belongs. |
| asset.active_directory_ad.group.type | The Active Directory group type to which the asset belongs. |
| asset.asset_group.name | An asset group the asset belongs to. Asset groups can be added via Configuration > Asset management > Groups. |
| asset.cloud.environment_id | Azure Subscription ID/AWS Account ID/GCP Project number |
| asset.cloud.environment_name | Azure Subscription name/AWS Account name/GCP Project ID |
| asset.cloud.provider | It refers to the cloud provider (Azure, Aws, Gcp) |
| asset.cloud.region | It refers to the region where the cloud asset is located (east-us). |
| asset.cloud.tags | The tags (Azure, AWS) and labels (GCP) you configured in your cloud providers admin consoles. |
| asset.cloud.tenant_org_id | Azure Tenant/AWS Org. Unit/GCP Org. |
| asset.cloud.tenant_org_name | Azure Tenant/AWS Org. Unit/GCP Org. |
| asset.custom_field.key | Asset custom field primary key |
| asset.custom_field.name | Name of the custom field |
| asset.custom_field.value | Value of the custom field |
| asset.db_server_instance.database.name | The names of individual databases contained within the SQL Server instance installed on the asset. |
| asset.db_server_instance.display_version | The friendly version of the SQL Server instance. |
| asset.db_server_instance.edition | The edition or SKU name of the installed SQL Server. |
| asset.db_server_instance.service_pack | The service pack level of the SQL Server instance. |
| asset.db_server_instance.version | The semantic version of the SQL Server instance. |
| asset.disk.disk_drive.caption | The name assigned to the disk drive, typically provided by the system. |
| asset.disk.disk_drive.freespace | The available storage space remaining on the logical disk, measured in bytes. |
| asset.disk.disk_drive.size | The total storage capacity of the logical disk, measured in bytes. |
| asset.display.display.caption | The name of the video controller installed on the asset. |
| asset.display.display.driver_version | The version number of the driver installed for the video controller. |
| asset.financial.acquisition_type | How the asset was acquired. Standard value field which is meant to be filled in manually. Can be reconfigured via Configuration > Asset Management > Standard values. |
| asset.financial.cost_center | The cost center of the asset. Standard value field which is meant to be filled in manually. Can be reconfigured via Configuration > Asset Management > Standard values. |
| asset.financial.invoice_number | The invoice number of the asset. Standard value field which is meant to be filled in manually. Can be reconfigured via Configuration > Asset Management > Standard values. |
| asset.financial.po_date | The date of the Purchase Order (PO) of the asset. Standard value field which is meant to be filled in manually. Can be reconfigured via Configuration > Asset Management > Standard values. |
| asset.financial.po_number | The purchase order (PO) number of the asset. This field is meant to be filled in manually. |
| asset.financial.purchase_date | When the asset was purchased. This field is automatically populated for the following manufacturers: Dell, Fujitsu, IBM, Lenovo and Toshiba. For other manufacturers, it is meant to be filled in manually. |
| asset.financial.vendor_name | The name of the vendor of the asset. Standard value field which is meant to be filled in manually. Can be reconfigured via Configuration > Asset Management > Standard values. |
| asset.general.category | It refers to the classification of the asset type ( computer, storage, network...). |
| asset.general.description | Description of the asset as configured locally on the asset. |
| asset.general.device_version | Device version, retrieved from plug and play devices via the UPnP, DNS-SD or SSDP protocol. |
| asset.general.dns_name | Name of the asset as returned by a DNS server. |
| asset.general.domain | Domain the asset belongs to, e.g. Active Directory domain. |
| asset.general.domain_role | The role of a Windows computer in a workgroup or domain. Can be used to identify workstations, servers or domain controllers. |
| asset.general.firmware | The firmware of this module of the OT device. |
| asset.general.fqdn | The fully qualified domain name of the asset. |
| asset.general.ip_location_end_ip | End IP Location in dot format: XXX.XXX.XXX.XXX. |
| asset.general.ip_location_name | The location of the asset based on its IP address. IP locations can be managed via Inventory > IP locations. |
| asset.general.ip_location_start_ip | Start IP Location in dot format: XXX.XXX.XXX.XXX. |
| asset.general.key | A unique identifier provided by Lansweeper to distinguish individual assets. |
| asset.general.last_change | Last time the asset record was changed. |
| asset.general.last_update | Last time the asset was updated. |
| asset.general.manufacturer | The manufacturer of the asset. Can be retrieved via scanning or manually filled in. |
| asset.general.memory | The total amount of RAM installed on the asset in MB. |
| asset.general.model | The model of the asset. Can be retrieved via scanning or manually filled in. |
| asset.general.name | The name of the asset as determined by scanning. |
| asset.general.notes | Notes added manually to the asset as a comment. |
| asset.general.origin | Whether the asset was scanned via an OT installation or an IT installation. |
| asset.general.os_build_number | The specific build number of the operating system installed on the asset. |
| asset.general.os_name | The full name of the operating system that could include the name, version, market version and/or build. |
| asset.general.os_version | The version of the operating system. |
| asset.general.processor | The CPU model of the asset. |
| asset.general.serial_number | The serial number of the asset. Can be retrieved via scanning or manually filled in. |
| asset.general.state | The state of the asset. Automatically modified by cleanup options (Configuration > Server Options). Can be manually changed. |
| asset.general.state_key | Identifier of the asset state. |
| asset.general.subtype | The asset's subtype as determined by scanning. |
| asset.general.system_sku | Stock Keeping Unit (SKU) of the asset. Can be retrieved via scanning or manually filled in. |
| asset.general.type | The asset's type as determined by scanning. Can be manually changed. |
| asset.general.uptime | How long the asset has been turned on since the last boot. |
| asset.general.warranty_end_date | When the asset's warranty expires. This field is automatically populated for the following manufacturers: Dell, Fujitsu, IBM, Lenovo and Toshiba. For other manufacturers, it is meant to be filled in manually. |
| asset.hardware.chassis_name | The name of the asset's physical chassis Note that there are 3 chassis names that identify laptops: "Portable", "Laptop" and "Notebook". . |
| asset.lifecycle.hw_end_of_sale | The date at which the manufacturer stopped or will stop offering the asset's model. |
| asset.lifecycle.hw_end_of_support | The date at which the manufacturer stopped or will stop supporting the asset's model. |
| asset.lifecycle.hw_general_availability | The date at which the asset's model was first made publicly available. |
| asset.lifecycle.os_end_of_support | The date at which the publisher stopped or will stop supporting the asset's operating system. |
| asset.location.barcode | The asset's bar code. This field is meant to be filled in manually. |
| asset.location.branch_office | The branch office the asset belongs to. This field is meant to be filled in manually. |
| asset.location.building | The building in which the asset is located. This field is meant to be filled in manually. |
| asset.location.contact | Contact person of the asset. This field is automatically populated for devices scanned via SNMP. In other cases it is meant to be filled in manually. |
| asset.location.department | The department the asset belongs to. This field is meant to be filled in manually. |
| asset.location.industry | The industry the asset belongs to. Standard value field which is meant to be filled in manually. Can be reconfigured via Configuration > Asset Management > Standard values. |
| asset.location.location | The location of the asset. This field is automatically populated for devices scanned via SNMP. In other cases it is meant to be filled in manually. |
| asset.location.owner | The owner of the asset. Standard value field which is meant to be filled in manually. Can be reconfigured via Configuration > Asset Management > Standard values. |
| asset.maintenance.last_backup | The last time a full backup was taken of the asset. This field is meant to be filled in manually. |
| asset.maintenance.last_image | The last time a full image was made of the asset. This field is meant to be filled in manually. |
| asset.maintenance.last_patched | The last time the asset was patched. This field is meant to be filled in manually. |
| asset.network.ip_address | Primary IP address of the asset, as determined by Lansweeper. |
| asset.network.mac_address | The MAC address of the primary interface of the asset, as determined by Lansweeper. |
| asset.ot.bus_number | It refers to the OT bus number that holds OT hardware modules. |
| asset.ot.is_main_module | Whether or not this module is the OT asset's main module. |
| asset.ot.module_number | It refers to a specific position in the OT rack and contains an OT hardware module. |
| asset.ot.module_type | The module type of this module of the OT device. |
| asset.ot.part_number | It is the OT asset identifier reference. |
| asset.ot.protocol | The OT protocol through which the asset was last scanned. |
| asset.ot.route | The path the OT sensor took to communicate with this specific device. |
| asset.relation.child_asset_key | Child's asset key of the relation. |
| asset.relation.comment | Comment added to the relation. |
| asset.relation.end_date | Contains the end date, only if explicitly filled in. |
| asset.relation.last_change | Last time the relation record was changed. |
| asset.relation.parent_asset_key | Parent's asset key of the relation. |
| asset.relation.start_date | Creation date of the relation or date manually selected during creation. |
| asset.relation.type | Relation type name or reverse name depending on its hierarchy. A parent will see the name, a child will see the reverse name. |
| asset.relation.user_domain | The Domain of the related user |
| asset.relation.user_name | The name of the related user |
| asset.scan.created_at | When the asset was first created, manually or via a scanning target. |
| asset.scan.installation_id | The identifier of the scanner which detected the asset. |
| asset.scan.issue.last_change | Last time the scan issue record was changed. |
| asset.scan.issue.message | The message content of the scan issue, may contain information about the scanning target or credential names. It is recommended to select this field together with the scan issue "Type". |
| asset.scan.issue.type | The type of scan issue encountered. It is recommended to select this field together with the scan issue "Message". |
| asset.scan.last_active_scan | Last scan attempt made for the asset by the Active Scanning scanning method, successful or unsuccessful. |
| asset.scan.last_lsagent_scan_date | The last time the asset was scanned via the LsAgent scanning agent. |
| asset.scan.last_scan_attempt | The last time the asset was attempted to be scanned, successfully or unsuccessfully. |
| asset.scan.last_scan_server | Name of the last scanning server to scan the asset. |
| asset.scan.last_successful_scan | The last time the asset was successfully scanned, via any scanning method. |
| asset.scan.lsagent_version | The version of the LsAgent client on the asset when the last scan was sent. |
| asset.scan.scanner_type | Asset's scanner type. Possible responses are: Unknown, LS, SCCM, ActiveDirectory, HyperV, AWS, Azure, ChromeOS, Citrix, Intune, vCenter, AirWatch, Esxi, AssetRadar, AzureAD, Local, Quick, or Cloud. |
| asset.windows.os_current_timezone | Amount of time the unitary computer system is offset from Coordinated Universal Time (UTC). |
| asset.windows.registry.last_change | The date and time when the scanned registry entry was last modified on the Windows computer. |
| asset.windows.registry.path | The path in the Windows Registry where a specific value is located. |
| asset.windows.registry.value | The actual value stored at the specified path in the Windows Registry. |
| asset.windows.registry.value_name | The name of a specific registry entry on the asset. A record is created only if the entry exists in the Windows computer's registry. |
Software Fields
| Input Path | Description |
|---|---|
| software.antivirus.enabled | True/False value indicating whether the Windows computer's antivirus software is enabled. This information does not exist on Windows server operating systems. |
| software.antivirus.last_change | Last time the the anti-virus software record was changed. |
| software.antivirus.name | The name of the Windows computer's antivirus software. This information does not exist on Windows server operating systems. |
| software.antivirus.up_to_date | True/False value indicating whether the Windows computer's antivirus software is up to date. This information does not exist on Windows server operating systems. |
| software.general.architecture | The processor architecture the software was developed for. |
| software.general.category | The second level of classification in Lansweeper's software taxonomy. |
| software.general.edition | The version identifier of a program that typically informs functional capabilities. E.g. Enterprise Edition. |
| software.general.install_date | Oldest software installation date of the software found among all assets. |
| software.general.language | Language in which the software is available. |
| software.general.last_change | The date of the last change detected in the software inventory. |
| software.general.market_version | The commercial, friendly name given by the vendor to a particular software version. E.g. SQL Server 2022. |
| software.general.name | The name of the software application installed on the asset. |
| software.general.os_family | The general classification of the operating system installed on the asset, such as Windows, Linux, or macOS. |
| software.general.publisher | The organization that develops and markets the software. |
| software.general.short_version | The version limited to the Major and Minor version number. |
| software.general.type | The first level of classification in Lansweeper's software taxonomy. |
| software.general.version | The complete version number of the software. Typically consists of several components, such as: Major Version Number, Minor Version Number, Patch Version Number, Build Number, and other additional information. E.g. v2.5.3.8421 |
User Fields
| Input Path | Description |
|---|---|
| user.general.ad_active | Indicates whether the user's account is active in Active Directory (AD). |
| user.general.cannot_change_password | Indicates whether the user is prohibited from changing their password. |
| user.general.company | The company name associated with the user, often part of organizational records. |
| user.general.country_code | The numeric code corresponding to the user's country. |
| user.general.department | The department within the organization to which the user is assigned. |
| user.general.description | An optional description or notes field for the user account, providing additional context. |
| user.general.display_name | The full name of the user as it appears in systems or directories, often combining first and last names. |
| user.general.domain | The domain to which the user belongs, identifying their network environment. |
| user.general.email | The user's primary email address for communication. |
| user.general.employee_id | A unique identifier assigned to the user as an employee in Active Directory. |
| user.general.employee_number | A unique number assigned to the employee within the organization. |
| user.general.employee_type | The type of employee, such as full-time, part-time, or contractor. |
| user.general.first_name | The given name or first name of the user. |
| user.general.key | A unique identifier provided by Lansweeper to distinguish individual users. |
| user.general.last_change | The date and time when the user's attributes were last modified. |
| user.general.last_login | The most recent date and time the user logged into the system. |
| user.general.last_name | The family or surname of the user. |
| user.general.name | The user's account name or identifier within the system. |
| user.general.office | The physical or virtual office location assigned to the user. |
| user.general.ou | The AD organizational unit where the user account is stored, reflecting their placement in the hierarchy. |
| user.general.password_changeable_date | The earliest date and time the user is allowed to change their password. |
| user.general.password_expiration_date_ | The date and time when the user's password is set to expire. |
| user.general.password_last_change | The date and time when the user's password was last updated. |
| user.general.password_never_expires | Indicates whether the user's password is exempt from expiration policies. |
| user.general.password_required | Indicates whether a password is required for the user's account. |
| user.general.title | The user's job title within the organization. |
| user.general.upn | The user's name, basically the ID of the user, in an email-like format. |
| user.general.username | The username of an Active Directory user associated with the asset. |
| user.group.is_admin | Indicates whether the user is part of an administrative group (e.g., local admins). |
| user.group.name | The name of the Active Directory group to which a user or device belongs. |
| user.last_user.domain | Domain of the last logged on user. |
| user.last_user.username | Username of the last logged on user. |
Vulnerability Fields
| Input Path | Description |
|---|---|
| vulnerability.cvss.attack_complexity | Describes how difficult a successful attack using this vulnerability is. |
| vulnerability.cvss.attack_vector | Describes the context in which a vulnerability is exploitable. |
| vulnerability.cvss.avaiability | Measures the impact on availability that successful use of a vulnerability has. |
| vulnerability.cvss.base_score | An industry standard metric (CVSS - Common Vulnerability Scoring System) by which one vulnerability is compared with another for purposes of prioritization. |
| vulnerability.cvss.confidentiality | Measures the impact on confidentiality that successful use of a vulnerability has. |
| vulnerability.cvss.integrity | Measures the impact on integrity that successful use of a vulnerability has. |
| vulnerability.cvss.privilege_required | Describes the level of privilege (or access) an attacker must have to use the vulnerability successfully. |
| vulnerability.cvss.scope | Indicates whether the use of a vulnerability affects components beyond the originally compromised system ("changed") or remains confined to the initially vulnerable component ("unchanged"). |
| vulnerability.cvss.user_interaction | Indicates whether a user, other than the attacker, must perform an action for the exploitation of the vulnerability to be successful. |
| vulnerability.cwe.weakness_enumeration | The Common Weakness Enumeration (CWE) is a category system for hardware and software weaknesses and vulnerabilities. |
| vulnerability.epss.last_modified | This field records the last time the EPSS data for this particular vulnerability was updated. |
| vulnerability.epss.percentile | This is the percentile rank of the vulnerability compared to all others in the EPSS dataset. |
| vulnerability.epss.score | The Exploit Prediction Scoring System (EPSS) score is a metric that estimates the likelihood of a vulnerability being exploited in the wild within the next 30 days. |
| vulnerability.exploitability.botnets | Documented instances where the vulnerability has been used by botnets to compromise systems were reported. |
| vulnerability.exploitability.cisa_due_date | This is the limit date when the vulnerability must be patched by Government and U.S Military Organizations to be compliant with the Binding Operational Directive released by CISA at the end of 2021. |
| vulnerability.exploitability.cisa_exploited | CISA Exploited indicates that the vulnerability has been leveraged by adversaries to carry out attacks. |
| vulnerability.exploitability.cisa_ransomware_campaign | It indicates whether the CVE is associated with the ransomware campaign. |
| vulnerability.exploitability.commercial_exploit | An exploit code or method for the vulnerability that is available through commercial channels was found. |
| vulnerability.exploitability.exploit_maturity | Indicates the state of existing exploit techniques and code availability. |
| vulnerability.exploitability.exploit_type | The Exploit Type field helps distinguish between high impact exploits, like initial access exploits, and lower impact exploits, like denial of service exploits. |
| vulnerability.exploitability.exploitability | Explotable is a LS calculated value to indicate that there is information to know if a vulnerability can be exploited. |
| vulnerability.exploitability.exploited_in_the_wild | It refers to a CVE that is actively being used by attackers in real-world situations. |
| vulnerability.exploitability.msrc_exploitation | It is a rate that means the likelihood of a vulnerability being exploited. |
| vulnerability.exploitability.nvd_exploitability | It is the probability offered by NVD that this CVE could be exploited by an attacker. |
| vulnerability.exploitability.nvd_impact | It refers to the potential impact that the attack could generate with this CVE based on NVD metrics. |
| vulnerability.exploitability.public_exploit | An exploit code or method for the vulnerability that is freely available to the public was found. |
| vulnerability.exploitability.ransomware | Documented cases where the vulnerability has been leveraged by ransomware groups to conduct attacks were reported. |
| vulnerability.exploitability.threat_actors | Documented instances where the vulnerability has been actively exploited by malicious threat actors were reported. |
| vulnerability.general.affected_product | List of product names that are present in the asset and cause this vulnerability. |
| vulnerability.general.category | One or more items telling the root cause type (O.S., Software or Hardware). |
| vulnerability.general.cve | CVE stands for Common Vulnerabilities and Exposures. CVE is an ID that uniquely identifies a vulnerability. |
| vulnerability.general.id | CVE stands for Common Vulnerabilities and Exposures. CVE is an ID that uniquely identifies a vulnerability. |
| vulnerability.general.published_on | Indicate the date and time that the CVE was published to the NVD (NIST database). |
| vulnerability.general.risk_score | The base score is an industry-standard metric (CVSS - Common Vulnerability Scoring System) by which one vulnerability is compared with another for prioritisation purposes. |
| vulnerability.general.severity | Indicates how severe a vulnerability is (based on the base score). |
| vulnerability.general.source | Asset creation source |
| vulnerability.general.updated_on | Indicate the date and time that the CVE was last modified in the NVD (NIST database). |
| vulnerability.general.vendor | List of vendor names that are present in the asset and cause this vulnerability. |
| vulnerability.patch.info | Indicates whether LS possesses any information regarding the patch for that CVE. |
Triggers
Lansweeper Trigger
Get notified when an asset is created, updated, deleted, or when a new source is discovered in your Lansweeper site.
Key: lansweeperTrigger
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | Existing Lansweeper connection. | — |
| New Asset (boolean / Required) | Get notified when new assets join your Lansweeper Site. | true |
| Asset Updated (boolean / Required) | Get notified when asset's properties have been changed. | true |
| Asset Deleted (boolean / Required) | Get notified when assets are deleted from your Lansweeper Site | true |
| New Discovery system (boolean / Required) | Get notified when a new Discovery system is configured in your Site. | true |
Trigger Workflow Details
Triggers are currently supporting "Instance and Flow Specific" webhook creation which is default behaviour, meaning each instance and flow will have a separate webhook endpoint.
Important Notes:
- Webhook for customer endpoint will automatically delete if deployed instance is deleted.
- In the trigger workflow, it is necessary to manually press the Save button every time changes are made to ensure they take effect. Previously, running the Flow Builder would automatically save these details. However, with triggers flowing to automatically receiving notifications, the Run button will not need to be pressed, but manual saving has become essential.
Example Scenario:
If a flow includes a trigger for "Create," followed by a step to "Fetch Asset Details," and you modify this step to "Delete Asset," you must manually press the Save button to apply the changes. Otherwise, the previous action (e.g., "Fetch Asset Details") will continue to run instead of the updated one (e.g., "Delete Asset") when new notification is received.
For Test Instance in Flow Builder:
If a trigger workflow previously included events like NEW_ASSET and UPDATED_ASSET, and the user now wants to listen for a new event type, such as DELETE_ASSET, the following steps are required:
- Turn on the DELETE_ASSET toggle in the trigger settings.
- Save the updated configuration.
- Press the Test Deploy Function button to ensure the flow starts receiving notifications for the DELETE_ASSET event.
This additional step is necessary to update the webhook in Lansweeper (LS) to include the new DELETE_ASSET event type. Without executing the Test Deploy Function, the flow will not be correctly configured to handle the newly added event type.
Additional Useful Details for Trigger (Step-by-Step Guide)
The Lansweeper connector uses webhooks to receive notifications for specific events. These notifications act as triggers so that users can build flows that automatically run when Lansweeper sends an event.
1. Selecting Events
- Flow builders first select the events they want to receive notifications for within Integrations.
- At this stage, no webhook exists in Lansweeper, meaning no notifications are being received yet.
2. Creating the Webhook (For flow builder only needed to test)
- After selecting the desired events, users must save the details.
- Next, click the Test Deploy button.
- This action creates a webhook request in Lansweeper.
- Once created, the connector will begin receiving notifications from Lansweeper.
3. Deleting the Webhook (For flow builder only needed to test)
- If the integration builder wants to stop receiving notifications:
- Click the Test Tear Down button.
- This deletes the webhook from Lansweeper.
- After this, the integration will no longer receive notifications.
Important Notes:
- The Test Deploy and Test Tear Down buttons:
- Are available only for Flow Builder users (While building the flow).
- Require manual creation and deletion of webhooks in Lansweeper.
- Are meant only for testing purposes while building flows.
Customer Deployed Instances:
- Webhooks are automatically created when a new instance is deployed.
- Webhooks are automatically deleted when the instance is removed.
- No manual interaction is required from the user.
Enter Listening Mode:
- The Enter Listening Mode creates a webhook automatically when you click on its button and allows a user to listen for the selected events and also save the payload returned.
- When you close that tab, the webhook automatically gets deleted.
Data Sources
Filter Assets
This data source is used to provide json form for list assets filter that can be referenced using config variable.
Conditions:
| Input | Comments | Example |
|---|---|---|
| Conjunction (string) | Specifies the conjunction to be used when filtering data from the source. This input determines how multiple conditions will be combined in the query. | AND, OR |
| Conditions (array) | Defines the condition used to filter data from the source. This helps refine the query based on specific criteria. See table below. |
Condition Details:
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | Key, Cloud Category, Cloud Provider, Cloud Region, Cloud Tags, Created At, Description, DNS Name, Domain, Environment ID, Environment Name, IP Address, Last Seen, Last Updated, Last User Name, MAC Address, Manufacturer, Model, Module Type, Name, Origin, Purchase Date, Serial Number, State, Sub Type, Tenant Org ID, Tenant Org Name, Type, Warranty End Date |
| Operator (string / Required) | The operator used for the condition. | Equal, Not equal, Smaller than, Smaller than or equal, Greater than, Greater than or equal, Exists, Like, Regexp, Contains, Not contains |
| Value (string / Required) | The value against which the condition will be evaluated. | asset123 |
Filter Vulnerability
This data source is used to provide json form for list vulnerabilities filter that can be referenced using config variable.
Conditions:
| Input | Comments | Example |
|---|---|---|
| Conjunction (string) | Specifies the conjunction to be used when filtering data from the source. | AND, OR |
| Conditions (array) | Defines the condition used to filter data from the source. |
Condition Details:
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | Attack Complexity, Attack Vector, Availability Impact, Base Score, Confidentiality, CVE, Integrity, Privilege Required, Published On, Risk Score, Scope, Source, Severity, Updated On, User Interaction |
| Operator (string / Required) | The operator used for the condition. | Equal, Not equal, Smaller than, Smaller than or equal, Greater than, Greater than or equal, Exists, Like, Regexp, Contains, Not contains |
| Value (string / Required) | The value against which the condition will be evaluated. | CVE-2025-21307 |
Filter Software
This data source is used to provide json form for list softwares filters that can be referenced using config variables.
| Input | Comments | Example |
|---|---|---|
| Fields (List of String / Required) | The specific fields or attributes in the data source to apply the condition to. | State Name, Software, Operating System, Publisher, Version, Language, Edition, Market Version, Architecture, Category, Type, Short Version |
| Type (string / Required) | The Type used for the condition. | LIKE, EQUAL |
| Value (string / Required) | The value against which the condition will be evaluated. | Edge |
Filter Users
This data source is used to provide json form for list vulnerabilities filter that can be referenced using config variable.
Conditions:
| Input | Comments | Example |
|---|---|---|
| Conjunction (string) | Specifies the conjunction to be used when filtering data from the source. | AND, OR |
| Conditions (array) | Defines the condition used to filter data from the source. |
Condition Details:
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | Key, Employee Id, Employee Number, Employee Type, Enabled in AD, Last Logon, Organizational Unit, Office, Password Changeable Date, Password Expiration Date, Password Last Set, Password Never Expires, Password Required, User Principal Name, User Cannot Change Password |
| Operator (string / Required) | The operator used for the condition. | Equal, Not equal, Smaller than, Smaller than or equal, Greater than, Greater than or equal, Exists, Like, Regexp, Contains, Not contains |
| Value (string / Required) | The value against which the condition will be evaluated. | MTIwLUFkVXNlci1hNTg4OWQ0MS1hYWM5LTQ0NGEtYmZhMy0yODU3ZGE3NDU1MmE= |
Filter Discovery Sources
This data source is used to provide json form for list discovery filters that can be referenced using config variable.
Conditions:
| Input | Comments | Example |
|---|---|---|
| Conjunction (string) | Specifies the conjunction to be used when filtering data from the source. | AND, OR |
| Conditions (array) | Defines the condition used to filter data from the source. |
Condition Details:
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | ID, State Value, External Id, Type |
| Operator (string / Required) | The operator used for the condition. | Equal, Not equal, Exists |
| Value (string / Required) | The value against which the condition will be evaluated. | false |
List All Assets
This data source is used to fetch all the assets in a dropdown menu used for selecting an asset in Edit Asset, Get Asset By Key, Create Asset-Asset Relation and Create Asset-User Relation actions.
List All Asset States
This data source is used to fetch all the asset states in a dropdown menu used for selecting an asset state in Add Asset and Edit Asset actions.
List All Asset Types
This data source is used to fetch all the asset types in a dropdown menu used for selecting an asset type in Add Asset and Edit Asset actions.
List All CVEs
This data source is used to fetch all the CVEs in a dropdown menu used for selecting a CVE in Get Vulnerability Details action.
List Discovery Sources
This data source is used to fetch all the discovery sources in a dropdown menu used for selecting a discovery source in Scan Now action.
List All Relation Types
This data source is used to fetch all the action relation types in a dropdown menu used for selecting a relation type in Create Asset-Asset Relation and Create Asset-User Relation actions.
List All Users
This data source is used to fetch all the users in a dropdown menu used for selecting a user in Create Asset-User Relation action.
Actions
List of Assets
This action is used to fetch list of assets.
Key: listAssetsAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide a valid filter object as shown in example to filter out the data. To filter assets refer conditions table for possible values of path, operator and value. | { conjunction: OR, conditions: [ { path: "asset.general.key", operator: EQUAL, value: "04c2d1c8-13c8-30b0-87d4-4891827d621a" }, { path: "asset.general.description", operator: EQUAL, value: "This is test description 153 run" } ] } |
| Additional Assets Details (Value List / Optional) | Specifies the additional asset-related fields to include in the response | asset.scan.created_at, asset.general.category, asset.cloud.provider, asset.cloud.region, asset.cloud.tags, asset.general.description, asset.general.domain, asset.cloud.environment_id, etc. |
| Page Number | Specifies the page number to fetch | 2 |
| Page Size | Specifies number of records to fetch. If not provided default value will be 500. | 200 |
Pagination Scenarios
| Page Number | Page Size | Max Records (Limit) | Expected Result |
|---|---|---|---|
| NA | NA | NA | Fetch all records from the Lansweeper. Example: if total is 15,000 → return all 15,000 records. |
| NA | NA | 100 | Fetch the first 100 records from the server. |
| 2 | NA | 100 | Fetch 100 records starting from page 2. Default page size = 500 → skip 500, return 100. Range: 501 to 600 |
| 2 | 100 | 100 | Page size = 100, skip the first 100 records (page 1), then fetch the next 100. Range: 101 to 200 |
| 2 | 200 | 100 | Page size = 200, skip 200, fetch next 100. Range: 201 to 300 (but only up to 100 will be returned). |
| 2 | 100 | 200 | Page size = 100, skip 100 records, fetch next 100. Range: 101 to 200 |
| 2 | 100 | NA | Page Size = 100, skip 100 records, fetch next 100 records. Range: 101 to 200 |
| 2 | NA | NA | Default Page Size = 500, skip = 500, fetch next 500 records. Range: 501 to 1000 |
Condition Values for Assets Filter
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | user.last_user.username, asset.general.key, asset.scan.created_at, asset.general.category, asset.cloud.provider, asset.cloud.region, asset.cloud.tags, asset.general.description, asset.general.domain, asset.cloud.environment_id, asset.cloud.environment_name, asset.cloud.tenant_org_id, asset.cloud.tenant_org_name, asset.network.ip_address, asset.scan.last_successful_scan, asset.network.mac_address, asset.general.name, asset.general.type, asset.general.last_update, asset.general.dns_name, asset.general.manufacturer, asset.general.model, asset.ot.module_type, asset.general.origin, asset.financial.purchase_date, asset.general.serial_number, asset.general.state, asset.general.subtype, asset.general.warranty_end_date |
| Operator (string / Required) | The operator used for the condition. | EQUAL, NOT_EQUAL, SMALLER_THAN, SMALLER_THAN_OR_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, EXISTS, LIKE, REGEXP, CONTAINS, NOT_CONTAINS |
| Value (string / Required) | The value against which the condition will be evaluated. | asset123 |
Get Asset by Key
This action is used to get the asset by key.
Key: getAssetByKeyAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Asset (string / Required) | The unique key of the asset to retrieve or select an asset from a dropdown list | 00031243-7800-3b08-a345-a79ce8cbb96e OR Thinkbook |
| Additional Assets Details (Value List / Optional) | Specifies the additional fields to include in the response | asset.scan.created_at, asset.general.category, asset.cloud.provider, asset.cloud.region, asset.cloud.tags, asset.general.description, asset.general.domain, asset.cloud.environment_id, etc. |
List Asset States
This action is used to fetch list of asset states.
Key: listAssetStatesAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) |
Edit Asset by Key
This action is used to edit the asset by key.
Key: editAssetAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Asset (string / Required) | Provide the unique key of the asset to Edit or select from a dropdown list. | 4b7f1f20-43ea-4913-95e2-ab8f50db9db4 OR New Asset |
| Description | Specify the value to be updated | This is test Description |
| Domain | Specify the value to be updated | lansweeper.com |
| IP address | Specify the value to be updated | 0.0.0.0 |
| Name | Specify the value to be updated | Test_asset |
| Type Key | Specify the value to be updated or select from a dropdown list. It can be referenced using List Asset Types action. | MjQ1LUFzc2V0VHlwZS02ZGQyY2MyZC0zOWM2LTQ2YzAtYTAxOS1hYTQ2YWUzNmM1MjI= OR Android |
| Acquisition Type | Specify the value to be updated | Lease |
| Barcode | Specify the value to be updated | barcode |
| Branch Office | Specify the value to be updated | branchOffice |
| Building | Specify the value to be updated | Building |
| Comment | Specify the value to be updated | This is edit asset |
| Contact | Specify the value to be updated | contact |
| Cost Center | Specify the value to be updated | Dummy |
| Department | Specify the value to be updated | Department |
| DNS Name | Specify the value to be updated | Crest |
| Industry | Specify the value to be updated | Dummy |
| Invoice Number | Specify the value to be updated | INC0001 |
| Last Backup | Specify the value to be updated | 12-31-2024 |
| Last Image | Specify the value to be updated | 12-31-2024 |
| Last Patched | Specify the value to be updated | 12-31-2024 |
| Location | Specify the value to be updated | Location |
| Manufacturer | Specify the value to be updated | Microsoft |
| Model | Specify the value to be updated | 750-881 |
| PO Number | Specify the value to be updated | 20 |
| Owner | Specify the value to be updated | Dummy |
| PO Date | Specify the value to be updated | 12-31-2024 |
| Purchase Date | Specify the value to be updated | 12-31-2024 |
| Serial Number | Specify the value to be updated | de098822 |
| System SKU | Specify the value to be updated | |
| State Key | Specify the value to be updated or select from a dropdown list | MS1TdGF0ZS02ZGQyY2MyZC0zOWM2LTQ2YzAtYTAxOS1hYTQ2YWUzNmM1MjI= OR Active |
| Vendor Name | Specify the value to be updated | Dummy |
| Warranty End Date | Specify the value to be updated | 12-31-2024 |
| Custom Fields (Key-Value List / Optional) | Specify user defined asset custom fields key you want to edit and paste it into the 'key' input. Provide the corresponding value for the update. https://developer.lansweeper.com/docs/data-api/reference/types/#assetcustominput | Key: "8d6a2ea7-0b9d-4847-b2d2-a300956c8d1e" Value: "Updated" |
Delete Assets by Key
This action is used to delete the asset by asset keys.
Key: deleteAssetsAction
Note: The Delete Asset action can take up to 500 asset IDs simultaneously for performing delete operations.
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Asset Keys to Delete (string / Required) | The unique key of the asset(s) to delete. | ae8cfa9a-6b56-48de-90e0-7e252b050f64, 8b68c735-6b4e-48f6-9480-5aa67b629af9 |
List of Assets with Specific Software Installed
This action is used to fetch list of assets by software name and publisher.
Key: listAssetsBySoftwareAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Software Name (string / Required) | The name of the software for which you want to retrieve details | Edge Update |
| Publisher Name (string / Optional) | The publisher of the software | Microsoft |
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide a valid filter object as shown in example to filter out the data. To filter assets refer conditions table for possible values of path, operator and value. | { conjunction: OR, conditions: [ { path: "asset.general.key", operator: EQUAL, value: "04c2d1c8-13c8-30b0-87d4-4891827d621a" }, { path: "asset.general.description", operator: EQUAL, value: "This is test description 153 run" } ] } |
| Additional Assets Details | Specifies the additional fields to include in the response | asset.scan.created_at, asset.general.category, asset.cloud.provider, asset.cloud.region, asset.cloud.tags, asset.general.description, asset.general.domain, asset.cloud.environment_id, etc. |
List of Assets with Vulnerabilities
This action is used to fetch a list of assets with Vulnerabilities CVE.
Key: listAssetsByVulnerabilityAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Vulnerabilities CVE List (string / Required) | The comma separated CVEs of the vulnerabilities for which want to fetch the affected assets list | CVE-2020-32969, CVE-2022-22919 |
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide valid filter object as shown in example to filter out the data. To filter assets refer conditions table for possible values of path, operator and value. | { conjunction: OR, conditions: [ { path: "asset.general.key", operator: EQUAL, value: "04c2d1c8-13c8-30b0-87d4-4891827d621a" }, { path: "asset.general.description", operator: EQUAL, value: "This is test description 153 run" } ] } |
| Additional Assets Details | Specifies the additional fields to include in the response | asset.scan.created_at, asset.general.category, asset.cloud.provider, asset.cloud.region, asset.cloud.tags, asset.general.description, asset.general.domain, asset.cloud.environment_id, etc. |
Report Details
Deprecated Action - This action is still functional but no longer recommended.
This action is used to get report details by report ID in CSV format.
Key: getReportByIdAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Report Id (string / Required) | The unique ID of the report to retrieve | 66t1b73399bdd7d9a1835dob |
List of Authorized Reports
Deprecated Action - This action is still functional but no longer recommended.
This action is used to fetch authorized reports for site.
Key: listReportsAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) |
Get Software Details
This action is used to get software details by software name and publisher.
Key: getSoftwareDetailsByNameAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Software Name (string / Required) | The name of the software for which you want to retrieve details | Edge Update |
| Publisher (string / Optional) | The publisher of the software | Microsoft |
| Additional Software Details (List of fields) | software.general.architecture, software.general.category, software.general.edition, etc... |
List of Softwares
This action is used to fetch list of Softwares.
Key: listSoftwareAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide a valid filter object as shown in example to filter out the data. To filter softwares refer condition table for possible values of path, value and operators. | [ { fields: ["software.general.name"], value: "Edge Update", type: LIKE } ] |
Conditions Value for Softwares Filter
| Input | Comments | Example |
|---|---|---|
| fields (List of software fields) | The specific fields for softwares to apply filter on. | asset.general.state, software.general.name, software.general.os_family, software.general.publisher, software.general.version, software.general.language, software.general.edition, software.general.market_version, software.general.architecture, software.general.category, software.general.type, software.general.short_version |
| Operator (string / Required) | The operator used for the condition. | EQUAL, LIKE |
| Value (string / Required) | The value against which the condition will be evaluated. | win |
List Software Present in Asset
This action is used to fetch list of Softwares present in Asset.
Key: listSoftwaresPresentInAsset
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Asset Key (string Value List / Required) | The unique Key of the asset to retrieve the software present in that asset | 00031243-7800-3b08-a345-a79ce8cbb96e |
Get Vulnerability Details
This action is used to get vulnerability details by CVE.
Key: getVulnerabilityByCVEAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Vulnerability CVE (string / Required) | The CVE identifier for the vulnerability you want to retrieve or select from a dropdown list | CVE-2020-32969 |
| Additional Vulnerability Details (string / Value List) | Specifies the additional fields to include in the response | vulnerability.cvss.attack_complexity, vulnerability.cvss.attack_vector, vulnerability.cvss.availability, vulnerability.cvss.base_score, vulnerability.cvss.confidentiality, vulnerability.general.cve, etc.. |
List of Vulnerabilities
This action is used to fetch list of vulnerabilities.
Key: listVulnerabilitiesAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide a valid filter object as shown in example to filter out the data. To filter vulnerabilities refer to the condition table for possible values of path, value and operators. | { conjunction: AND, conditions: [ { path: "vulnerability.general.cve", operator: LIKE, value: "CVE-2025-21307" }, { path: "vulnerability.cvss.attack_complexity", operator: LIKE, value: "Low" } ] } |
| Additional Vulnerability Details (string / Value List) | Specifies the additional Vulnerability-related fields to include in the response | Asset Keys, Availability Impact, Cause, Confidentiality, Exploitability, Integrity, Patchable, Privilege Required, Updated On, User Interaction, Weakness Enumeration |
Condition Values for Vulnerabilities Filter
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | vulnerability.cvss.attack_complexity, vulnerability.cvss.attack_vector, vulnerability.cvss.availability, vulnerability.cvss.base_score, vulnerability.cvss.confidentiality, vulnerability.general.cve, vulnerability.cvss.integrity, vulnerability.cvss.privilege_required, vulnerability.general.published_on, vulnerability.general.risk_score, vulnerability.cvss.scope, vulnerability.general.source, vulnerability.general.severity, vulnerability.general.updated_on, vulnerability.cvss.user_interaction |
| Operator (string / Required) | The operator used for the condition. | EQUAL, NOT_EQUAL, SMALLER_THAN, SMALLER_THAN_OR_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, EXISTS, LIKE, REGEXP, CONTAINS, NOT_CONTAINS |
| Value (string / Required) | The value against which the condition will be evaluated. | CVE-2019 |
List Vulnerabilities In Assets
This action is used to list Vulnerabilities present in Assets.
Key: listVulnerabilitiesInAssetsAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Asset Key (string / Required Value List) | The unique Key of the asset(s) to retrieve the Vulnerabilities present in that asset | 00031243-7800-3b08-a345-a79ce8cbb96e |
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide a valid filter object as shown in example to filter out the data. To filter vulnerabilities refer condition table for possible values of path, value and operators. | { conjunction: AND, conditions: [ { path: "vulnerability.general.cve", operator: LIKE, value: "CVE-2025-21307" }, { path: "vulnerability.cvss.attack_complexity", operator: LIKE, value: "Low" } ] } |
| Additional Vulnerability Details (string / Value List) | Specifies the additional Vulnerability-related fields to include in the response | vulnerability.cvss.attack_complexity, vulnerability.cvss.attack_vector, vulnerability.cvss.availability, vulnerability.cvss.base_score, vulnerability.cvss.confidentiality, vulnerability.general.cve, … etc |
List of Users
This action is used to fetch list of users.
Key: listUsersAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide a valid filter object as shown in example to filter out the data. To filter user refer condition table for possible values of path, value and operators. | { conjunction: OR, conditions: [{ path: "user.general.key", operator: LIKE, value: "" }, { path: "user.general.employee_id", operator: LIKE, value: "" }] } |
| Additional User Details (string / Value List) | Specifies the additional Vulnerability-related fields to include in the response | user.general.key, user.general.employee_id, user.general.employee_number, user.general.employee_type, user.general.ad_active, user.general.last_login, user.general.ou, user.general.office, …etc |
Condition Values for User Filter
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | user.general.key, user.general.employee_id, user.general.employee_number, user.general.employee_type, user.general.ad_active, user.general.last_login, user.general.ou, user.general.office, user.general.password_changeable_date, user.general.password_expiration_date, user.general.password_last_change, user.general.password_never_expires, user.general.password_required, user.general.upn, user.general.cannot_change_password |
| Operator (string / Required) | The operator used for the condition. | EQUAL, NOT_EQUAL, SMALLER_THAN, SMALLER_THAN_OR_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, EXISTS, LIKE, REGEXP, CONTAINS, NOT_CONTAINS |
| Value (string / Required) | The value against which the condition will be evaluated. | MS1BZFVzZXItYTU4ODlkNDEtYWFjOS00NDRhLWJmYTMtMjg1N2RhNzQ1NTJi |
List of Discovery Sources
This action is used to fetch list of discovery sources.
Key: listDiscoverySourcesAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Max Records (number / Optional) | The maximum number of records to retrieve in a single request. | 10 |
| Filter (GraphQL / Valid JSON format) | Provide a valid filter object as shown in example to filter out the data. To filter discovery sources refer to the condition table for possible values of path, value and operators. | { conjunction: OR, conditions: [ { operator: EXISTS, path: "id", value: "true" } ] } |
Condition Values for Discovery Sources Filter
| Input | Comments | Example |
|---|---|---|
| Path (string / Required) | The specific field or attribute in the data source to apply the condition to. | id, state, externalId, type |
| Operator (string / Required) | The operator used for the condition. | EQUAL, NOT_EQUAL, EXISTS |
| Value (string / Required) | The value against which the condition will be evaluated. | true |
List Asset Types
This action is used to fetch list of asset types.
Key: listAssetTypesAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Only In Use | Toggle to get only the ones which are in use | True or False (boolean) |
Get Relations
This action is used to get the list of relations.
Key: listOfRelationsAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) |
Create Asset-Asset Relation
Create a new relation of type ASSET_ASSET between assets in Lansweeper.
Key: createAssetAssetRelationAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Child Asset (String / Required) | Provide the child asset key or select from a dropdown list to link with parent asset or user | 24fb1141-db06-3f2d-b4f4-e4eff28b003b OR Thinkbook1 |
| Parent Asset (String / Required) | Provide the parent asset or select from a dropdown list to link to a child asset | 24fb1141-db06-3f2d-b4f4-e4eff28b003b OR Thinkbook1 |
| Relation Type (String/ Required) | Provide the Relation type that defines the relation type or select from a dropdown list. You can get this ID from GetRelations action. | MTAtQXNzZXRSZWxhdGlvblR5cGUtNmRkMmNjMmQtMzljNi00NmMwLWEwMTktYWE0NmFlMzZjNTIy OR Inside |
| Start Date (DateTime / Optional) | Provide start date of the relation in (yyyy-MM-dd) format | 2025-08-29 |
| End Date (DateTime / Optional) | Provide end date of the relation in (yyyy-MM-dd) format | 2025-08-29 |
| Comment (String / Optional) | Provide comment for the relation | It is the asset relation |
Create Asset-User Relation
Create a new relation of type USER_ASSET between assets or users in Lansweeper.
Key: createAssetUserRelationAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Child Asset (String / Required) | Provide the child asset key or select from a dropdown list to link with parent asset or user | 24fb1141-db06-3f2d-b4f4-e4eff28b003b OR Thinkbook1 |
| Parent Asset (String / Required) | Provide the parent asset or select from a dropdown list to link to a child asset | 24fb1141-db06-3f2d-b4f4-e4eff28b003b OR Thinkbook1 |
| Relation Type (String/ Required) | Provide the Relation type that defines the relation type or select from a dropdown list. You can get this ID from GetRelations action. | MTAtQXNzZXRSZWxhdGlvblR5cGUtNmRkMmNjMmQtMzljNi00NmMwLWEwMTktYWE0NmFlMzZjNTIy OR Inside |
| Start Date (DateTime / Optional) | Provide start date of the relation in (yyyy-MM-dd) format | 2025-08-29 |
| End Date (DateTime / Optional) | Provide end date of the relation in (yyyy-MM-dd) format | 2025-08-29 |
| Comment (String / Optional) | Provide comment for the relation | It is the asset relation |
List Custom Fields
This action is used to fetch list of custom fields.
Key: listOfAssetCustomFieldsAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) |
Create Custom Field
This action is used to create new custom field.
Key: createAssetCustomFieldAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Type (Select / Required) | Provide Custom field Type to create. | 'INPUT', 'TEXTAREA', 'SELECT', 'DATE', 'TIME', 'CURRENCY', 'HYPERLINK', 'NUMERIC' |
| Currency Type (Select / Optional) | Provide Type of currency type in case of CURRENCY | 'USD', 'EUR', 'JPY', 'CHF', 'GPB' |
| Link Tag (String/ Optional) | Provide the tag for the Link in case of HYPERLINK | Tag |
| Minimum Numeric Value (Number / Optional) | Provide the minimum allowed value in case of NUMERIC type | 20 |
| Maximum Numeric Value (Number / Optional) | Provide the maximum allowed value in case of NUMERIC type | 40 |
| Options (ValueList / Optional) | Provide the list of selectable options in case of SELECT type. |
Match Assets
This action is used to match Lansweeper Assets with external data.
Key: matchAssetsAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| External Data | Provide external data in JSON format. The data should be in an array of objects format where each object is an asset. | [ { "srno": "23123", "details": { "name": "Asset 01", "model": "model-1" }, "network": { "mac": "00:1A:2B:3C:4D:5E", "ip_address": "192.168.2.4" }, "custom": { "domain": "aws-domain" } } ] |
| Key | Provide path for key, to match against the Lansweeper Asset Key | key |
| Serial Number Path | Provide path for serial number from your external data to match against Lansweeper assets | srno |
| Asset MAC Address Path | Provide path for MAC address from your external data to match against Lansweeper assets | network.mac |
| Asset Name Path | Provide path for asset name from your external data to match against Lansweeper assets | details.name |
| Asset IP Address Path | Provide path for IP address from your external data to match against Lansweeper assets | network.ip_address |
| Model Path | Provide path for model names from your external data (e.g., details.model) to match against Lansweeper assets | details.model |
| Additional Match Field 1's corresponding Lansweeper Field | Select the corresponding Lansweeper field which will be used to match with path mentioned in Additional match field 1 Path input | asset.general.domain |
| Additional Match Field 1 Path | Provide path for Additional match field 1 from your external data (e.g., custom.domain) to match against Lansweeper assets | custom.domain |
| Additional Match Field 2's Corresponding Lansweeper Field | Select the corresponding Lansweeper field which will be used to match with path mentioned in Additional match field 2 Path input | asset.general.domain |
| Additional Match Field 2 Path | Provide path for Additional match field 2 from your external data (e.g., custom.domain) to match against Lansweeper assets | custom.domain |
| Lansweeper Custom Fields to Match | Provide the key of a Lansweeper custom field in key, and external data path in value to match against Lansweeper custom fields | [ { "key": "3a2b212f-c344-4bc7-ad6d-3fd965ba9d77", value: "asset_sync" } ] |
| Case Sensitive Match | A toggle button for enabling case sensitive match with Lansweeper assets | true |
| Additional Assets Details (Value List / Optional) | Specifies the additional fields to include in the response | asset.scan.created_at, asset.general.category, asset.cloud.provider, asset.cloud.region, asset.cloud.tags, asset.general.description, asset.general.domain, asset.cloud.environment_id, etc. |
| Get LS Unmatched Assets | This toggle specifies whether to include unmatched assets from Lansweeper or not | True or False (boolean) |
Output
| Field Path | Description |
|---|---|
| results.matched | Array containing matched assets. |
| results.matched[].key | Unique identifier for an asset. |
| results.matched[].matchedBy | Fields that contributed to the match. |
| results.matched[].matchPercentage | Percentage of fields that matched. |
| results.matched[].unmatchFields | List of fields that did not match in current asset. |
| results.matched[].unmatchFields[].lansweeperFieldValue | Value of the Lansweeper asset for an unmatched field. |
| results.matched[].unmatchFields[].lansweeperFieldName | Name of the Lansweeper asset for an unmatched field. |
| results.matched[].unmatchFields[].externalFieldValue | Value of the external asset for an unmatched field. |
| results.matched[].unmatchFields[].externalFieldName | Name of the external asset for an unmatched field. |
| results.matched[].externalAssetData | Container for external asset data of the matched asset. |
| results.matched[].lansweeperAssetData | Container for Lansweeper asset data of the matched asset. |
| results.unmatched | List of external assets which aren't matched with any of the LS assets. |
| results.LSUnmatched | List of Lansweeper assets which aren't matched. |
Implementation Approach
The data from the External Data input is validated to check data must be in an array of objects format where each object has external device information. Then the external data paths input are validated to check they are of the correct format.
Example:
detail.name: correctdetail.name[0]: correct
Perform Matching:
Once the conditions are ready, the Lansweeper API is called. A GraphQL query is constructed using the conditions. This query specifies what data to fetch from Lansweeper based on the matching conditions and any additional fields that should be included in the response.
The query is sent to the Lansweeper API client, which communicates with the Lansweeper database and retrieves the matching assets. The API client may handle pagination if the number of matches is large, and it will only request the specific fields necessary for further matching or for the final output.
Implement efficient search algorithms or data structures like hash tables to quickly find potential matches. Attempt to match assets from different sources by comparing the data in the lookup maps with the extracted data.
Calculate Match Percentage:
For each potential match, calculate a score that represents how closely the assets match based on the criteria. The match percentage is calculated based on the weights of all the fields as mentioned in below table.
| Field Name | Weight |
|---|---|
| Key | 30 |
| Serial Number | 20 |
| MAC Address | 20 |
| Asset Name | 15 |
| IP Address | 10 |
| Model Name | 5 |
| Additional Match Field 1 | 0 |
| Additional Match Field 2 | 0 |
| Lansweeper Custom Fields | 0 |
Adjust the weights of the fields so that they sum up to 100. This is done by calculating a weight adjustment factor based on the current total weight of the enabled configurations and then applying this factor to each weight.
Example: If user has entered path in Serial Number Path and MAC Address Path and only Serial Number is matched:
- Weight Adjustment Factor = 100 / (40+30) = 1.429
- Adjusted Serial Number weight = 40 * 1.429 = 57.14
- Match Percentage = 57.14
Build Matched Assets List:
Compile a list of assets that have been successfully matched, including details about the match. It would also include a separate section for the unmatched fields of the matched asset.
Unmatched Assets List:
Determine which assets from the input external list were not matched to any assets in the Lansweeper assets.
Unmatched Assets from Lansweeper:
Determine which assets were not matched from the Lansweeper Assets.
Add New Asset
This action is used to add a new asset.
Key: addAssetAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Name (String / Required) | Provide the name used to uniquely identify the asset. | Lenovo Thinkbook |
| State (String / Required) | Provide the current state of the asset. | 2ae1723c-4a3a-4d3e-81ee-b7ccfe0a9b70 or Windows |
| Type (String / Required) | Provide the classification or category of the asset | f517d7c1-a054-450b-99a4-be44f2a0f330 or Active |
| Acquisition Type | Provide the method by which the asset was acquired | Lease |
| Description | Provide a detailed description of the asset, including its purpose, characteristics, or any relevant notes. | Windows device |
| Domain | Provide the domain name associated with the asset. | lansweeper.com |
| FQDN | Provide the fully qualified domain name (FQDN) of the asset. | pointless-dash.com |
| IP Address | Provide the IP address assigned to the asset. | 10.0.0.0 |
| Barcode | Provide the barcode value associated with the asset for identification purposes. | barcode |
| Branch Office | Provide the name of the branch office where the asset is located. | branchOffice |
| Building | Provide the building name or identifier where the asset is housed. | building |
| Notes | Provide additional notes related to the asset. | This is a note. |
| Contact | Provide the name of the primary contact responsible for the asset. | contact |
| Department | Provide the department that owns or uses the asset. | Department |
| DNS Name | Provide the DNS name associated with the asset. | Crest |
| Last Backup (yyyy-MM-dd) | Provide the date on which the asset was last backed up | 2026-01-05 |
| Last Image (yyyy-MM-dd) | Provide the date on which the asset was last imaged | 2026-01-05 |
| Last Patched (yyyy-MM-dd) | Provide the date on which the asset was last patched | 2026-01-05 |
| Location | Provide the geographical location where the asset is deployed. | Location |
| Manufacturer | Provide the name of the asset's manufacturer. | Microsoft |
| Model | Provide the model name or number of the asset. | 750-810 |
| PO Date (yyyy-MM-dd) | Provide the purchase order date for the asset | 2026-01-05 |
| PO Number | Provide the purchase order number associated with the asset. | 20 |
| Purchase Date (yyyy-MM-dd) | Provide the date on which the asset was purchased | 2026-01-05 |
| Serial Number | Provide the serial number of the asset. | de098822 |
| System SKU | Provide the system SKU used to uniquely identify the asset model. | 80be755e-42aa-4d92-8e8f-c18ced69bbd9 |
| Warranty End Date (yyyy-MM-dd) | Provide the date on which the asset warranty expires | 2026-01-05 |
| MAC | Provide the MAC address associated with the asset. | B6:59:E5:B1:75:D3 |
| Firmware Version | Provide the firmware version currently installed on the asset. | v1 |
| Module Type | Provide the module or component type associated with the asset. | Program |
| Custom Fields (Key-Value List / Optional) | Specify user defined asset custom fields key you want to add and paste it into the 'key' input. Provide the corresponding value for the update. https://developer.lansweeper.com/docs/data-api/reference/types/#assetcustominput | Key: "8d6a2ea7-0b9d-4847-b2d2-a300956c8d1e" Value: "Updated" |
Scan Now
This action is used to perform the scan operation.
Key: scanNowAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Source (String / Required) | Select a source by its display name, or enter the source ID for a custom value | 6229ae33-6320-4c7b-ad36-59fb2cbf3337 OR PF4RVDDK |
Delete Relation
This action is used to delete a relation linking a Lansweeper asset or user to an asset.
Key: deleteRelationAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Relation ID (String / Required) | Provide the Relation ID corresponding to the relation that needs to be deleted. | 6229ae33-6320-4c7b-ad36-59fb2cbf3337 |
Raw Graphql Request
This action is used to execute a raw GraphQL query or mutation.
Key: rawGraphQLRequestAction
| Input | Comments | Example |
|---|---|---|
| Connection (connection / Required) | ||
| Query or Mutation (Code (GraphQL) / Required) | Provide a valid graphql query or mutation | query getAssetStates { site(id: "replace_this_with_your_site_id") { id assetStates { name assetStateKey } } } |