• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
ControlUp Community

ControlUp Community

Connect, Learn, and Grow

  • Blog
  • Podcast
  • Meetups
  • Archives
  • Categories
    • ControlUp One Platform
    • ControlUp for Apps
    • ControlUp for Compliance
    • ControlUp for Desktops
    • ControlUp Scripts & Triggers
    • ControlUp Synthetic Monitoring
    • ControlUp for VDI
  • Topics
  • Events
    • Logos & Wallpaper
    • ControlUp.com
  • Join

Troubleshooting a Conversion from ControlUp Trigger Template to JSON and Webhook

Posted on August 5, 2025

A webhook payload in JSON format was causing issues when trying to convert a ControlUp Advanced Trigger template. The user received suggestions on how to properly format the JSON, including using the correct variables and escaping newline characters. The issue was also discussed in a previous Slack thread.


Read the entire ‘Troubleshooting a Conversion from ControlUp Trigger Template to JSON and Webhook’ thread below:

This is an absolute long shot and I totally understand if it’s something that just can’t be answered easily.

I took the ControlUp Advanced Trigger template and attempted to convert it to JSON format for a webhook.

Tried doing it myself, used ChatGPT, and even gave Claude a shot.

The challenge is: no matter what I try, the Columns involved in this incident section never renders the values. Everything above it works perfectly.

Here’s how it renders right now:

“`The monitored resource has matched the conditions specified below.

Organization Name:

Folder name:

Reported by: ControlUp Monitor Service on

Trigger name: AAS_Analyze Logon Duration above 240 seconds

Resource name:

Resource type: Sessions

Stress Level: Advanced

Incident timestamp (UTC -5 Central Standard Time): 8/5/2025 9:04:01 AM

Columns involved in this incident:

$(ListOfColumns:" Column: $(Column)

Value changed from $(ColumnValueBefore) to $(ColumnValueAfter)

On (UTC -5 Central Standard Time): $(ColumnTimestamp)

Threshold crossed: $(ColumnCrossedThreshold)

")“`

Here’s the JSON I’m using for the webhook payload:

“`{

"text": "The monitored resource has matched the conditions specified below.\n\tOrganization Name: $(OrgName)\n\tFolder name: $(CUFolderName)\n\tReported by: $(ReportedBy)\n\tTrigger name: $(TriggerName)\n\tResource name: $(ObjectName)\n\tResource type: $(ResourceType)\n\tStress Level: Advanced\n\tIncident timestamp ($(Timezone)): $(Timestamp)\n\tColumns involved in this incident:\n$(ListOfColumns:\"\t\tColumn: $(Column)\n\t\tValue changed from $(ColumnValueBefore) to $(ColumnValueAfter)\n\t\tOn ($(Timezone)): $(ColumnTimestamp)\n\t\tThreshold crossed: $(ColumnCrossedThreshold)\n\")"

}“`

Not sure if we have any JSON or ControlUp webhook gurus here who’ve successfully gotten this to work — would love any pointers or confirmation on whether $(ListOfColumns:…) is even supported in this context.

I searched and saw that someone else already asked the same question.

https://controlupcommunity.slack.com/archives/C0467CKR0MC/p1754206447653899?thread_ts=1742570295.102529&cid=C0467CKR0MC


The linked issue is different I think. Mathias is having an issue where the payload is getting converted. But listofcolumns will add a newline character between each column. Which a lot of platforms don’t like (for example SNOW)

Your JSON seems to be attempting to escape the variables. What you paste in the payload section in ControlUp doesn’t need to be valid JSON. The monitors will replace the variables at runtime, therefor making it valid JSON at runtime.

You’ll want to use a format like this.

“`{

"description": "$(ListOfColumns:"The column:$(Column) has changed from $(ColumnValueBefore) to $(ColumnValueAfter)")",

"category": "Logon",

"cmdb_ci":"$(compname)",

"subcategory": "AverageLogonDuration",

"urgency":"4",

"priority":"4",

"short_description":"$(TriggerName)"

}“`

Or for your example:

“`{

"text": "The monitored resource has matched the conditions specified below.\n\tOrganization Name: $(OrgName)\n\tFolder name: $(CUFolderName)\n\tReported by: $(ReportedBy)\n\tTrigger name: $(TriggerName)\n\tResource name: $(ObjectName)\n\tResource type: $(ResourceType)\n\tStress Level: Advanced\n\tIncident timestamp ($(Timezone)): $(Timestamp)\n\t $(ListOfColumns:"The column:$(Column) has changed from $(ColumnValueBefore) to $(ColumnValueAfter)")"

}“`

resulting in


Thanks, Dennis, for the suggestion. I don’t think I can use it as-is since Google Chat has strict requirements for the JSON format. Our pre-sales engineer might try to set up a call with both of us so the three of us can work through it together.

Continue reading and comment on the thread ‘Troubleshooting a Conversion from ControlUp Trigger Template to JSON and Webhook’.  Not a member? Join Here!


Categories: All Archives
Topics: ControlUp Monitor, Reporting, System Stress, Triggers

Ask Us Anything, Connect, Learn, and Grow with the ControlUp Community!

Login to the ControlUp Community to ask us anything, stay up-to-date on what’s new and coming soon and meet other like-minded techies like you.

Not already a member? Join Today!

Primary Sidebar

ControlUp Academy

Enroll in ControlUp Academy for expert-led technical training, equipping you with skills to effectively deploy, manage, and grow your ControlUp investment.

Learn here >

Rotating Images

Hidden Gem from our Community on Slack!

ControlUp Betas - What's Coming Next?
NEW ControlUp Features - Stay Up-to-Date!
ControlUp Scripts - Scripting, Zero to Hero
Latest KB Articles - Be the First to Learn
Did you Know - with Sivan Kroitoru
Practical Perspectives Technical Use Case Training

Video Tutorials Library

Visit our technical how-to videos, offering step-by-step tutorials on advanced features, troubleshooting, and best practices.

Watch here >

ControlUp Blog

Check out the ControlUp blog for expert advice and in-depth analysis.

Read here >

ControlUp Script Library

Visit the ControlUp technical script library, which offers a multitude of pre-built scripts and custom actions for your monitoring and troubleshooting requirements.

See here >

ControlUp Support

Visit the ControlUp support home and to delve deeper into ControlUp solutions.

Browse here >

Download ControlUp RealTime DX

Start with ControlUp for real-time end-user environment insights, swift troubleshooting, and unprecedented performance optimization. Download now.

Download here >

Footer

      

ControlUp Community
Of Techie, By Techie, For Techie!

Terms of Use | Privacy Policy | Security
Dive Deeper, Learn more at ControlUp.com

  • facebook
  • twitter
  • youtube
  • linkedin

© 2023–2025 ControlUp Technologies LTD, All Rights Reserved.

We use cookies to ensure that we give you the best experience on our website. by continuing to use this site you agree to our Cookie policy..