014 - AI and Automations - Spoiler Alert: They're Not the Same Thing
Also, using Teams as a hub and adding on to our (tiny) Power Automate flow
Hey Friends,
Today we’re going to be talking about AI and Automation - they often get used interchangeably but are really two different things that you’d use for different purposes. So, let’s talk about that! I also wanted to share some features in Teams (get back here) that a lot of folks don’t know about and we’re going to add on to our Power Automate flow. A little bit.
Before we jump in, though, I wanted to say “hello” to all the new folks signing up. If y’all don’t know, Microsoft published a super lovely feature about my work with AI and Automation. You find it here. And it comes with a video!
Alright, let’s talk about AI and Automation! And Teams! And out little Power Automate flow!
AI vs Automation - It’s a Process
So, friends, I have a confession to make. Before I started this whole journey into ChatGPT/BingChat and other GenAI tools, I honestly thought that Automations and AI were the same thing. I mean look at it - they are both cool technologies, they both start with the letter ‘A’, and they were both things I didn’t know much about. Therefore, obviously, the same thing.
As I’ve dipped into this space more, though, I’ve discovered some BIG differences -
1) GenAI tools, like ChatGPT and BingChat have an element of randomness built in. They just do. You can enter the same prompt twice and not get the same response.
I mean, you might get a similar response, especially if there isn’t a lot of variability in your topic. For example, if you enter in “ChatGPT, what’s the best way to address the accounting pipeline issue?”, you’ll get a variety of responses each time you ask, but they’ll all be fairly similar. Now, if you ask ChatGPT the best things to take to a potluck…. Well, just try it! Go on, I’ll wait (some of you folks that potluck HARD are probably going to be appalled at its responses).
I’m going to guess that you got different answers each time, right? I mean, it didn’t say “bring an elephant to the potluck, that’d be hilarious!” But it didn’t give you the exact same answer.
Now, think about something like an engagement letter…. How much variability are you hoping for? Probably zero-to-none except in the fields that change between clients. So, even though you can have ChatGPT help you come up with a sample template for an engagement letter (which you then take to your attorney to make sure that all the t’s are dotted, and the i’s are crossed), you’re not going to want to run ALL of your engagement letters through AI.
…but you could certainly automate engagement letters. (I’m going to talk about that in #2, because I feel like if you start off a list with #1, folks expect a #2).
2) Automations are for the assembly-line tasks. And before you say, "I'm an artist - all of my tasks are unique and special!", hold up over there, Picasso. Even artists have a process or two.
Let's think about a process that an artist might have (which might look awfully familiar to your own practice):
Client comes in with a project in mind.
Artist meets with client to collect information, maybe once or twice (or 1,000 times because the client doesn't actually know what they REALLY want).
Artist provides timeline and price, contract, deposit invoice etc.
Client agrees, signs, pays.
Artist prepares project (this is the hand-wavey part of the article).
Client comes back, gives feedback, pays remainder and collects project.
Now, we all know that that was the most BASIC of BASIC descriptions of how an artist works with a client. But, if you look at each bullet point, there might be an opportunity for automation.
For example - we all know that a client is only a prospect until they agree, sign and pay. And we can't just have an unvetted prospect wandering into our art studio, messing up our concentration, right? So, with that first step, they want to contact us (because we're amazing), but we only want qualified prospects to get through to us (because we're busy being amazing).
Do we want to hand-vet everyone that wants to contact us? No! Because that would STILL be a distraction. We want them to go through an automated vetting process. It saves everyone from wasting time and energy.
3) Alright, so imagine if this was GenAI instead. (These really should have been bullet points instead of numbers. I'm regretting the "artistic" choice to go with a numbered list.)
If we were sending our prospect through a GenAI process instead of an automation process, it could get messy. We have steps that we want a prospect to take, questions that we want them to answer. And bless ChatGPT's heart, it DOES try its best. But it just likes to wander off and do its own thing sometimes. Can you just imagine the difference between a prospect responding to:
"What is your budget range for this project?"
VS
"Do you have a budget in mind for this project?"
Both of those were the result of this prompt but would yield different responses:
Hi ChatGPT! I'm an artist that is looking to create a prospect questionnaire for potential new clients. Can you give me a list of questions that I should ask on the front end?
And since I feel prospects read and respond to the SAME question in different ways, I can't even imagine how they'd read and respond to SIMILAR questions.
When we want to make sure the same thing happens EVERY time, we want an automation.
4) Now that doesn't mean GenAI doesn't have a place in automation. There are lots of things our GenAI friends (unpaid interns) can still do. For example, think about all of the questions and hoops you want that prospect to go through. Do you want to create Every Single One of those yourself? And the information about your firm and processes that the prospect has to sign off on - do you want to create THAT yourself? (I'm already over this prospect pipeline project just thinking about it).
No, of course you don't want to do all of that. If you wanted to write long-winded documents about things that only YOU are interested in, you'd have gone to law school. Or started a blogletter.
So, let's let tools like ChatGPT and BingChat do what they do best, which is the 'Gen' part of GenAI. And let's let automation do what IT does best. Which is move everything along in a nice, predictable manner.
Teams for Your Team in Microsoft Teams
One of the things I find most hilarious about Microsoft Teams is that you have the application called 'Teams' and if you want to set up a special place to discuss a topic or project, you set up an area called a 'Team' and you usually just end up calling the folks that you're working with your 'Team'. I mean, honestly, it has a 90's-RomCom-Level of potential miscommunications built right in.
So, to keep things clear (and since I don't want Matthew Mcconaughey chasing me down through an airport) let's call the application 'MSTeams', the area a 'Team' and your project or group members your 'Crew' (or 'Squad' or 'Peeps').
Top 3 Biggest MSTeams Misconceptions (I'm going to use bullet points here...)
MSTeams only does video calls
I thought this too. Not even that long ago. Everyone uses the platforms "Teams" and "Zoom" synonymously, but they're really two different platforms with a few similar features. It's probably because when you open up Teams for the first time, all you see is this:
MSTeams is actually a "home away from home" - a way to stop working out of your Outlook inbox. You can bring in other tools and applications for quick access, like Tasks, OneNote and even Power Apps and Power Automate.
Not only that, but you can also bring those same applications into your Team channels.
Tired of having to wander out to check your MSPlanner projects? Bring it into MSTeams. Want to add a quick note to your client's OneNote notebook? Bring it into MSTeams.
Listen, I don't know about you, but I don't have allllll day to be bouncing between different Microsoft applications. Bring it into MSTeams!
The Chat is Where it's At
I like chatting as much as the next person. I might actually like chatting MORE than the next person. I might actually be on mute for QUITE a few folks. But... I don't use the chat feature of MSTeams very often.
Even for chatting.
That doesn't mean that it doesn't have its place! The chat feature is a space for quick discussions that you just don't need EVERYONE to see. Like, do you REALLY need everyone to know about the surprise birthday party for your co-worker Cassidy? Probably not.
But since I only have a few folks on my... Squad... I have separate channels set up to connect and collaborate with each of them.
You have to make sure that the... Crew members... are part of the overall Team and then be careful when setting up the channel. You want to lock it to specific folks and then add those folks.
I do this instead of using chat because I find it's easier to group conversation blocks based on specific topics. BUT if you had a larger... posse... you might want to have channels for specific events or projects.
I will also say that I have a Team set up for every client and so far I'm finding that while it might be overkill on the MSTeams side, I like having the Sharepoint site and Group created. (see blogletter 012 for a discussion on 'Team Groups')
MSTeams is Unwieldy and Challenging to Use
Oh. Well, this one isn't a misconception at all, honestly. MSTeams can be an... interesting tool to work with. I thought it was because MSTeams is just a clunky program, but it turns out that had to do, in big part, with the additional demands of the pandemic.
A new, overhauled MSTeams is rolling out to MS365 subscribers as we speak. So, if your MSTeams is acting a little more funny than usual lately, it's going through some changes. (My channel direction flip flops from the top-to-bottom in the morning to bottom-to-top in the afternoon 😂).
If you're interested in keeping up with all of the MSTeams changes, you can check out Microsoft's blog specific for MSTeams. Some incredibly cool AI features are coming down the pipeline. And you don't have to worry about them using your data to train their AI models 😏 (yes, that was shade thrown. just in case you missed it)
This is A LOT - How Do I Even Get Started?
Omg, seriously, right? Fortunately, I've got you covered (that's me taking credit for a Microsoft feature...). If you click on 'Apps' over on the left toolbar, you can search for something called "Training Assistant".
That will take you through a quick tutorial of how to get started with MSTeams. I mean, you just need to get started, right? You won't master MSTeams in a day or even a week. It's a flexible and powerful application, which means that you might have to tinker around to figure out how it fits in with what YOU need. I started tinkering about a year ago and I'm STILL tinkering. My only recommendation would be to start small and tinker bigger. Trust me 😂
Automating Emails to Bug Co-Workers, Pt 2
It’s not rude to pester if the robot is doing the pestering, right? Perfect.
Last week, we set up a simple flow in Power Automate that used Microsoft CoPilot to link emails in Excel to an email template in Outlook.
But, do we really want to send a ‘Hello World’ style email? (The only developer joke that I know). Probably not. We want to customize each email to the recipient. Otherwise, we could have just created an Outlook Contact Group and sent out the same email.
(BTW, I have a test email set up to send every Sunday and I see in my inbox that it succeeded…. So, remember to turn off your automated test flows. 😂)
But, before you get worried, we’re just going to add a few tiny things. We have time! No need to pile a big ol’ flow on you when a tiny piece at a time works just as well.
Bringing in a Task List
We all know what would happen if we just sent an email to our co-workers asking about the status of the projects. They may or may not know which projects we’re talking about. To at least give them a hint, let’s create a bullet-pointed list of projects.
Now yes, we could do this with a Microsoft Loop component and there’s also a way to ask for status updates in Teams, but THIS is how we’re doing it today. And before you ask me how we’d customize each list for each email recipient - we’ll get there. Baby steps!
Make Table
First, let’s make a table in Excel with the items that we want…
Remember, it has to be a table.
Excel - List Rows present in a Table
Next, let’s go back over to our flow and ask Power Automate to pull YET ANOTHER Excel table for us using the ‘List Rows present in a Table’ action. But in this action, we’ll add our new table.
Initialize Variable
Okay, now we’re going into new territory. We’re going to use the ‘Initialize Variable’ action. Why? Because we want to bring in the values from our Excel table as a string.
A what?
A String. You know - the thing that a cat plays with? Hrm, I don’t think that’s what it means in this instance, though.
A “string” in this instance is just means that we're bringing in letters and numbers instead of other options. Like... You know what, let's just ask BingChat...
Okay, 1) thank you Bing and 2) why is it asking me questions?
Let's add some details to our Initialize Variable action
Name: Emaildata
Type: String
Value: (Leave this blank. Seriously, don't type this in...)
Append to Variable Action
What? Why? What is going on? We literally just initialized it! Now we're appending it? Why couldn't we just set it up with the right information the first time????
Okay, deep breath, it's going to be okay. We're actually going to do TWO challenging things in this move but it's cool and you'll like it. I promise. And if you don't like it... Uh... You'll like it next time. I promise.
Okay, let's insert a new step and pick the 'Append Variable' action (if you hover on the arrow between the boxes, a + sign should appear to add a step).
Next, we're going to pull the Variable we created from above (I named my 'Emaildata', what did you name yours?) and in the Value box, we're going to select the table column with the Project info (I named mine 'Project', what did you name yours?)
I need to warn you that some magic is going to happen here. Your silly ol' 'Append Variable' action is going to transform to an 'Apply to each' loop. What does that mean? I'll tell you later.
Now we're going to do something... a little more challenging. But! You can skip this if you don't want to have a nice bullet-pointed list. You can just dump the 'Project' column into your email and it'll just look like this...
I mean, yeah, it's kind of hard to read, but you don't have to worry about the next part, so....
Oh, you want the next part? Okay, cool.
Fancy Bullet-point List
If you look in the box where it says 'Project' (or whatever your column is called), you'll see an icon that says 'Add Dynamic Content'. You'll want to click that. You're going to click over to that second tab, called 'Expressions'
Expressions are like excel formulas but not really. They're close enough that you think "hey, this should be easy..." and then you find out that its different enough to be maddening. So, like the difference between American English and Australian English.
I'm going to take pity on you, though, and make it easy. You'll want to paste this in the 'Expressions' field.
concat('• ', items('Apply_to_each')?['Project'], '<br>')
Now, you see where it says 'Project'? If your column says something different, like 'PeanutButterandJelly', you'll want to swap that out.
The <br> is HTML for line breaks.
Heads Up - Sometimes you have to go to move the cursor to the beginning of the expression line after you paste something in, otherwise it's like, "nope, I don't know what you just did". It should look like this...
Update Our Email Action
We're almost there, friends! One more thing to do. And yes, it involves HTML, but as someone who still doesn't know what 'HTML' stands for, we're not going big.
Click into your existing 'Foreach' action to get to that 'Send an Email' action. And then click the symbol that looks like </> (that's where our HTML lives).
Okay, see what I did here? Just do that. We're 1,000 words into this flow. You probably don't want any more words. 😂
Save It!
Test It!
If everything goes well, you should have an email pop into your Inbox that looks like this (hopefully you're testing on yourself before testing it on other people...)
Let me know if you have any questions or run into any trouble.
I know this was a long one, so thanks for hanging out until the end! I’d love to hear how your tinkering with MSTeams goes or what you decided to pester your coworkers about with your Power Automate flow.
Happy Chatting!