---
title: Example: Moving Records Using a Webhook
slug: neurons-for-itsm/admin-user-help/enu/latest/example-moving-records-using-a-webhook
createdAt: 2026-07-14T19:16:37.488Z
---

## Scenario

A company uses Cherwell Service Management (CSM) to track the creation of records. However they want to replicate the creation of that small number of records in Ivanti Neurons for ITSM automatically.

There is an HTTP Request One-Step Action in CSM that calls a webhook to automatically replicate any created records in ITSM. CSM then sends the request with no intermediate formatting required.

### Prerequisites

This example assumes you have administrator-level access to CSM and are familiar with creating both business objects and One-Step Actions™. You also need an Administrator Role for ITSM.

::::ExpandableHeading
## Setting up CSM

1. In CSM, create a business object called **Laptop&#x20;**&#x74;hat mirrors one already created in ITSM.

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/GjWfv1mJ84-YjkxfXFkuL_csmcreatebo.png" position="flex-start" size="40" initialPath="images/csm_create_bo.png" githubPath="Content/Configure/Webhooks/images/csm_create_bo.png" showCaption="false" indent="1"}

:::Paragraph{indent="1"}
For help on creating business objects in CSM, see: [Create or Edit a Business Object in CSM](https://help.cherwell.com/bundle/csm_features_10_5_help_only/page/content/suite_features/business_objects/create-edit_a_business_object.html).
:::

2. In CSM, create an **Automatic Action** for the **Laptop&#x20;**&#x62;usiness object called **Send Record to ISM**. This triggers an **HTTP Request One-Step Action** to send data to the ITSM webhook.

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/n4CYHy5ZpXutbrv2ARQ3c_csm-create-action1.png" position="flex-start" size="40" initialPath="images/csm-create-action1.png" githubPath="Content/Configure/Webhooks/images/csm-create-action1.png" showCaption="false" indent="1"}

3. Ensure that **Execute on First Save** is selected.

:::Paragraph{indent="1"}
For help on creating One-Step Actions in CSM, see: [Create or Edit a One-Step Action](https://help.cherwell.com/bundle/csm_features_10_5_help_only/page/content/suite_features/one-steps/create-edit_a_one-step.html).
:::

4. Select the ellipsis on the right-hand-side of the action name followed by **Edit&#x20;**&#x69;n the right-click context menu to open th&#x65;**&#x20;One-Step Editor**.

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/YgFLaqkI-WUUY2l6YhiDR_csm-create-action2.png" position="flex-start" size="40" initialPath="images/csm-create-action2.png" githubPath="Content/Configure/Webhooks/images/csm-create-action2.png" showCaption="false" indent="1"}

5. Enter these values in to the fields as follows:

| Field  | Value                                                                                             |
| ------ | ------------------------------------------------------------------------------------------------- |
| Name   | HTTP Request                                                                                      |
| Method | POST                                                                                              |
| URL    | https\://\{tenant url}/api/rest/Webhooks/Execute?extension=CreateLaptop                           |
| Body   | \{"cores" : LaptopCores, "ram" : Laptop.RAM(GB),"make" : "Laptop.Make", "model" : "Laptop.Model"} |

:::hint{type="info"}
**Tip:** Data from the created record is embedded in the JSON to be sent.
:::

6. Select **Headers&#x20;**&#x61;nd add the necessary authorisation header. In this case, rest\_api\_key=\{your REST API key}.

:::Paragraph{indent="1"}
To get a REST API key, see: [Using the REST API Key](docId\:UaQTDeGHj3Ebw29Q0goP8).
:::

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/XPIk37-ZW2emRnjxC8HyT_csm-create-action3.png" position="flex-start" size="40" initialPath="images/csm-create-action3.png" githubPath="Content/Configure/Webhooks/images/csm-create-action3.png" showCaption="false" indent="1"}
::::

::::ExpandableHeading
## Setting up ITSM

1. Ensure that an identical business object called **Laptop** exists in ITSM.

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/5SxNckGGb-vDG5N9MWds1_csm-eg-itsm-bo.png" position="flex-start" size="40" initialPath="images/csm-eg-itsm-bo.png" githubPath="Content/Configure/Webhooks/images/csm-eg-itsm-bo.png" showCaption="false" indent="1"}

2. Open the **Graphical Action Designer**.

:::Paragraph{indent="1"}
See: [Using the Graphical Action Designer (GAD)](docId:2Wq6ihUN2zxiR21eA3M7g).
:::

:::hint{type="info"}
**Tip:&#x20;**&#x59;ou can use the **Classic Action Designer** if you prefer.
:::

3. Create an Action using the **Update Stored Values and Variables** Action block type. This block updates the stored values and variables used in your Action.

:::Paragraph{indent="1"}
For more help see: [Update Stored Values and Variables Quick Action](docId\:DofJmmkz8_OmkTCcL485K)
:::

4. Configure the Action to store the JSON in the required variable **WebhookBody**. Create a new block using the **Update Variable and Stored Values** Action block type and edit the values as follows:

| Field         | Value                                                              |
| ------------- | ------------------------------------------------------------------ |
| Variable Type | Variable                                                           |
| Name          | WebhookBody                                                        |
| Data Type     | JSON                                                               |
| Value         | Will be populated by Simplified Expression Editor (see next step). |

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/ZLL6iR3EIUjKTz1snoRFe_csm-eg-itsm-qa1.png" position="flex-start" size="40" initialPath="images/csm-eg-itsm-qa1.png" githubPath="Content/Configure/Webhooks/images/csm-eg-itsm-qa1.png" showCaption="false" indent="1"}

5. Create a new block using the **Create a New Record** block type and then create an expression using the Simplified Expression Editor to use that variable to populate the fields. Use this expression:

:::Paragraph{indent="1"}
$(JSONPathValue(Variable("WebhookBody"), "$.cores"))
:::

:::Paragraph{indent="1"}
For help, see: [Using the Simplified Expression Editor](docId\:AYcVgwQ-XAxop0oFPGL9H)
:::

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/fX7Wa21mYfaxdVVcd1RHy_csm-eg-itsm-qa2.png" position="flex-start" size="40" initialPath="images/csm-eg-itsm-qa2.png" githubPath="Content/Configure/Webhooks/images/csm-eg-itsm-qa2.png" showCaption="false" indent="1"}

6. Create a webhook to trigger this Action when data is sent to the appropriate endpoint. In the **Settings&#x20;**&#x6D;enu, click on **Webhooks Manager** in the **Build&#x20;**&#x73;ection.

:::Paragraph{indent="1"}
The **Webhooks Manager** opens.
:::

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/0YWP5EdRGlpA7Lh8oi5l0_creatingwebhook.png" position="flex-start" size="40" initialPath="images/creating_webhook.png" githubPath="Content/Configure/Webhooks/images/creating_webhook.png" showCaption="false" indent="1"}

7. Click **Add a Webhook**.
8. Enter information into the fields:

| Field                  | Value                                                                   |
| ---------------------- | ----------------------------------------------------------------------- |
| Name                   | Create a Laptop Record                                                  |
| Description            | Webhook for creating a record to mirror one created in CSM.             |
| Endpoint Extension     | CreateLaptop<br />**Note:** The endpoint extension is case-sensitive.   |
| Full Endpoint          | https\://\{tenant url}/api/rest/Webhooks/Execute?extension=CreateLaptop |
| Select Business Object | Laptop                                                                  |
| Select Action          | Create Laptop from JSON (Composite Action)                              |

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/I5wgN2IEMWlwygnw_VL4z_addwebhook1blanks.png" position="flex-start" size="40" initialPath="images/add_webhook1_blanks.png" githubPath="Content/Configure/Webhooks/images/add_webhook1_blanks.png" showCaption="false" indent="1"}

9. Click **Save**.

:::Paragraph{indent="1"}
A confirmation message appears saying **Webhook successfully created**. Your webhook appears in the list and is enabled by default.
:::
::::

:::ExpandableHeading
## Using the Webhook

1. To see your webhook in action and/or test it, check there are no records in ITSM for your **Laptop&#x20;**&#x62;usiness object:

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/IFGIj3-rXw0REiWm6rMFu_csm-eg-test1.png" position="flex-start" size="40" initialPath="images/csm-eg-test1.png" githubPath="Content/Configure/Webhooks/images/csm-eg-test1.png" showCaption="false" indent="1"}

2. Go to CSM and create some new laptop records using a CSM Client (Desktop Client shown):

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/7fHSOpzlksafbxLFLcebr_csm-eg-test2.png" position="flex-start" size="40" initialPath="images/csm-eg-test2.png" githubPath="Content/Configure/Webhooks/images/csm-eg-test2.png" showCaption="false" indent="1"}

3. Go to ITSM and select **Refresh**.
4. When the chosen trigger occurs, (in this case, records being created in CSM), the webhook runs in the background and carries out its task. Your records are automatically replicated from CSM into ITSM.

::Image[]{src="https://api.archbee.com/api/optimize/parib0MC3hVoUNdfQdnac/a0h9rDXtjnhydDTIvQSCj_csm-eg-test3.png" position="flex-start" size="40" initialPath="images/csm-eg-test3.png" githubPath="Content/Configure/Webhooks/images/csm-eg-test3.png" showCaption="false" indent="1"}
:::
