Getting A Locally Debugged Logic App’s Callback URL
For those of you who want to locally automate testing of Logic Apps running in VSCode, this post is for you! Across the web, there are people asking for a dynamic way to get the Callback URLs for locally debugged logic apps. They run via func.exe and it has been previously thought that the only place to get the URL with the required 'auth' signature was the overview window of the workflow:
Fear not! I've used the development tools to rip apart VSCode and have worked out that our trusty local func.exe exposes all the webservices that Azure does! The full list of services available is over here. Specifically endpoints to list workflows, workflow triggers and then trigger Callback URLs with full signatures!
internal class LogicAppDetector
{
private string base_url;
public LogicAppDetector(string baseUrl = "http://localhost:7071/") {
this.base_url = baseUrl;
}
public List<LogicAppWorkflow> GetListOfWorkflows()
{
var workflowListJson = WebClient.DownloadAsString(base_url +
"runtime/webhooks/workflow/api/management/workflows");
return JsonSerializer.Deserialize<List<LogicAppWorkflow>>(workflowListJson);
}
public List<LogicAppWorkflowTrigger> GetWorkflowTriggers(string workflowName) {
var triggerListJson = WebClient.DownloadAsString(
base_url + "runtime/webhooks/workflow/api/management/" +
"workflows/" + workflowName + "/triggers");
return JsonSerializer.Deserialize<LogicAppWorkflowTriggerContainer>(triggerListJson).value;
}
public string GetWorkflowCallbackUrl(string logicAppWorkflowName)
{
var wf = GetListOfWorkflows().FirstOrDefault(x => x.name == logicAppWorkflowName);
if (wf == null) {
throw new Exception(
"Couldn't find workflow [" + logicAppWorkflowName + "] in the list?");
}
var trigs = GetWorkflowTriggers(logicAppWorkflowName);
if (trigs == null) {
throw new Exception(
"Couldn't find triggers for workflow [" + logicAppWorkflowName + "]?");
}
if (trigs.Count() != 1) {
throw new Exception(
"Incorrect trigger count for workflow [" + logicAppWorkflowName + "]" +
" ... count was " + trigs.Count() + "?");
}
var callbackUrlJson = WebClient.PostJsonData(
base_url + "runtime/webhooks/workflow/api/management/workflows/" +
logicAppWorkflowName + "/triggers/" + trigs[0].name +
"/listCallbackUrl", null); //payload is actually NULL.
var callbackData =
JsonSerializer.Deserialize<LogicAppWorkflowTriggerCallbackUrl>(callbackUrlJson);
return callbackData.value;
}
}
internal class LogicAppWorkflow
{
public string name { get; set; }
public string definition_href { get; set; }
public string href { get; set; }
public string kind { get; set; }
public object triggers { get; set; }
public bool isDisabled { get; set; }
}
internal class LogicAppWorkflowTriggerContainer
{
public List<LogicAppWorkflowTrigger> value { get; set; }
}
internal class LogicAppWorkflowTrigger
{
public string id { get; set; }
public string name { get; set; }
public string type { get; set; }
}
internal class LogicAppWorkflowTriggerQueries
{
[JsonProperty("api-version")]
public string apiversion { get; set; }
public string sp { get; set; }
public string sv { get; set; }
public string sig { get; set; }
}
internal class LogicAppWorkflowTriggerCallbackUrl
{
public string value { get; set; }
public string method { get; set; }
public string basePath { get; set; }
public LogicAppWorkflowTriggerQueries queries { get; set; }
}
You'll just need to plug in whatever you're using for Web Requests to GET and POST. Also make sure that the actual Logic App is running/debugging in VSCode!
Leave a comment if you have any issues.
ATX12VO – MSI MPG Trident AS
So this rabbit hole got very deep, very quickly! Bought a new machine... a smaller form-factor unit with great asthetics! Little did I think about any upgrade paths.
It came with an 8gb 4060 Ti which has been flawless for my needs, but I'm thinking I need 16gb... so... as that it's got enough room inside for a better video card? Why not?
I chose an RTX 5070 Ti based on price and RAM. As I was buying the card, the cashier told me I'd need 750+ watts of power and tried to sell me a new supply on-the-spot. Instead, I decided that I'd get home and check what was in the tin first, as brief googlin' indicated that some Tridents came with a Gold Power Supply.
But nope... my MSI Trident contained a 500w SFX. So, I went back to another PC store that afternoon and bought a Cooler Master V850 SFX Gold. A nice amount of power for my card!
Unfortunately, no amount of cable-jiggery-pokery would get the new ATX motherboard power cable to connect to the motherboard power socket? What gives? It turns out the Trident uses an ATX12VO power supply! A short-lived game-over ATX standard that Intel tried to push. They failed so-much-so that the standard has already been forgotten about. I take it I didn't realise how old this PC already was when I bought it. It was a refurb, so it probably lived its life in a gaming cafe.
Trying to find an exact ATX12VO SFX PSU with the correct wattage turned out to be futile. They just don't make them anymore! I started considering re-wiring the old plug from the old supply onto the new PSU, but there's a single pin that doesn't match: +12VSB. This wire is a constant 12v from the power supply to the motherboard for ancillary services. Things like charging USB devices when the machine is off (which could actually cause a lot of current draw?) and the power switch... which, thanks to ATX soft-power, needs a constant current trickle to determine if you've pressed it! I could possibly buck-convert the DC, like other people have tried... there's even a project for it here.
The googl' rabbit-hole went deeper and intially I found that Corsair has a custom cable, but I'd already purchased a Cooler Master! I then stumbled across Moddiy's site where they mention Cooler Master and ATX12VO on the same page! They'll create the custom cable for you with inline 12v boost for VSB!
In that last shot it looks like a snake processing a big meal, thanks to the heat sheath.
Cooler Master V850 SFX Pinout
The cable came with no mention of which end was for the PSU. Both ends have the same "ATX plug shape", so I didn't want to plug the damn thing in backwards. IF I had attempted to plug it in, I would've realised that only one side will go into the motherboard, but I was averse to doing it that way.
Instead, I started reversing both ends of both the power-supply-included cable and the new Moddiy cable to work out what was what. Turns out I really only needed to reverse the Cooler Master original cable on the plug, not the socket.
So, looking at the above cable, as it's shown, you get the following pinout:
| 10P M/B cable (not socket), looking at the plug with the notch facing up... | ||||
|---|---|---|---|---|
| 12v | 12v | -12v | +5vsb | POWER_OK |
| GND | GND | GND | 12v | 5v |
And that means the end of the cable with the 'top-central' pin missing is the Power-Supply side. The end with the 'loop' wire is the motherboard side. Everything routed through to the other end, as expected to match the ATX12VO standard.
Of course, the +5VSB didn't, as it goes through the inline DC converter which prevents a continuity test.
Mounting It In The Case
After taking the side panel off the machine, you'll find that the existing power supply has a mains lead running from the rear of the case to it's mounting bracket at the front.
First up you'll want to remove the 4 screws under the machine to release the mounting bracket.
Next, you want to gently push the power supply and bracket up, compressing the cluster of cables above to clear the bottom edge of the case.
Make sure to move any WiFi antennae out of the way! Once clear, the power supply can be lifted out via the base, disconnecting all cables (2 motherboard and 1 PCIE) at the same time.
From here, remove the base and attach it to the new power supply. Make sure that the notch is facing right when the power supply fan is facing you. This will allow the fan to line up correctly with the vent on the other side of the case.
Also make sure you switch the bloody thing on if it has an external switch like this one does! There'll be zero access to that once it's installed. Finally, connect the power cable and slide the new supply back into the case.
Line up all the WiFi antennae so you don't pinch them on installation! Route the required power cables to the expected sockets. I actually considered running the SATA power to the drives to take the pressure off the motherboard's voltage regulators... but maybe I'll do that later.
Power Test
With it all installed... I just sent it...
A healthy click from the relay inside the new power supply (that's a new feature!) and we're off!
Wooooooooooooooo hoooooooooooo.
New GFX
This is nearly Apple-level packaging. Very schmick!
They also totally overdid the protective film! I suppose they wanted to have ASMR vids from the streamers.
Installation is harmless... just watch out for sharp case edges! Oh, also, the new PCIE 5.1 Power Cable has a right-angle connector housing which is optional:
You can pry it off by getting a tiny screwdriver in those side clips. Anyway... the card was in... what to do?
WIN! Nvidia installed new GFX drivers automagically and it all JustWorked(TM)! A final test:
Perfect 4K 10000fps.
Dell PowerEdge 2200
This beast seems to have had a hard life and needed a bit of skewing to get it back into shape. I saw it on the usual auction site, from a seller nearby, and my offer was accepted! It seems nobody wanted it, as the seller had mentioned it was EISA and that standard ISA cards wouldn't work... little did they know!
The Dell PowerEdge 2200 contains a Dual Pentium II FX motherboard with EISA and PCI slots. Not much IO on the rear meant I could finally utilise one of the many USB cards sitting in the junk box! The case itself turned out to be not-quite plumb, so it received a few taps of love to get it as-square-as-possible.
I didn't wait to boot it up and, as expected (and mentioned by the seller), it came up fine. 256mb of RAM and a single CPU. It did keep throwing the following error though:
After replacing the CMOS battery and saving CMOS settings, I had assumed the error would have pissed-off, but it didn't? A quick google instructed me that this was the EISA bus reporting an error, which seems to be a secondary configuration requiring a boot-floppy configurator. You'll find the EXE (which writes a floppy for you) over here, even though it mentions that it is for a 2100.
How cute is that? Dell still has support for this machine! Either way, the configuration was saved, as there was no EISA to configure, and the error went away!
More CPU
The machine only had one 333mhz CPU installed, with a terminator in the second slot.
I google'd, checking what CPU speeds were available in the Deschutes Pentium II line and managed to procure two 450mhz units. Of course, I should've done proper research as it turns out that the motherboard's FX chipset's 66mhz bus meant it peaked at 333mhz. Hence why the existing CPU was only 333mhz. Even funnier, the jumpers on the motherboard only indicate 233mhz and 266mhz settings?
Turns out that RSVD1 = 300mhz and RSVD2 = 333mhz! The already-purchased 450mhz CPUs went in after grafting over a heatsink from the existing 333mhz CPU. I must admit, too much effort was required to remove the old heatsink!
I had to actually go and buy a solid new torx driver. I only attempted this after finding that this is the internet and people have already struggled... and triumphed! I actually had to hammer the screwdriver into the screws to be able to turn them without stripping the heads.
The CPUs were individually tested and then installed, happily underclocked. Of course, this was short-lived when the BIOS reported the following issue:
I needed a second CPU thermostat!... so I tried to work out how the existing one worked. It happened to be a directly-wired AD22103K, of which are mildly unobtanium. I went full-dodge and ordered it with a few EPROMs from China.
I wired it up as per the other themister and, well, the BIOS stopped complaining!?
More RAM
The Retro Web's page on the 2200 specifies EDO SDRAM and so I hunted down the box'o'junk. Of course... I had nothing that looked like the existing DIMM:
Lots of RAM was found, but the middle slot didn't seem to align?
I wonder what that middle slot specifies. Either way, I managed to find 3 more 64mb sticks...
Which then totalled 457772mb!
Nice. That means we're 256 + 64 + 64 + 64 (aka 512 - 64)... which is great as Win98 hates 512 and above.
Filling the EISA slots
There ain't much available for EISA slots on the marketplaces. I managed to hunt down a 10/100 Ethernet card, to free a PCI slot...
And then a second SCSI card, to provide an external SCSI port...
They all installed cleanly, with the SCSI card taking up the entire depth of the case! I think that's the first time I've ever used the plastic supports on the right of any AT/ATX case. You'll need the EISA configuration disk and then any relevant configuration files. The SCSI card worked from the configs already on-disk, but the ethernet needed a download.
One note for the SCSI card was that I needed to set it from Standard Mode to Enhanced Mode via the EISA Configuration Disk. I spent a lot of time trying to find DOS drivers for the card, until I realised that EISA is 'all powerful' and all settings are done via CFG files and the system-in-question's EISA configurator!
Windows 98 SE
Everything just worked! Quite amazing, really. The SCSI card needed a "find non-PNP hardware", as it was installed after Windows and is not PNP, despite being EISA.
Of course, Windows 98 doesn't use the second CPU, so mildly useless! It's bloody quick though... it takes more time to count RAM than it then does to get to the network login prompt.
Windows 2000 and XP
Win2K hates EISA! I suppose I could install a PCI network card just for it, but that'd sorta ruin the experience. Same goes for XP... but they do run well!
BeOS 5.0
Installed and worked perfectly.
The teapot spun and the CPU graphs danced!
Redhat 6.2
The HP J2577A 100VG EISA Ethernet card didn't work straight away, but this article at HPE's support forum indicated that I needed to insmod hp100, and?...
Yey! Adding the alias to /etc/conf.modules didn't quite get it loaded on boot... so I used linuxconf and then client -> local settings to get the adapter enabled and set up.
Next up I followed the instructions over here to get OpenTTD 0.1.4 going. Same problems and fixes as per that article and ....
Lol... what is that? I hadn't even realised I was running in 8bpp! How to fix? Xf86 runs in 8-bit by default, so... run as test of startx with...
#startx −− −bpp 16
And?
Yup! Looks good... you can commit this to /etc/X11/XF86Config with:
DefaultColorDepth 16
... in your "Screen" section. It's not DefaultDepth, as that's an alias in newer Xorgs, etc. Enjoy!
California, USA – December, 2025
This was a work trip to the USA for a software release. 13 days were spent in the greater LA area, with most of that being locked-down in an office, getting software deployed, integrations piped and data flowing. When this wasn't happening, it was already dark'o'clock thanks to USA being in Winter and the sun setting around 4pm. Either way, I still managed to see a few trains and flea markets... even for a work trip!
San Clemente
Pronounced San Cle-me-nie, San Clemente is a cute little beach town is just south of the greater LA area. The southbound rail to San Diego runs right along the coast past a few restaurants with great train-watching capability. I made the team choose the San Clemente Pier a few times for dinner so I could see what was passing.
During the day you'll get Amtrak and Metrolink push-pull (both cab-control and actual double-ended-loco) sets stopping erratically or passing at speed. I do note that Amtrak only stops at the Pier and Metrolink only stops at San Clemente Station, so do be careful if you're actually wanting to catch a train and not just seen them.
I had a night free during the week I was there and dawdled down to San Clemente Station. There happens to be a 7-Eleven combini nearby, but don't try this:
It was awful... and I knew it would be after seeing the crust still in the packet... I still tried it anyway! They also have ridiculously oversized cans of beer... no one was around, so I enjoyed one at the station.
Excuse the random photos as I was just using my phone at this point... no need to lug the real camera out when it's dark and impossible to get a good shot.
Metrolink came and went, and so did I. There's a southbound freighter that passes somewhere between 8pm and 9pm in winter time, but it took a few days to be able to see it. I'd watch the San Juan Capistrano Station railcam on the odd night to see if I could see a freighter passing... in the vain attempt to then run from the hotel (way up near the highway) downhill to the station to see it. I tried it once and could already hear the level crossing active with wagons passing when I was still too far away... so that approach was never going to work.
On one of the last nights, I just loitered until a bloody train came... it happened to be at around 915pm and was the usual BNSF jumble of autorack and tanker/mixed.
I'd also caught a northbound amtrak on another night. Excuse the quality, but you can also see the double-ended locos here:
And actually, that last video above was taken after a random walk along the track beside the railway line from San Clemente towards the Pier. It's actually quite nice with ample level crossings to give you enough advance warning!
A final note about the Pier was that there's mutliple copies of this painting... and I love that it includes a ballast wagon? I assume the train was parked there during the work to rectify landslides?
San Juan Capistrano Station
Work had finally concluded and it was time to enjoy friday+saturday+sunday in LA, staying in Hollywood!? I hadn't chosen the hotel+location, but wasn't complaining as Loews Highland Bvd looked to be a nice spot! I had to get there first though... and it wasn't easy thanks to the train schedule through San Clemente favouring southbound passengers in the AM and northbound in the PM! So? I caught a bus, tapping on with my CommBank Travel Card. How bloody convenient!
This took me into San Juan Capistrano and, well, I felt guilty that it was still 8am and I was there to transit. The town looks adorable, with a lot of old-fashioned shops to check out. Nothing was open and I wanted the next northbound train.
Of course, two south-bounders would pass before a north-bound arrived to take me.
Note that you need to buy Amtrak tickets online, or via a shitty little kiosk that's hard to find at the station. Ask the friendly volunteers for help to find it, as there are no Amtrak staff to be seen and their office (contained in old louvre wagons!) is shut.
I jumped on the next northbound heading for Los Angeles Union Station.
LAX - Los Angeles Union Station
Not to be confused with the airport, this station shares the same code! Not much to mention except lots of walking! There's one long underpass with branching entrances to each platform via stairs and ramps. If you want to transfer to metro or buses then get ready to run!
I took the subway to the hotel on Highland in Hollywood and then ventured north to visit a model railway shop.
The Train Shack
Santa Fe on the outside? What a mural! Love it. The Train Shack is pretty easy to get to by public transport... just take the subway to North Hollywood and then any bus heading east along Magnolia Blvd.
Inside it was a perfect throw-back to what model railway shops used to be like in Canberra. I still miss Hobby World in Civic! Anyway, here? Lots of Lionel and a great mix of everything else...
Even Japanese N Scale! I only took mild offense to the Kiraras being called "trams".
I bought a junk 4-4-0 Bachmann Old Timer Steam loco... for display, for now.
It can be a challenge sometime in the distant future. Meanwhile as I unboxed the train from its tattered housing...
Check out those ads!
El Monte
Although the shots of the loco above were at night, I actually went on a mini train trip after visiting the The Train Shack. I caught the bus east from the model shop to Burbank MetroLink Station and then caught the next south-bound to Union.
I then took the next San Bernadino east-bound to check out El Monte Station. This station shares trackage with Union Pacific and I really wanted to see a freighter operating. The trip out to El Monte is pretty cool as the track also runs parallel to a highway where you get to race traffic.
Of course... no freighters... but a nice pass at the station loop thanks to it being single track either side. From here I went back to Hollywood, ate and slept.
Vineland Swapmeet
Something USA does different: flea markets (aka Swap Meets). These are seemingly more-permanent, operating every day of the week! Vineland Swapmeet is out east in City Of Industry (Yes, that's the actual suburb name) and was easy-enough to get to.
I wanted to get there early, so I took an express highway-bus (which also runs parallel to the MetroLink line!) to El Monte Bus Interchange (not to be confused with the MetroLink station) and then a bus south along Valley Boulevard. It was then a 15 minute walk up Vineland Ave to the outdoor drive-in cinema that hosts the swapmeet.
At the gate, proceed to the left and down the side to the ticket booth. There were many people waiting in the middle of the main gate, which was open, but they seemed to be waiting to be called to be allowed to open/pay-for their stalls? I watched for a bit but realised customers were just entering down the side.
Final note before the barrage of photos: bring cash! I didn't... cash-only for entry! But they let me go inside and use the (mildly dodgy) ATM ... I risked it because there was no other option in the vicinity and I used a travel-money card which I could easily limit if anyone were to try hack.
There was a nice amount of everything. Half of it dollar-shop-shite... and then the other half being absolute junk! WHoooo!
Also note that the MetroLink line runs along the northern fence... so do take note of the timetable so you can also take terrible videos like this!
Of course, it wouldn't be until the final corner where I find a stall with everything I could ever want. I ended up buying a sealed pack of sony floppies and two trackball mices for the grand sum of USD$10.
Fullerton Station
This was a blast. I took the express bus back to Union Station and then the next Oceanside-bound MetroLink. Amtrak is a lot harder with seats and ticketing! There's a great cafe at Fullerton Station and they served up a delicious chicken burger meal! I then realised an unusual amount of train-buffs hanging around and, upon speaking to a few, realised that I'd turned up on the same day as their annual christmas get together!
The fog/smog was thick, and it wasn't long before a freighter added to the pollution...
Of course, when you're looking in one direction... you miss what's coming in the other direction!
The UP I had wanted to see the day prior showed up in the middle of this consist?
Is that Bill Clinton? I had seen enough trains... it was time to find another model railway shop.
Norwalk Station
I took the next westbound to Norwalk Station. It's on a great curve... that actually lead me to think that the freighters through Fullerton may have looked nicer here?
I waaaalked to the bus connection, quite a ways from the station as I'd just missed the bus that departs the actual station. The connections weren't the best on a Saturday.
Railmaster Hobbies
Down middle-south in Bellflower is Railmaster Hobbies. Not as big as The Train Shack, but still a beautiful shop! Lots of G Scale in all conditions!
I bought up some Santa Fe boxcars, resisting the urge to buy O Scale stuff that would not have fit in my suitcase!
Bellflower ain't an easy place to get to... but you really just need to wait for buses to show up. I was starting to doubt Google but managed to get there after waiting a while past the bus' expected arrival time.
Rose Bowl Flea Market
This was just one of those holy-moly-it's-on-the-same-weekend-as-my-visit! The Rose Bowl Flea Market has been going for 50 years and is on every-so-often as the Rose Bowl Stadium in Pasadena. After visiting the lower suburbs of LA, I was pleasantly surprised by the clean and tidiness of the northern suburbs.
Anyway, Metro was taken to Memorial Park Station and then the bus to the stadium. A very pleasant trip and I happened to be the only passenger on the bus? It seems LA is definitely a 'driving' city.
Not much to say but... it's huge! 50% vintage clothing... no dollar-shop shit... but also not much tech or model railways...
That stall in the final shot above had a total random selection of Lionel O and other G scale stuff... but nothing I wanted to lug around. It was great to go and check the place out!
You'll Never Find A More Wretched Hive Of Scum And Villainy
I made my way back to the hotel and realised I'd be 8 hours early to the airport if I left straight away. Instead I got off at the east end of Hollywood Bvd to check out something random. After Popeye's for lunch, it was across the road to the Scum And Villainy Cantina!
It's perfect and you should go and visit if you're on the dreadful strip!
Animaniacs
I nearly forgot something. During the first day of travelling to The Train Shack and then Burbank Station, something was faintly memorable about the name 'Burbank'... why did that ring a bell? I then remembered... Wakko Warner always used to mention it in Animaniacs with the WB studios being somewhere in 'Downtown Burbank California'? A quick google showed that it was due south of The Train Shack down North Hollywood Way! I'd gotten within a kilometre and hadn't visited.
I changed that mishap... I went back as I still had time... and I also went back to The Train Shack, because, why not... but the main reason to go was for this:
Haha... it's perfect. That's the Animaniacs house... right there in front of me!
See Ya, Los Angeles
There were other things that were hilarious. Scientology XMAS anyone? Goodwill stores with nothing but junk. The Nickelodeon HQ? That's a nostalgia hit as well... as with seeing a rugrat doll above at Rose Bowl.
Delivery robots? New fire-fighters being sworn in? Electric motorbikes?
Denny's? (Love that shit!) Hilarious Hyundai number plates? Cyber Trucks? Lots of Cyber Trucks!
A subway that ... well ... attracted the wrong people and had a constant thick unbreathable atmosphere of urine?
But that was it... I then loitered my way back to the hotel, got my luggage and took the FlyAway Bus from LAX...
Well, I nearly did. The bus I was scheduled on failed in front of us. The driver, as he opened the luggage door, had a bolt sheer clean from the chassis, causing the door arm to fail when he tried to close it. He forced it as-closed-as-above and actually made us board... with everyone expecting their luggage to end up on the highway. Forfunately, another bus came to save us before this could occur. Before long we were off.. on the highway... as there's no quick rail connection.
If you look closely at the middle building in the shot above, it turns out a building in the middle of downtown ran outta cash and the artists got involved! A great note to end a trip to LA on!


Melbourne BG SCS Train Timetable 



