Showing results for 
Search instead for 
Did you mean: 

Pondering Automation: Does it all really function?

Shaun Roberts
Cisco Employee

Hello all in Automation Land! I hope the summer has been successful for you and you starting to enjoy a little cooler weather, a little football (Go Texans!), and kids back in school. We have been hard at work, as always, and have been training more TAC units on the uses of Orchestrator and CIAC. I wanted to dedicate this blog to function writing! This is a great thing to do and use within Orchestrator as we attempt to write bigger, better, more effective content. We must remember Orchestrator is our own personal visual development environment. In good development we need to create resuable/recyclable functions to make our overall content and programming better.


If we write complete functions then we write better code and content and it can be exported and used by many others. So I decided it was a good time to do a video blog on this exact topic. In the below recording I will walk you through a function case. This case is that you want to take a URL and convert it to the "escaped" version of that URL. For example, if you have a URL with a space in it, then when you escape that, it turns the space to a "%20" and so on. The other functions I cover are a read file function, string length function, and a few others. All of these processes are written by myself and the TAPs are attached below and are free to be used. They come with no warranty and no expectations what so ever. If you have issues with them, feel free to change them as you see fit, or ask me questions.


The goal behind writing good functions is to make them generic enough to be used in multiple situations. You want to make your content well documented and to logically make sense when someone else reads it. You want to properly label variables. Do not just drag and drop the "Set Variable" activity and leave it like that. If, for example, the set varible activity is updating a rolling value, call it "Update Rolling Variable X" or something to that effect. A key goal of these blogs is getting better practices out to those customers who write content. The easier your content is to read, the easier it is to support, and the better it will be in the long run.


Now, enough talking, onto the functions!



As always..... Enjoy!!!


Shaun's Weekly Q/A



No questions this week! Hopefully we'll get some in to answer for next week!


Ever week I will pick a handful of questions from you, the reading CPO public, to answer in this part of the blog. Please post comments/questions below. I will no longer be using the external e-mail from previous blogs.



Please also let me know if you like the format of this blog and what else you would like to see/know about. Feel free to give any ideas as to future blog posts, etc and I will be happy to post them. I hope to do more how-tos, best practices, tips, tricks, and hopefully some interviews of the important people behind the scenes of CPO.



WEEKLY CPO BLOG DISCLAIMER: As always, this is a blog and my (Shaun Roberts) thoughts on CPO, my thoughts on best practices, and my experiences with the product and customers. The above views are in no way representative of Cisco or any of it's partners, etc. None of these views, etc are supported and this is not a place to find standard product support. If you need standard product support please do so via the current call in numbers (650-475-4600 or 877-55-TIDAL) or via e-mail at (please include your Cisco ID when emailing in) or




Thanks to all for reading and happy automating!



-Shaun Roberts

CPO/CIAC Support Team Lead

1 Comment
Shaun Roberts
Cisco Employee

updated webex link.

Content for Community-Ad