Skip to content
Advertisement

Concatenating a string to a JOLT value output

I using JOLT to transform and extract a URL of an object, but it’s only the URL slug. Is it possible to concatenate a static string to that slug to have a full URL?

The current output is:

{
  "title" : "Where is deleted user data visible, and for how long is it there?",
  "externalId" : "where_is_deleted_user_data_visible__and_for_how_lo",
  "summary" : "Deleted user data is stored in LP and visible for 13 months following deletion.",
  "detail" : "<p>Deleted user data is stored in LP and visible for&nbsp;<strong>13 months following deletion.</strong></p>n<p>Deleted agents are displayed with a '(deleted)' indicator in the Open Conversations, All Conversations, Web History lists, and the Conversation History widget.</p>n<object type="application/kenticocloud" data-type="item" data-rel="component" data-codename="n6fdd091f_fcb5_012a_8745_c1671c268e6b"></object>n<p>Filter by deleted agents is available in the Open Conversations, All Conversations, and web history lists.</p>n<p>In the visitor conversation window, the name of the deleted agent will be displayed in the window header (with no indication that they have been deleted).</p>n<p>The LP user limit '<code>collections.maxElements</code>' will not count the number of deleted users in the total.</p>n<object type="application/kenticocloud" data-type="item" data-rel="component" data-codename="n3f1dea42_ac2e_01c6_cbd6_3f802d4e8fb3"></object>",
  "url" : "faqs-data-reporting1.html"
}

And the expected output is:

{
  "title" : "Where is deleted user data visible, and for how long is it there?",
  "externalId" : "where_is_deleted_user_data_visible__and_for_how_lo",
  "summary" : "Deleted user data is stored in LP and visible for 13 months following deletion.",
  "detail" : "<p>Deleted user data is stored in LP and visible for&nbsp;<strong>13 months following deletion.</strong></p>n<p>Deleted agents are displayed with a '(deleted)' indicator in the Open Conversations, All Conversations, Web History lists, and the Conversation History widget.</p>n<object type="application/kenticocloud" data-type="item" data-rel="component" data-codename="n6fdd091f_fcb5_012a_8745_c1671c268e6b"></object>n<p>Filter by deleted agents is available in the Open Conversations, All Conversations, and web history lists.</p>n<p>In the visitor conversation window, the name of the deleted agent will be displayed in the window header (with no indication that they have been deleted).</p>n<p>The LP user limit '<code>collections.maxElements</code>' will not count the number of deleted users in the total.</p>n<object type="application/kenticocloud" data-type="item" data-rel="component" data-codename="n3f1dea42_ac2e_01c6_cbd6_3f802d4e8fb3"></object>",
  "url" : "https://www.static-url.com/faqs-data-reporting1.html"
}

The JOLT Spec is:

[
  {
    "operation": "shift",
    "spec": {
      "item": {
        "system": {
          "name": "title",
          "codename": "externalId"
        },
        "elements": {
          "short_answer": {
            "value": ["summary"]
          },
          "long_answer": {
            "value": "detail"
          }
        }
      },
      "modular_content": {
        "*": {
          "elements": {
            "permalink": {
              "value": "url"
            }
          }
        }
      }
    }
 }
]

The JSON input is:

{
  "item": {
    "system": {
      "id": "6e55g261aee-34d9-47be-8830-145ec71b564f",
      "name": "Where is deleted user data visible, and for how long is it there?",
      "codename": "where_is_deleted_user_data_visible__and_for_how_lo",
      "language": "en-US",
      "type": "faq",
      "collection": "default",
      "sitemap_locations": [],
      "last_modified": "2022-04-11T15:32:08.0844256Z",
      "workflow_step": "published"
    },
    "elements": {
      "question": {
        "type": "text",
        "name": "Question",
        "value": "Where is deleted user data visible, and for how long is it there?"
      },
      "short_answer": {
        "type": "text",
        "name": "Bot Teaser Answer",
        "value": "Deleted user data is stored in LP and visible for 13 months following deletion."
      },
      "long_answer": {
        "type": "rich_text",
        "name": "Full Answer",
        "images": {},
        "links": {},
        "modular_content": [
          "n6fdd091f_fcb5_012a_87545_c1671c268e6b",
          "n3f1dea42_ac2e_01cdf6_cbd6_3f802d4e8fb3"
        ],
        "value": "<p>Deleted user data is stored in LP and visible for&nbsp;<strong>13 months following deletion.</strong></p>n<p>Deleted agents are displayed with a '(deleted)' indicator in the Open Conversations, All Conversations, Web History lists, and the Conversation History widget.</p>n<object type="application/kenticocloud" data-type="item" data-rel="component" data-codename="n6fdd091f_fcb5_012a_8745_c1671c268e6b"></object>n<p>Filter by deleted agents is available in the Open Conversations, All Conversations, and web history lists.</p>n<p>In the visitor conversation window, the name of the deleted agent will be displayed in the window header (with no indication that they have been deleted).</p>n<p>The LP user limit '<code>collections.maxElements</code>' will not count the number of deleted users in the total.</p>n<object type="application/kenticocloud" data-type="item" data-rel="component" data-codename="n3f1dea42_ac2e_01c6_cbd6_3f802d4e8fb3"></object>"
      },
      "faq_page": {
        "type": "modular_content",
        "name": "This FAQ item's FAQ page(s)",
        "value": [
          "data___reporting_9658b36"
        ]
      },
      "related_article": {
        "type": "modular_content",
        "name": "Related article",
        "value": []
      }
    }
  },
  "modular_content": {
    "data___reporting_9658b36": {
      "system": {
        "id": "9658bddf362-735b-47fd3c-9232-26de14835d8f",
        "name": "Data & Reporting",
        "codename": "data___reporting_9658b36",
        "language": "en-US",
        "type": "kc_faqs",
        "collection": "default",
        "sitemap_locations": [],
        "last_modified": "2022-04-13T16:18:12.2538592Z",
        "workflow_step": "published"
      },
      "elements": {
        "pagename": {
          "type": "text",
          "name": "Title",
          "value": "Data & Reporting"
        },
        "faq_items": {
          "type": "modular_content",
          "name": "FAQ Items",
          "value": [
            "how_do_i_find_chats_that_only_contain_private_mess",
            "how_do_i_understand_why_a_chat_ended_",
            "how_do_i_change_the_email_address_for_scheduled_re",
            "how_do_i_retrieve_data_that_has_been_masked_",
            "where_is_deleted_user_data_visible__and_for_how_lo"
          ]
        },
        "related_articles": {
          "type": "modular_content",
          "name": "Related Articles",
          "value": []
        },
        "permalink": {
          "type": "url_slug",
          "name": "URL slug",
          "value": "faqs-data-reporting1.html"
        },
        "redirects": {
          "type": "text",
          "name": "redirects",
          "value": "faqs-data-reporting1.html"
        }
      }
    },
    "n3f1dea42_ac2e_01c6_cbd6_3f802d4e8fb3": {
      "system": {
        "id": "3f1dea42-ac2e-01c6-cbd6-3f802d4e8fb3",
        "name": "3f1dea42-ac2e-01c6-cbd6-3f802d4e8fb3",
        "codename": "n3f1dea42_ac2e_01c6_cbd6_3f802d4e8fb3",
        "language": "en-US",
        "type": "contentbox",
        "collection": "default",
        "sitemap_locations": [],
        "last_modified": "2022-04-11T15:32:08.0844256Z"
      },
      "elements": {
        "type": {
          "type": "multiple_choice",
          "name": "Type",
          "value": [
            {
              "name": "Warning (orange)",
              "codename": "warning"
            }
          ]
        },
        "notice_text": {
          "type": "rich_text",
          "name": "Text",
          "images": {},
          "links": {},
          "modular_content": [],
          "value": "<p>A user who joined a chat and then was deleted won’t be reflected as deleted in the history.</p>"
        }
      }
    },
    "n6fdd091f_fcb5_012a_8745_c1671c268e6b": {
      "system": {
        "id": "6fdd091f-fcb5-012a-8745-c1671c268e6b",
        "name": "6fdd091f-fcb5-012a-8745-c1671c268e6b",
        "codename": "n6fdd091f_fcb5_012a_8745_c1671c268e6b",
        "language": "en-US",
        "type": "contentbox",
        "collection": "default",
        "sitemap_locations": [],
        "last_modified": "2022-04-11T15:32:08.0844256Z"
      },
      "elements": {
        "type": {
          "type": "multiple_choice",
          "name": "Type",
          "value": [
            {
              "name": "Notice (blue)",
              "codename": "notice"
            }
          ]
        },
        "notice_text": {
          "type": "rich_text",
          "name": "Text",
          "images": {},
          "links": {},
          "modular_content": [],
          "value": "<p>Before deleting a user, ensure that the agent doesn’t own any open conversations (if so, these conversations should be transferred to the queue) and that the user is logged out of LP.</p>"
        }
      }
    }
  }
}

Any option to add the static URL link to the output?

Advertisement

Answer

You can add a modify spec with concat function after the current shift transformation spec such as

  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "url": "=concat('https://www.static-url.com/',@(1,&))" // first argument is static, and the second one is dynamic(directly inherited from the current value of "url") content
    }
  }
Advertisement