Thank you very much. Hi, can you hear me? Okay. Sounds good. Right. Who am I? Yep. So I'm Scott Hi I'm a video game programmer from Brighton and Sort of in my free time. I make music under the name Cutlass's And I'm pretty terrible at DIY around the house I've never really been very good at that and in fact that sort of put me off doing a lot of these things to begin with but I still managed to do some things and make some instruments and Yeah, I'm pretty much a novice electronics really I'm only just learning so if I'm lying about anything I'm saying just shout out and I can probably correct the slide live and we can Update it but yeah, I'm really just going to try and talk about the things that I've learned and picked up and Kind of why I found the whole process really exciting and hopefully like if it's something that you're interested in but you're not doing it at the moment like inspire you to do it because It really is quite easy to get started and once you've got started it's sort of a bit like a drug and so Why why would you bother making DIY instruments? Well the first thing is that you may come up with something completely unique To you and so in your performance or however you're using it No one else has got one. No one else is going to get quite that same sound And I was at a talk by Helen Lee yesterday And she said that one of the things that she liked about DIY instruments was the fact that when you made something You were the only one who had it therefore you were the best person at playing that instrument And I think that's that's really great Because I don't pretend to be an amazing musician. So if I can master the things I've made myself them Yeah, that's a nice angle on it So yeah, they can be experimental and in spite to do other things I quite often use them I'll just mess around with things I've built and record it and then go back to it and kind of cut it up So it's why you to do things that you wouldn't just do say in your computer Sometimes you can save money Sometimes it's cheaper Generally, it's probably not especially when you've started getting obsessed by and buying all the stuff It's probably not cheaper, but it can be and you can learn lots of new skills. I've certainly learned loads of stuff I didn't know about before Right, so how do we get started? We've decided we want to make some instruments Well, what do we have to do? Well, the first thing is get yourself a half decent soldering iron You don't just spend a huge amount of money But I would advise not just getting those super cheap ones with a plug and a soldering iron on the end It's something where you can attempt to control it. It should be absolutely fine Practice your soldering You're going to get loads of problems in all sorts of areas So if you can make your soldering good enough that that isn't the problem then that will That will that will certainly make things simpler when you're debugging things Yeah, start simple with your soldering Just get some kits and wires. I mean, it's cheap but a lot of you here already building things or good solders anyway But if you're not just yeah, you can you can't really go wrong Just get some cheap kits or just sold us some components together and just practice There's loads of YouTube videos about it So just give it a go. It's it it feels daunting and I remember getting very frustrated the first few times I tried but You can get it and it's not too difficult So what other things we need? Well a decent semi-decent multimeter if you get an auto-ranging one, that's useful Because you don't need to know the rough resistance of a resistor if that's what you're checking you can just It will it will find that for you Some snips so that's like another five pounds a digital micrometer I didn't even know what one of those was until quite recently, but they're very useful Just for measuring when you're building things seeing how far part things are and or the the diameter of like a pot shaft or whatever They're really useful That little picture there is called a helping hands And it's just sort of you can just use it to hold things way of soldering and again They're about five pounds and eBay is your friend in this situation You can get especially if you're prepared to wait for things to come from China. You can get things super cheap So I am gonna talk about this book briefly. It's a book that sort of got me into it It's called handmade electronic music the arts of hardware hacking as by a guy called Nicholas Collins And I think it's amazing and if you are interested at all in getting started then read that book Because it's really inspirational Yeah, it's a great book And it covers a variety of different projects that you can do from really simple To much more complicated But it always sort of ties it back into the history of electronic music and it sort of gave me a good understanding of like where These things have come from and what artists use them and how they got started So that I found that really interesting as well because it wasn't something I knew that much about And so yeah, it's certainly where I nicked most of my initial ideas in this presentation from so The first thing I'm going to talk about is a contact mic. So does anyone how who knows what a contact mic is? Right, most of you. Okay, so Basically, it's probably the simplest thing that you can make you can make one for a fiver You just get these things called piezoelectric discs So that basically means piezoelectricity is just electricity from pressure essentially so They've got a small crystal or ceramic element and when they're Crushed or vibrated They generate electricity. So the sound vibration will generate electricity So the interesting thing about contact mics is that because they are picking up vibrations through solid materials You don't get any of the sound of the room. So you don't hear any reverb And it's a very very dry sound. So it sort of sounds unlike you would have ever heard that sound because You can never hear something without it passing through some air. So that means you get some really interesting sounds out of them Yeah, I just put a note here to say if you do build one make sure you use the high impedance input on your In your pre amp or your audio interface. But yeah, so they're really really simple to build You can build one in half an hour. Once you've you know, once you've practiced you just need a Piezoelectric disc, they are pence from eBay some shielded audio cable and And a jack and that's it and you basically sold of the You see in that diagram that the center of the disc is that is the hot and the outer is the cold And you just sold of the hot to the tip and the cold to the other part of the jack And that's it and you can do that in a couple, you know, literally half an hour of that and You can make some really cool sounds So I've there's I've just miked up a bottle of beer With a condenser mic and a contact mic just to kind of get different sounds but you can attach them to all sorts of things and hit them or scrape them and bang them and You'll get all these kind of sounds that you that you won't get any in any other way I also coated mine in this stuff called plastidip which I later found out is highly toxic. So I Didn't find it out by being ill someone just told me So be careful if you do by that, but it's really good. You can sort of dip your contact mic in that and It looks like this when you do and so it's waterproof reasonably and Yeah, you can sort of attach it to things Cheese cheese grates are always good and there's a bit of corrugated card that I can just sort of scrape and make these sounds So this is this image here is I went did a field recording course New Haven for and found this huge Iron kind of pipe I don't know what it's for with this sort of grating in front of it I managed to wedge a contact mic in between the grating of the pipe and then just bow it with a violin bow And it sounded amazing. I don't know if hopefully this will work. Um, are you getting any sound? Now you couldn't hear anything when you were just bowing it, but you And that's completely unprocessed so I've actually used this some of my own Recordings and then processed it even as a completely dry signal It just sounds like unlike anything and it certainly doesn't sound anything like that when through the air, you know Yeah, so I don't know maybe that sounds horrible to you, but I really like that sound so um another thing that Contact mics used for is reverb spring reverbs, which is like a really early form of reverb You get that kind of like twangy surf guitar sound out of them and that's basically just in its simplest form I didn't make these ones, but that's just a contact mic going through sorry a speaker driving a Spring attached to a contact mic So basically the sound comes out the speaker vibrates the spring and gets picked up by the contact mic But there's a delay so you get that kind of like shimmering Delay and you see a couple of people have built one in a shoebox or whatever that is And then just another that's I'm just trying to sort of cover some really simple things that you can do to kind of Get you started and these all of these are sort of reference in that book But another thing that I did was you can just get take the tape head out of an old tape player and wire it directly to a jack and then you can actually rub that across tapes and Credit cards is a good one anything that's magnetic and you can get these kind of weird sort of scratching a bit like kind of Scratching a record player kind of sounds up them and it's yeah, they're cool So those are the kind of things that are pretty easy to you know You can make any that for me that was the thing that went I made something it did work And that's what once you've got something working then you've got sort of in inspiration to sort of go on somewhere else So I think once you've done that a good what I did anyway, and I think work quite well is to just start building some kits so That there's lots of cheap synth kits around There's a company called thonk who do much more expensive euro rat kits, which are great and I built a bunch of those And then there are like smaller companies making their own kits of 64 pixels And racket and also lush projects, but I think they're not actually making any at the moment So maybe concentrate on the first two, but yeah, those those are great and The one I started with with the Atari punk console, which is really simple to build It sounds well to my is it sounds amazing. I think to most of us ears. It sounds very annoying but Yeah, so that that's that's the kit that that comes in and you can build that in a couple of hours and it sounds great And I'm going to be doing a performance Tomorrow here, and I'll be showing off some of these things and you'll be able to hear them in a bit more detail so Once you've built your your kit or or the thing you design yourself then you start thinking about well I want to protect it So it's gonna last if I want to take it to performance I can't just well it maybe can take the PCB with wires coming out of it, but it's nice to have it safe So there's lots of ways of doing this is you can buy like guitar pedal cases and some of them come pre-painted You can repurpose a box already exists so you can get something laser cut or 3d printed and I've seen a bunch of 3d printers and Since I've been here, so I'm sure that a lot of you know about all this stuff already This is an enclosure. I made out of a mustard tin They're really cute and they're really nice size to use.  So that's what I did with my Atari punk console just in a little Moisturizer tub Which are which I'll show off tomorrow And that funny Christmas tree looking thing, which I didn't know what it was is a whole cutter. They're super useful So So so I've done a bit of this sort of tinkering around with things and You know it enjoyed it, but I sort of then you know didn't really know where to go from there and I Was doing some live stuff with with laptop and guitar sort of and field recordings and processing them and I really wanted to be able to use my feet because my hands were full of guitar So I went to try and find one and I realized there's actually quite a dearth of small ones because I wanted to be able to fit everything in in one bag When I was doing a gig and there's that absolutely huge one. It's about this big Did not fit the bill And they just didn't seem to be any that that really fitted the why what I needed it for so I thought I actually Bought one from I think it was from Japan Just a guy had made them and that was really small it sort of fitted the bill But you couldn't program it and it didn't match what I needed it to do So I took it apart and I was like, it looks quite simple and I'd heard about Arduino and things of that thought maybe I can have a go at this so Yeah, so I started reading about Arduino and development boards and I think this was why I started to really get into the whole idea of you know As soon as you as I say once you do something and it works It just sort of inspires you to do the next thing and when that works you can just get a bit more complicated each time So Yes, so I'm guessing that most of you know about Arduino and then how many of you know Arduino Yeah, pretty much everyone. Okay, so Yeah, so you all know about Arduino and there's other other ones that exist Team see Beagle board. There's lots of different dev boards And you can program in C or C plus plus, which is good for me because that's what I do as a job So it's like, okay, I can do I know I can do that bit will I be able to do the hardware bit So I actually concentrated on team C Which is Arduino compatible It's really small so it will fit inside a small enclosure And I'd say it's probably more suitable to doing USB MIDI than the Arduino just because it sort of supports that out of the box They're pretty cheap. I think they're about 20 pounds And in fact, there's an even cheaper version called the LC which if you're just doing MIDI It's absolutely fine for that so that they can be even cheaper So that's the data sheet for it It's the 32-bit arm chip so arm as you I'm sure you'll know is what's in most of our phones And you can program it in C and It's got a bunch of analog and digital ins and outs, which is basically what we need So as a really simple C interface, which you all know as Arduino programmers You can just say digital, right? Here's the pin number. I'd like to set that high please and that pin will output a high voltage on basically five volts or whatever the voltage suppliers and so I Protocyped all of that on soulless breadboard Which is what that is there and the good thing about that is that because it's all very low vote low voltage You can sort of just hack it around and hot plug it till it works basically because generally you why would have got something wrong and be like Okay, why doesn't that work and you don't have to worry about you know getting a shock or anything? So that that's just a very simple version with four LEDs, but without switches. So That's pretty much the schematic for this MIDI pedal that I made. It's just four switches and Five LEDs and they're all just read in code. And so it's it was really simple once I sort of Breadboard it out. It's okay. That can do this. It's quite easy So it's basically four Guitar pedal switches Some LEDs and then the code I wrote which is pretty short really And I now now I've programmed it I can configure to do whatever I want and I can tie it into my performance and make things work as I need them to work so yes, so That's also I put in so there's four LEDs for when you press the pedals There's also one for MIDI clock so I can see the clock Which I still haven't decided whether that's a good thing or not because it is quite useful to know the time But also it's really annoying if you're playing in a dark stage because all you can see and I put really low resistance on the LED So it's like blindingly bright But yes, I don't know if that's a good idea yet So yeah, I put just mounted it on veriboard and I bought a pre-painted guitar pedal enclosure and made myself a little drill hole schematic in inkscape And it looked like that. I don't know how you can see that but that's just before I drilled it And there I am drilling it at a very slanty angle I hope that wasn't actually how I drilled it. Maybe I did that for a photo. I'm not sure I now have a drill press Which is one of my best investments and that certainly makes that a lot easier Because I had a very sweary day one after him and trying to drill something and snap to drill bit and Yes, that's when I got a drill press. So Yes, so there it is on veriboard. I'm not sure why you such incredibly long wires Yeah, so this was quite a long time. This is a few years ago I'm not sure why I did that but it works and there it is finished and it still works now so That Sort of yeah, so it gives me this level of control as I said and it's it's pretty short in terms of code So and all this stuff's on github. So anything that you want to read about it's all up there And I'll put this presentation up there as well So yeah, so in terms of things I learned from building that was yeah get a hole cutter Don't try and use massive drill bits. That's not a good idea Keep it by enough components so you can keep a working prototype Don't harvest your prototype to build the Your final product because then when it doesn't work you don't have anything to refer to these are things all learned from experience Yes, and when you're making a drill sheet Rare in mind that the drill sheet might be two-dimensional, but the thing is actually three-dimensionals So where I'd put my holes to drill the Switches was actually also where I drilled the hole to put the USB and they basically occupied the same space Which doesn't really work luckily. I managed to fiddle it around till it worked, but yes, so think about that also This is a very specific bit of advice, but don't flash your teensy through an unpowered USB hub because it will Brick it and I just I mean you can it's fine. You can flash it again directly, but it just took me ages to work out That's what had gone wrong So one side Sort of got my confidence up built built this MIDI pedals like oh, this is cool. I can build stuff It's going to be fun So I heard about you a rack and I don't know how many of you aware of you a rack show of hands to you right? Okay, it's still quite a lot of you So yes, it's a modular synth format And I really like the look of it. It's very visually interesting Although I find all the cables sort of upset my OCD a little bit I find I like I'd further look at them when there where there's no cables plugged into them But that's just me and but they are super expensive So this isn't mine, but yeah, so there's someone's modular synth. I imagine there's tens of thousands of pounds worth of equipment there so Yeah, so I sort of decided that if I was going to Do any stuff in your rack that I was going to have to DIY it because a it would make it a bit cheaper, but also I'd get the fun of building it and and You know it would Because I built it myself I thought maybe I would use it a bit more or get a bit more invested to it Which I think it did and that that worked so I I got a couple of kits from thonk But I really wanted to make my own module And I like the idea of doing the whole process of you know making the hardware designing the panel and sort of get you know Being involved in each process. So I started with this kit called the radio music which is by a chap called Tom Whitwell who does Music thing and It's inspired by John Cage and Karl Stockhausen's radio composition So you kind of you can put audio onto an SD card and it will sort of cut between the audio And that how it does that is controlled by control voltage that's going into it And that's teensy based so I was okay I know about teensy I've sort of understand that and some building that I suddenly learned a whole load of new stuff I thought okay, that's how the that's how you'd get power to the teensy, right? Okay Oh, that's what a voltage regulator is right, okay And so just building these kits are sort of slowly started to learn what these things were for And I've now written my own firmware for the radio music, which is basically a piano player. So it has a single piano sample that it then plays Based pitch based on the control voltage so you can kind of give it Basically play it like a piano a very very lo-fi slightly crap sounding piano But it does have reverb on it and it sounds it sounds good enough so once I've done this I sort of started to get a little bit obsessed by teensies and When I found out they had this audio library, I really sort of it kind of keyed into The things I like which are like programming tick electronics. Yes sound Composition, yeah, okay, so I saw really bought into making stuff on on the teensy So I mean I've made a bunch of different audio effects for teensy I'm just gonna look at one that I made which I've called the audio freeze That's a picture of the teensy audio shield So it's got kind of CD quality audio and But actually I don't tend to use that now. I tend to just use the The DAC that comes with it. She's really lo-fi, but for the stuff I'm doing it sort of sounds fine So I wanted to make an effect that could manipulate live audio And teensy's got a fairly limited amount of memory is 64k Which I think in the kind of microprocessor world of these tiny little dev boards is actually quite a lot But but for doing audio is not very much So I thought well 64k doesn't give me very much room for sampling I'll just work on like really tiny buffers like kind of granular synthesis so The I had a 50k buffer, which is about half a second of sound if you're recording at a 16 bit or about a second in 8 bit I found 8 bit be a bit too noisy. So I tend to use smaller buffer And so essentially just constantly sampling the audio as it comes in And you hit the freeze button, and then it would just play back that tiny loop so This is a rather crude diagram of it So the that the buffer there is represented by that cassette tape And essentially so the audio is coming in and going out all the time, but as soon as you hit the freeze it's then playing that buffer back and then You can then use the controls on it to move a smaller window within that buffer So you can you can kind of and you can adjust the size of that So that's what that looked like when I Breadboarded that up And so I'd used very bored before and that had worked, okay And it's cheap and and you know, but it's it becomes more fiddly when you want to make something reasonably complicated But I found out that you can actually have PCBs manufactured very cheaply And I always assumed that that was think you'd have to have a thousand done or whatever and it would cost you thousands of pounds But that is actually something you can do and obviously you can also etch your own PCBs Which I have had to go at which was complete disaster I'm gonna have another go at it, but at the moment I've just been Etching my sorry designing my own so there's a bit of software called Eagle Which allows you to design PCBs? It's free. I think Yeah, I'm pretty sure it's still a free version. There's a maximum PCB size, but for my stuff. That's that's been ample So I said the UI is somewhat unorthodox, I think that's probably being quite kind It felt a bit like to me like the person who or the people who'd written it Haven't ever used any other software with a user interface before it sort of eschews every paradigm I've ever kind of Found in software and everything you think you should be able to do that's not how you do it But once you learn it You know you kind of get to grips with it is very powerful So you sort of draw out your schematic and you add all the components And that's the schematic for the first version of the audio freeze And that's the teensy is the is the big rectangle and the other things are the LEDs and the audio jacks and and such and Then when you've got your schematic, then you can turn that into a PCB so you sort of lay out all your components and then you play this game that Sort of feels like it should be an indie puzzle video game Where you have to get all of the tracks to line up without crossing over any of the other tracks And that's actually quite fun Until you spent about five hours and you realize there's no way I can get this one to here Which is the last one I need to connect up But yeah, you do it and it's fun. So basically Eagle produces these things called Gerber files Which you can have manufactured pretty cheaply that as I said the fabrication is not expensive It's about three pounds aboard and in fact I've actually found places now that are cheaper than that and you can have like a minimum of ten or sometimes even five boards So you don't have to spend a huge amount of money It took about a month for these to arrive But there are certain that you can pay more And have them sort of delivered more quickly And as soon as you can make your own PCBs, you can be a lot more ambitious about what you make And also you can sort of and there's loads of kind of schematics Online that you can find that you can learn from So yeah, so once it started doing that and making my own PCBs, that's you know sort of really started accelerating So on all these Eurorack modules, they have sort of a fascia and the PCB normally sits behind that fascia And the that is then mounted into your case And most most modules that you'll buy commercially use metal panels, but I didn't have that But I so I used a laser cutter and I just basically laser cut acrylic And I'm sure all of you know about laser cutters, but you can create a vector image Pipe that over to the laser cutter and it will go and cut it out for you And I was very lucky to know a generous friend who had a laser cutter Who let me use his which is very useful But there are other sites like Pinoco Where you can have send off your files and they'll send you the laser cut item in the post So that's the vector image. I'm not sure how well you can see that But essentially the color dictates where it's going to cut or whether it's going to Sort of engrave rather than cut And then I use the PCB a designing eagle To to lay out where everything should be so that I do the PCB was where the Components were so I could lay that out as a layer in inkscape and fit everything around that so There is cutting and it's quite an amazing thing when you've sort of designed something entirely digitally and then this magical Robot cuts it out for you. I'm just watching it. It's like it's totally mesmerizing and that was really cool I've covered it there in masking tape And you'll see why in a second so so that's just acrylic covered in masking tape and I Then sort of painted over it so and then peeled off the masking tape and then it looked like that so That and those are the controls on there, but I've got a video It should have time to play so it's not very long So hopefully this is just this is actually more up-to-date version of the audio freeze It's got a larger buffer and it's can do more but hopefully this will work That's playing in reverse So that's a very small buffer that's rolling along so it's like a very crude form of like time Which I found by accident As a little music box I got off eBay where you can program your own melodies by stamping out Like a tape effect later on try and sound like a broken tape Which is the basic uses several low-frequency oscillators to adjust the speed Playbackly tape effect Yeah, so all that's taken from a video that I made this on YouTube So if you're interested in those weird sounds and you can check them out there So you can build your own one of these if you want all the files are on github and Including the Gerbers and the schematic so if you want to build one then you can and also because it's teensy base You can program it to do something better or different So Yeah, so I've done a little bit on the The 3.2 which is the one that's got 64k then the 3.5 came out And that's really exciting because I had four times as much memory a whole 256 kilobytes of RAM which is a Which is a massive amount And at the faster course you can kind of do more and they've got floating point hardware so To get stuff working on the 3.2 when I was trying to do DSP digital signal processing I had to write my own fixed-point library to do the math quickly enough to get it to work. But what on the teensy? You'd have to do that It's got a built-in floating point unit Yeah, so that really allowed me to do a lot more digital signal processing And so then I sort of went a bit nuts and made loads. So Well, I say loads for So Yeah, so I've sort of made a little suite of them. This is the kind of more up-to-date audio freeze We're in a much more reduced-sized panel Which is here And so it's just sort of like two layers of PCB So it's narrower and uses up a bit less space in the case So there is from the side and so yeah that that PCB I just had Printed and it comes in the post and it's some it's a really cool thing and say when you've designed something digitally and there It's been physically manifested and given to you. It's just great So yeah, so I've made a bunch of other effects. I've made something called the glitch delay Which is sort of similar to audio freeze is sort of like a delay That's playing lots of tiny little buffers jumping about at different pitches So you can kind of and then you can sort of blend those sounds together There's videos of that on YouTube the chrono crusher as I call it, which is basically just a delay and some reverb and a bit crusher at the end so you can sort of get like really lo-fi delay sounds and I wrote the This piano player for the radio music and yeah all the codes and schematics are on GitHub as I say They're all open source. You can take them and do what you like with them So this is a case that I built to house them all in just made out of a lunchbox that I found on the internet So I just put some wood into it to make the bars to screw the Panels into and that's just a little power supply that the kind of the power supply bit is actually pre-made And I just wired that into some variable to put the connectors into So yeah, so there's a bunch of the ones I've made Housed and I've used aluminium panels there now. I've got my drill press. I can drill things more easily with less swearing and Yeah, so that that's there is the Glitch delay the chrono crusher and the audio freeze all together and that other module sort of a guitar preamps I can put my guitar through these Yeah, so Final thoughts. Um, yeah, so I'd say if you're interested in building stuff then do it because I mean obviously we're all Makers of some description, but if particularly interested building instruments, I definitely go for it It's it's really rewarding as I say getting something the post that you've made Digitally is great. Just sort of having an idea and then weeks and weeks later. Finally, you've got something is great And with internet makes everything so much easier And so I've focused primarily on the teensy Just because that was what is into but there's other obviously ways of doing things digitally There's Bella and there's Raspberry Pi But also there's analogue and there's a load more stuff that you can do in the analogue realm I haven't done so much of that just because I've not as experienced in that stuff But you know, there's loads of crazy things you can do there and often you get a lot more kind of weird Unexpected stuff happening in analogue That's often why things take so long because the weird unexpected things are stopping you from doing what you're trying to do But if you're using it for all day that audio that can be really cool so How do we get started as I said practice your soldering that's really important. I definitely recommend reading that book I don't have any Interested it. I don't know Nicholas Collins, but I just think it's a great book and I really recommend it Build some kits. I think that's a really great way of learning things. Okay, so sorry. I've just seen my times up So, yeah, thank you very much to To electromagnetic field I'll just just go to the end of this so you can see where I am So if you want to get any of this stuff I'm on GitHub and You can check out my music and some of the music that I've used to make these things And as I said, I'm going to do a live performance tomorrow at nine o'clock You'll be able to see all this stuff kind of being used and hear what it sounds like in a more sort of performance environment Yeah, thank you very much for having me Cheers Thank you. I think we have time for one quick question. If there's someone who has a question, please raise your hand Okay, so I guess you're just gonna have to mob him after thank you very much. Thanks


Hello. Hi everyone. I am Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. So this is day 25 of Salesforce Learning Bootcamp and we are learning flows this week and this is part three of ScreenFlow. So from last two days we are discussing about ScreenFlows and today also we will be discussing a few scenarios related to flows, that is ScreenFlow. So hi and welcome everyone. So we'll just wait for a couple of minutes so that everybody joins and then we'll be starting. Okay Simi, so you just posted one query like this is incorrect because if there is one validation rule already available so it should work properly. So you just need to overcome with that validation rule like if in validation rule you are checking something so it should fulfill the requirement at the time of record creation. Okay so we'll talk about this separately or maybe in Telegram group you can discuss. Okay so welcome everyone. So this is part three of ScreenFlow session and I'm going to start it. Okay so this is about me those who are joining sessions from this week only. So you can just go through my profile then I hope you are following all the learning best practices. So I can see lots of people are practicing the exercises which I created for you. So in Telegram group I can see people are asking doubts and helping each other. So this is good and this way if you practice throughout the bootcamp so you will be able to build a strong foundation for you. And like maybe today's session will be long because I will be finishing ScreenFlow today. So I have to explain three different scenarios. We'll be having different different requirements. So first I will be explaining and demonstrating and then we'll take all the question and answers. Right so you can ask doubts on YouTube video comments Telegram group or Instagram. So you can utilize the functionality of Telegram group because they are people are asking each other's questions. So that is great and on YouTube comment whenever I see the comments so I'm trying to answer. So this is our Salesforce development bootcamp timeline. So like we are about to finish week seven. So today I will be completing ScreenFlow and tomorrow I just capped one session so that I can discuss with you how you can prepare for admin or app builder certification. Right so it will be not related to our regular curriculum. It will be just focusing on the certification part. So I will be sending you the link tomorrow and from next week we'll be starting the core trigger flow and the other remaining flows. And I think we'll go through this timeline and from week nine like next to next week we'll be starting the Apex programming. Okay. So those who want to start their journey from Apex programming only so please share the link with them and please show some support so that I can reach 100k subscribers by the end of this year. And I have planned lots of courses for you. Those will be available free of cost. So stay tuned for those announcements soon they will be available for you. So now let's discuss about the ScreenFlow scenarios. Okay. So I hope whatever scenarios I discussed in past two sessions you have implemented. If not like weekend is coming so you can just give an extra time if you don't have time in weekdays and just try to implement them because flow you can just understand by implementing only. Right. So here you can see we have ScreenFlow scenarios so I'm going to implement them one by one and they are very easy but will be time consuming because if you read the first requirement so it says we need to create a contact or an opportunity or a case related to account based on user's choice through one flow. So we need to create one flow that one flow will be giving a choice to the user like whether user want to create contact record opportunity record or case record and whatever record user want to create that should be related to account. Right. So first I'm going to implement this first scenario then the same requirement I will show you how we can implement with the help of subflow. Okay. So I'm jumping to the org and here also you can see I have just designed day 25 exercise for you. So like I just categorized whatever I am demoing in the session you can just go through with this link a live session link and whatever you need to do as self practice for them I just provided pre-recorded reference links. So I think this will help you out. Now I'm just jumping to the org and from here I'm just launching a new flow. Okay. So this will be our ScreenFlow. So from the list I will be selecting the ScreenFlow so that we can implement it and I'm just creating it. Now as per the requirement so when flow will start its execution so we just need to ask like which record user want to create. So we need to provide three options. First is contact second is opportunity and third is case. Right. So in one of the session I just created a pick list choice set. So someone asked me like how we can create manual pick list in flow. So today we are going to do that. Right. So I'm just clicking on plus and creating a screen labeling it as object selection. So the screen label is object selection and here I'm going to place a pick list. Now pick list label will be select an object. Right. And it should be required because we need to select particular record or particular object so that we can create that type of record. Right. Now what we need to do like here we don't have any pick list with which we can connect it because we just need to provide the name of the objects. Right. So how we can do that. So you just need to click on this choice. So here we have this option. You just need to click on this choice and here you have this new choice resource option. So just click on it. So pop up will be appearing and from here you will be selecting this choice. And here you can provide API name as contact choice label will be contact and here choice value will be contact. Right. So all three places API name choice label and choice value all three will be contact. Right. Now click on done. So first choice we created. Right. Now if you want to create one more. So what you need to do just click on this add label. Sorry add choice. So if you click on this add choice button. So here one more option will be available and if you click and select new choice resource. So again this new choice resource will be available just select choice and here you need to select opportunity. So just write opportunity everywhere API name label and value and click on done.  So this way if you want to create manual pick list values you can do. Right. So I created three contact opportunity and case. Right. So those pick list values will be available with this pick list. Now I'm just clicking on done. So here you can see the screen is available. So I just want to show you by debugging like whether those pick list values are available or not. So I'm just saving it. So I just label this flow create contact or opportunity or case and I'm clicking on save. So this is saved now we can just click on debug so that we can verify whether the pick list is created or not. Okay. So I'm just clicking on run and here you can see if I click so these three options are available contact opportunity and case all three options are visible. So this way you will be able to create manual values for pick list. Okay. So I hope this way you understood now I'm just closing it and moving to flow. So now we have three options case opportunity and contact user can select anyone and if user select case so case should be created if user select opportunity opportunity should be created if user select contact context should be created. So we need to anyhow implement all the cases right all the branches you need to implement because you don't know which option user will be selecting right. So now what we need to do here we need to apply a decision so that we can check what option user selected. So here I'm labeling it as check object selection and here I'm going to check is contact or yeah is contact will be fine. So here you need to select the pick list. So our pick list component API name is select an object. Right. So this is important to recognize. So it is pick list so I'm choosing it equals and here you need to search for contact. So this is our first outcome detail. Now click on this plus and here you can write is OBB then again select this pick list and it should be equals to opportunity. So this will be our second outcome. Right. Now just click on plus so that we can have third outcome. So it will be for a case. So is case and then select the pick list again and here you need to write case. Okay. So this way you can see I just created three outcome one for contact one for opportunity and one for case. Right. So like yesterday also I used a decision but at the time I just created one outcome. But here in this session you can see I just created three outcomes so that three branches will be available and the fourth branch will be default outcome. So in default outcome we will not be doing anything. Okay. Now just click on done and you will see this kind of picture. Okay. Now we need to create screens so that we can create contact. So just click on plus just after contact and have a screen. So on contact you know like we just need last name as a required field. So what I'm going to do first of all I'm providing label for screen. So it will be contact info then I'm going to place two text components only. So first one will be for first name and another one will be for last name. So last name I'm keeping as required. So this way this screen is created for contact. Okay. First name and last name will be received and I'm clicking on done. Now after that what I'm going to do adding no not a not a screen. I need to add an element so that I can create a record. Okay. And here I am selecting these options. How many records to create one and use separate resources and literal values. Then from here I'm selecting contact as object. So later in this session like we will discuss this option as well how many records to create. So I have one scenario where we will be creating multiple records. So we will be choosing this option. Now here we need to map the fields. So first name will be mapped with first name then we need to map last name. So last name will be mapped with last name and then we need to assign the account ID as well. Okay. So for assigning account ID what you need to do you need to create a new resource and that resource will be a variable and its API name will be record ID. So actually contact opportunity or case will be related to account and this flow you will be placing on account record page. So as we discussed earlier if you place any flow on the record page so from that record page that records ID will be available automatically into this record ID variable and its type should be text and you need to enable this checkbox that is available for input. Okay. So now I'm just clicking on done so that this variable is created and whatever we are creating you can see all the information is available here whatever we have created so far all the resources are available here under this list. Right. So what you can do anytime if you want to open any resource so you can just click and you will be able to see that. So if you click here you will be able to see if magnifier class is available if you click so you can just identify where it is used. Okay. So this way you can just explore whatever you are creating is available here. Now what I need to do I just created record ID variable so I'm going to map it here. Okay. I'm adding one more field and here I'm adding account ID and here I'm adding record ID and clicking on done. Right. So this way first path is completed like contact information will be received and contact will be created. Now second is for opportunity so opportunity flow also we already created so here label will be opportunity info then here we need three components first will be text for opportunity name it should be required then we need to search for date so date we need to use for close date and it should also be required then we need one pick list so pick list component I'm placing and here I'm labeling it as stage name it should also be required and here from choice I'm going to create a pick list choice set that we already created. Okay. So here I'm selecting object as opportunity data type pick list and here I'm searching for stage name and clicking on done right. So this way it will be linked I'm clicking on done so opportunity screen is created which will be receiving all three values then again here you will be using this option create records so here you can write create opportunity then from here you will be selecting use separate resources and literal values then object will be opportunity and then you need to map the values so name will be mapped with name opportunity name so here we have opportunity name then we need to add one more field and that will be for close date so here we have closed date then we need to add one more field that will be for stage so stage we need to pick screen component right so this one you need to select it and then account ID so that the newly created opportunity will be connected with the account right so this way you will be mapping all the fields and click on done so two parts are completed now we need to implement third path so for that I'm just moving here and I'm going to open sales application and I'm just showing you like what all fields required on case so I'm just creating new case and here I'm going to click on save case so case origin is required and other like status is also required which should be having a value so by default it is having new so we will be creating two mapping status and case origin okay so I'm creating a screen and it will be case info and here I need to place pick list two pick list one for status required and here I am going to click on this plus sign so that I can create pick list choice set so API name will be case status here I am selecting object as case field data type pick list and here status so this way what I'm doing the pick list field that is already available on case object I am just linking it with the pick list component that I'm creating on the flow similar to stage that we did for opportunity right so it is created now we need one more so I'm adding one more and it will be for origin so here you can see we need to one for status one for case origin right so it should be case origin and here again I'm clicking on plus so that I can create pick list choice set so selecting case object data type will be pick list and here case origin and done so this way both the pick lists are connected and these two are required fields on case so I'm just putting these only and I am just clicking on done so this way case info is also available now we just need to create one more element that is create record so we need to create case then we need to use separate resources and electoral values then object you will be selecting case and here we can map status first so you need to select screen component then next will be origin so here we have case origin so we need to select the screen component then account id and this you need to map with record id okay so this way all three directions are created and this flow is completed now now what you need to do just click on save so that it will be saved and you can just activate it and after activation what we need to do just go to accounts tab and open any account record and on that account record you can just place this flow so just click on this gear icon and edit the page so lightning app builder will be opened and you will be able to place it okay so from here I'm searching for flow and placing it here so I'm just removing this one and here I'm going to select this create case or opp or sorry create contact or opp or case so this flow is selected here you can see we need to pass this record id so I'm just checking this checkbox and you can just launch this flow through quick action as well so if you want to do that you you can just apply because you know that method as well so I'm just saving it so it is saved now moving back so on each account record page you will see this and here it is so right now what we need to do just check the related list we have zero contact one opportunity and zero case so I will I will be creating each record one contact one opportunity one case and you will see everything will be related to this account so from here I'm selecting contact clicking on next so here I need to provide the info so test con 401 test and clicking on next so here you can see contact is created right now I'm going to select opportunity clicking on next so here I'm providing name test 401 then I'm just populating closed date and stage and clicking on next so you can see opportunity is also available here then I'm going to create a case so for case we have these two pick list so I'm just selecting values from here clicking on next and you can see cases also created so this way basis on users choice you are able to create particular record on account right so I can see a few questions are there so very good is asking like discuss loop so loop will be discussing in the next example where we will be like asking from user like how many records you want to create so right now we are able to create only one record but we will be modifying this and we'll ask like how many records you want to create then you will see formula and collection sort and renaming resources so renaming I think very easy so if you want to rename resource so you can just go to your flow and open any of the element and from here like you can add it and rename label or api name if you want to rename any resource so from here also you can do just click edit and edit this pencil and whatever is available for added you can just add it okay and collection sort is very easy like if you have created a collection variable so just pass it into the element and it will be automatically sorted okay so jeet you are saying voices little down so just confirm whether it is good now simi is asking do you have pre-recorded youtube sessions for the formula self exercise no I think I added a link there so that is a PDF and there you will find the solution right someone is asking why do we need to create id variable so that id variable we created to store account id so we created record id variable it is available here so this record id variable is basically reading the id of account record if you remember I when I edited this so if I added this page again so I just enabled a checkbox I'm going to show the show that again if I click on this flow component so from here I just enable this checkbox pass record id into this variable so the account record id which you are viewing currently its id will be passed to this record id variable that we created right so that's that's why we created that a show is asking how we can remove default outcome so I think default outcome we cannot remove it is available here and it is not doing anything like if you want to do other than these three options then you will be able to do let me check whether we have delete option for this no we don't have any delete option so it won't be deleted for others we have delete outcome but for default we don't have so this is the limitation so next question is what is the benefit of adding flow into account isn't it something that is gathered by outside contact so basically why we are placing this flow on account object because we are linking all the newly created records with account so if you don't place the flow on account record you won't be able to read the account id if you don't have account id you won't be able to link your newly created records with the account so that's why we are placing this flow on account record page right and you have two ways either you can place it on record page or you can launch it through quick action so you can just choose whatever option you want okay so this is done now what I'm going to do I'm going to explain you the second type so second use case says implement the same things but through subflow right so what will happen we will be having four different flows one will be having the object selection options and other three will be having like one flow will be having contact creation one flow will be having opportunity creation and another will be having case creation okay so quickly I'm going to show you that as well right so that way you will get to know how we can connect two flows so one will be one will become the parent flow that will start the execution and another will become the subflow that will be followed the execution of the parent one right so I hope this you understood so I'm just moving back so that I can create new flow and I will be reusing one flow that we created earlier so I'm just opening that one so in the first session of screen flow I just created this one so that we can create a opportunity right so I will be reusing this flow in the parent flow so this flow you can consider as child and the parent flow I am going to create and we will be reusing this flow into that so I'm just creating one flow so clicking on new flow screen flow clicking on create so here I'm going to create one screen and this screen will be for object selection so same steps for object selection like you need to create a pick list and this pick list will be having manual value so here I'm writing select an object it should be required then you need to click on plus so that you can create manually choices so I'm just copying it and pasting it here so this is very important to understand how we can create this subflow scenario right because if you have more than one flows and if you want to connect so this becomes very important so I'm creating opportunity choice clicking on done then again add choice and creating one more and this will be for case okay I'm clicking on done so this way choices are available so this screen is created now I just need to apply a decision so here check object selection so here I can write is contact then we can check it with contact select an object then click on plus then is OPP then select an object and here you can search for opportunity then again click on plus here you can write is case so select an object and here you can write you can select case so three outcomes are available and click on done right so this is same that we implemented in the previous flow right now what we need to do we need to click on plus so we have opportunity flow already created so I'm just clicking on plus and here you can see I have an option subflow so I'm just clicking on this subflow option and here I can search the flow so we have opportunity flow so create an opportunity on account so I'm just selecting it this flow is already created so here you can see create an opportunity on account and I'm selecting it and label like call OPP subflow opportunity subflow here it is and you see like in this flow we have a record ID variable and this record ID is having available for input checkbox checked that's why you can see here this option is available so you just need to include and you need to match it with the variable right so here also in this flow we need to create that record ID variable so now what I'm going to do I'm creating new resource variable and naming it as record ID so in this parent flow whatever value is available in this record ID variable that will be passed into this record ID right and click on done so this way you can see with this flow your subflow is connected so on account record page you will be placing this main flow that we created right now and this main flow will automatically call your subflow so this way you can reuse the flows in Salesforce right now I hope like if you go to the exercises so here under day 23 I just gave you all three scenarios like here you might have created a opportunity for opportunity flow then you might have created for contact and for case so you already might have three different flows available in your org so what you need to do you just need to build this piece like screen and decision and this way you can connect all those three flows here so they can work independently as well and they can work part of this main flow as well okay so I hope you understood and let me know do you want me to create contact and case separately and want to attach here or you will be able to complete this at your own because I already mentioned this exercise in today's exercises so here you can see number second you need to implement so if you need I can but if you can practice yourself so I will leave it for you so just mention in the chat so that I would know and accordingly I will proceed by the time very good is asking can we rename the flow can we change API name of the flow so my answer will be no you can just change the label of the flow you cannot change the API name so how you can verify it so on flow here we have this gear icon and at top left corner if you click on it so it will open the flow and you will be able to change the label but you won't be able to change the API name right okay so I just got the answer from two folks like they are saying no so I just take it like you will be able to implement this and if not let me know in upcoming session I will just explain that but I think it is very easy you can you already have separate flows so you will be able to connect them okay so just practice it is very easy and I I'm sure like by attending these sessions regularly now I hope you are learning in depth and these sessions are helping you to understand things so if you have any question you can ask because now I need to jump on the third use case okay so if you have any question so you can just ask so bindo is asking when the subflow is completed will it be back to the period flow again for operation yes so here what you can predict so decision is executed then it will go to subflow when subflow is completed whatever is available after this subflow call so that will start execution so for the moment for few like for some time your control will redirect to the subflow but again after execution whenever execution completes it will again come back to the parent flow so very good is asking why we create record ID inside the subflow because in subflow we are actually mapping in subflow we are actually mapping so if you pass that value into subflow then you will be able to use and we are using this subflow separately as well so if you are using it separately so in that case record ID will be required so MEI is asking can we put any background behind flow so I don't think we can Rohan welcome to the sessions so in the video description you can just find the session tracker link so you can just follow the sessions from the tracker if someone is having the session link right now just paste it in the chat so that Rohan can go through and next question is can you please explain about record ID variable one more time so I think I already explained it so you just need to watch the day 23 recording because it is very time-consuming process so if I explain it again so it will like it will be a repeated topic for many of the folks so just go and watch a day 23 recording you will have clear explanation there yes Rohan you will get the recording sessions from the beginning okay so let me just share the so here we have created this this kind of session tracker and this session tracker link is available in the in the video description so you can just have it from there okay so now Ashok is asking what is the use of default outcome so Ashok if there are three options available and like you didn't mark that required and if user didn't select any option so in that case default outcome will execute and if you want to show something there so you can just select it yes first if you have long flows and if you want to reuse already built flows so in that case so flow will be part of best practice yes don't we can connect relationship between elements manually so you can just have cut and paste options so if we go here so let's say I just want to cut it from here so here we have cut element and if you click here so it will be pasted there so this way like we can just cut paste or copy paste whatever you want we can okay if you want it back here so you can just do it right away okay so I think I just answered all the questions now let's jump to the next use case which is which says modify above flow to ask how many contact or opportunity or case should be created related to account based on user's choice so this is very interesting and here we will be implementing a loop so what I'm going to do I will be modifying the first one and later on like second one you can modify like so that you can ask how many contact opportunity or cases will be created so moving here and I'm just closing this one and I'm going to open the flow which I created in the beginning of this session and I will be modifying that flow okay and I'm going to convert it into free form I'm going to convert it into free form because right now I just need to manage the things so I will be implementing a loop so I will be placing them as per my requirement so that's why I chose that so in free from free form you can see how easily we can just drag and drop the options elements right so what I'm going to do now I'm going to open this object selection screen so here we will be selecting the object and here I'm putting a number element one time and here this number element level will be how many records you want to create and it should be required okay so first user will be selecting the object and then user need to provide the number of contacts or records that user want to create right so I'm just adding this number component here and provided the label and clicking on done okay so I can see one question Gopi is asking can you explain lookup so Gopi you need to watch yesterday's recording day 24 so like yesterday I explained how we can use lookup and flow so this way I just modified this screen so that we have like how many records we need to create now we will be having this decision and after that decision we just need to apply the loop okay and like suppose user entered object is contact and number of records five so this screen we need to repeat five times right this screen we need to repeat five times so we need a loop and we need to iterate a loop five times okay so here I am going to create new resource variable and that variable I am naming as counter it will be of type number and here default value I am setting as one okay decimal places I am removing it will be zero so counter is a simple variable whose initial value is one so what I am going to do I am creating a loop which will be starting from this counter that is one and it will go to the value which is equivalent to like how many records you want to create okay so here I am going to click on done so that resource is created now I am just removing this line so you just need to click on the flow line and press delete so that will be deleted now here I am going to add new sorry not the resource element so I am going to add a decision element so I am going to create a loop through decision right I am not going to use this loop element actually this loop element we will be discussing in the record triggered flow properly right so in record triggered flow I will show you the use of this loop element so right now through decision we are going to like check or implement the loop so we need to check counter so here less than required records and here you need to write counter is less than or equal then how many records you want to create okay so what we are doing understand it carefully so counter is initially having one and we are comparing this counter variable with this how many records you want to create so for example in this how many records you want to create user entered five so right now counter is having one so one is less than or equals to five so it is true so outcome of this decision will be true it means we need to take input for one contact okay and Simi is asking like what does a loop do so loop basically means repetition if you want to repeat one process more than one time so that process is known as loop okay so I am just clicking on done so this way this decision is available here so from here I will move to this and from here I will go here less than like less than required record so if it is true so the screen will execute it will ask for contact information now we won't be including this create record inside the loop so I am just deleting this and here what I am going to do I am going to create two more resources so just focus on this implementation carefully because it is going to be different so here I am going to implement one variable it will be known as contact record it will be known as contact record and its data type will be record and object will be contact so actually this variable will be storing contact related information okay and rest I am leaving as is I am not enabling this checkbox I am not enabling these two checkboxes so this contact record variable will be storing one contact information I am clicking on done now I am going to create one more resource and this will be of type variable and here I am writing contact list okay so this is again a variable but this time its data type is record and I am selecting this checkbox and object type is contact so why I selected this checkbox because in this variable I want to store more than one contacts okay and I am clicking on done so I didn't do anything on the canvas I just created two new resources here so you will see them here one is record single variable and one is record collection variable these two I created now when this decision will be true like counter is less than required number of records so this screen will be receiving first name and last name of the contact and after this what we need to do go here on elements and pick the assignment so here you can write assign contact info so you will be selecting contact record then search for first name equals first name then add assignment here contact record dot last name equals last name right so this way you are creating a contact record mapping then one more time contact record dot account id and equals you can write record id so this way mapping we created through assignment and the mapping we store we are storing in a contact record variable that I created so I clicked on done so this assignment is created now we need to connect it now after creation of this assignment we need to create one more assignment so in this assignment you need to assign contact record into list so from here you can search for con list then select add and you can add your contact record just click on contact record now you just need to click outside so the contact record which we created in the previous assignment that contact record will be added into the list so list is basically a container which can store more than one um like variables information then add assignment and here you need to increase the counter so counter then add and you can add one into it so counter is a number variable which we started with one and if we add one more so next time it its value will become two so this way every time this counter will be incremented by one now I'm just clicking on done so this way this assignment is also created now after this you just need to go to the decision so this way we just framed a loop this is a loop so every time this counter will be checking like counter value is less than or equals to this how many record and if it is less then you just need to provide contact info then that contact info will be assigned into a contact variable then that contact variable will be assigned assigned into the list and this process will repeat until you will create all the necessary data now once this decision will be false you will be connecting it with this create record element okay so here you can see it is default outcome so someone is asking like what is the benefit of default outcome so here we have only two outcome one is less than required records and one is default outcome so this less than required record is basically creating a loop and once this is finished and default like that condition will be false so default outcome will go here and here we need to modify it so what we need to do just select multiple so right now we created multiple contact records so we just need to create them all together and they are available into this contact list so this way if you select multiple options so you can just add the list and click on them so this way i just created one part of this flow same thing we need to do for opportunity and for case as well okay so i'm just seeing some questions so yesterday's flow and today's flow are not related they are different okay simi so what i'm going to do this i just explained for contact now i'm going to create the same for opportunity as well so all the steps will be repeating and you will be able to understand them right so i'm going to create it for opportunity now so this part is done i'm just dragging it here so we have this screen then we have this create record so i'm disconnecting both okay now like that counter variable we already created so what we need to do just use decision and here you can see check counter for opportunity then so here you can write counter less than required okay and here you can search for counter then you can select less than or equal and here how many records you want to create so this way you will be setting up your decision so whenever counter is less than or equal to this value so it will be true okay now after that you will be connecting the screen so with this this will be connected opportunity outcome and with this decision this screen will be connected and this screen will be reading opportunity related data now what we need to do we need to create two resources as variable so i'm creating first resource as variable and its label will be opp record data type will be record and object will be opportunity okay so this is one variable which can store one opportunity information so i'm just clicking on done now i'm creating one more resource so it will be of type variable its api name will be opp list data type will be record and object will be opportunity and allow multiple values so that we can add multiple opportunity records into this list so these two resources i created so here you can see we have now two variables as single record and two as collection so after this what you need to do you just need to create assignment elements that we created here so after this screen you will be creating assignment okay so from here i'm picking the assignment so assign opp info so from here you will be searching opportunity record dot name then equals from here like name this screen component then add one more assignment so here again opp record dot close date equals from here you can select close date then again opp record dot stage equals then you can select stage name then opp record dot account id so you need to pass account id so you can just pass record id here so this way we just did all the mapping but we did mapping with the with that variable only now that variable we need to assign into the list so you will be using one more assignment so assign opp record to list so from here you can select opportunity list then add and then opp record right now here you need to increase counter so counter will be adding one every time okay so this way one more assignment is created now you can connect everything so this screen will be connected with this assignment this assignment will be connected with this one and this assignment will be connected with the decision and once decision is false so it will create opportunity records if i open it so i need to select multiple and from here i can select opp list and then done so this way we just modify two objects contact an opportunity same way you can modify the case so this i leave up to you so that you can modify and you can see how complicated flow it is but it is very simple to implement if you follow and understand each and every steps so what i can do just click on save as save and activate so now i'm going to homepage and will be placing this flow sorry not on homepage account record page so i am just going to edit this page so i will be removing the existing flow and will be placing this one okay this is already available here right so i think i don't need to do anything because it is already available so here you can see we have both options and let's see on this account we don't have any contact opportunity in case everything is zero so from here i am selecting contact it is asking how many records you want to create i am adding four i want to create four contacts related to this account right so this is custom functionality now and this custom functionality if it is available in your requirements so you can just implement this kind of flow so just click on next now here you need to provide first name last name so i am creating con let's say one one zero one test one one zero one okay next it is asking one more so con one one zero two test one one zero two it is asking one more con one one zero three test one one zero three one more so con one one zero four test one one zero four and now if i click on next nothing will be asked it will be restarted and here you can see four contacts are created okay so this way what you can do like you can just improve your flow and you can ask like how many records you want to create then you need to create collections and this way you will be implementing the solution so i just implemented all three flows for you so now if you have any question you can ask so very quickly you are asking like instead of record id we create a lookup because if you place your flow on home page or app page so you won't be having any record id for account so you need a lookup from which we can select particular account and then through that lookup we will be providing the id so someone is asking where con list is created so con list is created here this contact list right i just created it and through this new resource i created new resource variable then i filled this selected data type then selected this allow multiple values so it is available after that okay so next is before you assign the screen element to create record but today we need more record that reason we use the assignment operator and assign yes how can you use more lookup fields in flow yes we can we can use more lookup fields okay ferris is asking what is the functionality and use case for roll black record so if due to some reason your flow fails if you want to roll back all the operations so for that purpose it can be used rithubar is asking how to enable custom functionality so what does it mean custom functionality can you please elaborate more no we don't have any limit to create record yes simi we created such a big flow so that four records can be created and it is a custom solution so we just selected object for which we want to create record then we provided number of records it can have more functionalities as well so it is big because it is implemented for three different objects right so it is not big we are just replicating things repeatedly so if you implement it again and again so it will be very easy for you like this flow i can like if i implement it quickly so it will take 10 minutes for me to implement the complete flow because i have that practice so it depends on the requirement okay so ferris is asking collection sort and collection filter so i think i can use them right away so if i go to element so here we have collection sort so here i can pass that variable so we created contact list so you can just have it and you can select the field basis on what you want to sort so i'm selecting first name so basis on first name it will be sorted and will be arranged so this is the use of this sort okay and we have filter if you want to apply filter on collection variable so just select particular collection and you can apply the filter so select a source collection this element creates a target collection that contains only the source item that meet the collection condition so it will filter out the records and will create a new collection okay so next is little bit confusing in creating resources when to create resource so praveen you just need to practice because this is i think for the first time you saw this big flow so if you watch the recording of this session and created yourself so you will be able to understand it much clearly so nikhil is saying can we implement in such a way where i put name as test one all remaining should be created like test two test three and test four yeah that we can do so for that you need to build more functionality in the flow itself so it will be more complicated then but we don't do that because we want all the information like name first name last name all the information we want from user so we never create data in the flow we ask those information from the ui always so rithu raj is asking which is better coding or flow and he is smiling as well so i would prefer flow first if things you can implement with flow so you can just implement that because while implementing flow you don't need to create any test class right but if you go for coding so you will be implementing apex and trigger and then you need to write test class as well so that is very complicated to implement so just try to implement flow first and then if flow is not capable of doing that thing you can go for coding roshan is asking what are the limitations which can only be removed using trigger so removed means i didn't get your question actually so roshan can you just type it again correctly okay ashok is asking what is the use of fault path element yeah this is good question so let me just explain it so here you can see we have this create record element okay so like here we don't have a fault one if you go to auto layout there you will find so this way it is available and if you come here here also it is not available okay i think if you click here yeah here it is add fault path so if you click on this create record then it is available so i think if you go to free form then also it will be available so here also it is available so let me arrange it again so if you click on it so here it is not available again i need to go back to auto layout and if you go to auto layout so here you will find this add fault path if you click on it so buy any chance if your record creation is failing due to any reason so here you can add the fault path so you can just add a screen and there you can just display a text like your you can just say sorry due to some reason records are not being created so that way you can just show the fault path right it is simple yes so rithuras to create multiple record you said you need a custom functionality yeah so what we did this is basically a custom functionality so suppose your client requirement is like on account they they need a pick list where we have all the objects available and as per the choice record should be created and they want a number of records um they want to enter from ui so this is a custom requirement which is not built already so to accomplish this requirement we are generally creating the flow so this kind of requirement can be available in the projects as well so rishikesh added option will be available if you open any record so just open account record and at top right corner under gear icon you will see this added page option you need to open a account record first yes akula i hope like i know it is little bit confusing but when you will be doing practice surely you will get it so collection sort and collection filter like this you can say like if you have a collection where lots of records available and if you want to display them on ui so in that case like your collection sort will be in picture and if you want to remove certain records from the collection and then filtered record you want to use like you want to remove duplicates so in that case you will be using the collection filter so let me give you one example like in which case you will be using so i have two scenarios here deduplicate a collection variable and deduplicate two collection and merge so these are two requirements if you go through here i have used a collection sort and collection filter so these are number 32 and 33 and they are under scenario and flow filter all right so you can just go go through with 32 and 33 okay so yes mary like i i know you might have some confusion like how this complicated flow you will be implementing but trust me if you try to implement and go through the recording again you will be able to implement and once you implement it and if it works fine you will become happy so simi you are asking is it it is comforting to know the technical background is not required to become a sales force developer what do you want to know with this can you just elaborate more okay so i think i just explained all the scenarios that i planned for today and if you have more questions so you can just ask in the chat so that i can respond and i just prepared a few questions for you for practice so just go through with them right and after completion of this just go go to study salesforce.com and under scenario click on flow builder so here you will see all the screen flow related scenarios just go through the list and see if you missed anyone if you missed then just go through the recording and now like you have the base clear like how screen flows are implemented so there are lots of use cases available so a few use cases you need to try yourself because i i can't give like much time to all these scenarios specifically because we have a lot to learn okay so you can just go through and if you have any doubt so you can just discuss in the telegram group so that your doubts will be cleared thank you very quickly for appreciating my efforts so those who are having doubts and question please ask otherwise i will be ending session here only and tomorrow i have planned one session for admin and app builder certification preparation so those who want to join you you can otherwise you will be joining the monday session okay vishal i think you will find a playlist link so on my youtube channel like flow scenarios playlist is available so you can just go through with that as well thank you northern thank you gaitri simia like when you will be learning apex so i will try to explain each and everything from the beginning so if you don't have any programming knowledge then also you can just try to understand thank you veera yes aparna i will be adding some scenarios in our admin project related to flow so that i will try to do next week so roshan this weekend discuss tomorrow like how to get certification coupon so i have few things that i will share with you so through those like you can just try to get links thank you arjuna thank you tunj so ashok just go through the recorded videos if you not able to understand then i will pick there also i just explained in detail so through these three sessions i just gave you the base of screen flow now you just give it a try because it is very difficult to explain each and every scenario it will take lots of time then this bootcamp will go for one year almost because we have lot in programming as well so i i'm just providing all the collection with you and like this is 25th session if you are attending from the beginning now now you got familiar with my teaching style also so if you see recorded videos so it will look like i'm teaching live thank you vishal thank you very good no tomorrow we don't be we won't be having any flow session we'll be having a session on admin app builder preparation so i just updated the sheet so you can just see so tomorrow is day 26 and we'll be having this certification preparation guidance and anything you want to know about me or my journey so it will be like chit chat session so interactive session anything you can ask it will be open and off-track session not will be on particular topic yeah roshan we will be discussing about this tomorrow all the certification related or other than any topic questions whatever you are asking please ask them tomorrow so that i will be able to answer them so bindu there is no news as such like approval processes are being replaced by flow so if there is no news so like there is no sense of this question okay so i think we are done for today so thank you everybody for joining and please help me to reach 100k subscribers by end of this year so this is a resolution for me so please help me to share the information with the learners students okay thank you so much we'll see you tomorrow


The backlash to Georgia's voter suppression law has been swift and severe and even large multinational corporations are speaking out against the law not necessarily out of the goodness of their hearts, but because public pressure, part marketing, there's a number of reasons. But either way, corporate America is getting involved and a lot of capitalists are finding out the hard way that their preferred economic system does have some pitfalls.   And eventually it grows and grows and spreads and it gets so big that it takes down the political system within which it exists. It even makes democracy and elections this commodified money making venture. We're to the point now where you can't be electorally successful unless you can raise lots and lots of money. You don't even have a say over policy outcomes unless you are an elite with a lot of money and capital. And you know, people who helped create this late stage capitalist dystopia that we live in, like Mitch McConnell, who literally signed legal briefs supporting Citizens United to increase the amount of corporate influence in our politics, all of a sudden doesn't like that corporations are getting involved in politics. And he decided to send a very strong message to them and he told them to stay out of politics. Although that lasted about a day because he immediately had to backtrack saying, I didn't actually say that very artfully yesterday. They're certainly entitled to be involved in politics. They are.  In other words, somebody got a stern talking to by their corporate overlords and they told him, you better change your opinion real quick. Otherwise, if you want us to give you money in 2022, then we're not going to be there. The gravy train is going to dry up. So either come correct or find yourself some different corporate donors. I'm loving all of this. Now, there are two additional capitalists that I've got a spotlight because they're also very outraged at the fact that the system that they support or purport to support is operating exactly as it is intended to. All right. On top of the MLB moving out of the All-Star Game out of Atlanta, dozens of Craven CEOs have jumped onto the left's trash Georgia bandwagon. To me, it's shameful. But what if it became the new normal? We just accept it. JPMorgan CEO, Jamie Dimon, wants corporate America to get more involved in politics. Writing this today, companies like ours have an extraordinary capability to help to not just with funding, but with developing strong public policy. Oh, really? JPMorgan is going to run the country, which could have a greater impact on society. Here to react is Dan Crenshaw. Dan, stand down as congressman from Texas. Jamie Dimon is going to start making decisions. Isn't that a relief? Yeah, look, you know, he should run for Congress if he really wants to be in politics. And that's my message to all of these CEOs. And I don't think what they I don't think they understand how damaging their entry into politics is for far too long already. Americans are forced to, you know, watch a different late night comedy show.  And now we have to look at products or banks or our airlines and think to ourselves, well, yeah, I want to buy this product or purchase this ticket. But these people hate me or they don't think my ideas are good or they lie about my ideas, they lie about what we want to do for election integrity. This is damaging our culture. It's damaging our social fabric. They're doing far more damage than they realize.  You are the ones, capitalists are the ones who claim that the free market is this sort of sentient being that should be unaccountable and unregulated, answer to no one whatsoever, not even the government. But now all of a sudden you're worried about the power that these corporations have over our government. Brian Kilmeade asks, is JP Morgan going to run the country? Crenshaw then chimes in saying you should run for Congress if he really wants to be in politics. I don't think they understand how damaging their entry into politics is. No, no, no, I don't think you understand how damaging their entry into politics is, because if you actually understood how damaging it was, you would be supporting legislation that would get money out of politics, rein in the power that large multinational corporations have. And I love how they're only finding out about the amount of influence corporations have now. When it comes to policy outcomes, normal Americans have a statistically insignificant impact on what lawmakers produce. However, if you are an elite, a business interest, you actually have all the say in our political system. So this isn't a new thing. You just don't like that these corporations aren't doing what you want them to do, because they know it is not socially acceptable to support voter suppression. But when they do actually take a political stand on an issue, it's a business decision. They're not doing it out of the goodness of their heart. They're condemning the voting law in Georgia because they're worried that there could be organized boycotts against them if they don't speak out against something that is very clearly an attempt to suppress the votes disproportionately of black voters in Georgia. Now, Dan Crenshaw, really, if he's concerned about money and politics, he should ask himself as a capitalist, why do these large corporations have so much influence on our country in the first place, on our government in the first place? They fund politicians that in turn do the bidding of the corporations that help them get elected. Dan Crenshaw is also guilty here. So if you truly want to complain about corporate power in America, your words are meaningless as a lawmaker if you're not actually taking action. Now, there's one more clip that I want to show you here. So he very clearly is just going to complain about corporate power in politics, not going to actually take meaningful steps to curtail the influence that they have. But he's also going to say that this is really a specific kind of politics that we're seeing. He's going to misrepresent a word that he obviously doesn't understand. But I'll tell you why what he's saying here is a little bit ironic and hypocritical. United Airlines wants to get a little bit more woke. They want to go out and say that 50 percent of the new hires from here on in are going to be women or people of color. United Airlines is officially stating this. They're planning to train 5,000 new pilots and a new pilot training program by 2030, of which at least half will be women and people of color. What do you think about this idea? Look, I think just about every passenger that gets on a plane thinks to themselves, I hope the pilot is qualified and can take off and land the plane safely. Look, if they want a virtue signal, that's fine. You know, what really pissed me off about United was the way they lied about the election integrity reforms that we're trying to make in places like Georgia and in Texas. They lied about it. They insinuated that these that these were voter suppression laws. And of course, that's not true. Clearly, they didn't read it. And again, they're venturing into territory that they don't understand that they that they don't know that they know nothing about in an attempt to what this is what I call the phenomenon that's going on. It's it's progressive fascism because because what is fascism? Well, it's the it's the it's the regimentation of the economy, of society, and it's the forced suppression of of your opposition. That's what's happening right now. The Democrats have successfully captivated the institutions, you know, pop culture, Hollywood, our education institutions. And now our corporations into their own woke agenda. This is fascism, right? And they use cancel culture as as a tool to impose their fascism on us. And so they're always using these anti this anti fascist labeling against the right, but they're the ones who actually engage in the tactics. And it's time we expose that. That's really what's happening here. And we should see it for what it is. Look, if they if they want to if they want to hire based on quotas and virtue signal to us and imply that that that people didn't have these opportunities to begin with, fine, but don't lie about other policy. OK, that that's what I really have a problem with. How are conservatives being forcibly suppressed because the MLB is choosing to move to a different state? How is that suppressing opposition? And he says this is progressive fascism, as if these corporations are progressive.   And, you know, I've got to ask Dan Crenshaw this because if we actually accept his argument, if we assume that what he's saying here is true, then he needs to admit he's a fascist because in response to conspiracy theorist Paul Joseph Watson pointing out on Twitter that Dan Crenshaw suggested that criticism of Israel should not be protected under the First Amendment. Dan Crenshaw responded by saying the question wasn't about criticism, but the BDS movement, i.e. economic warfare against Israel. The US government can choose not to do business with BDS supporters. So hang on a second, according to Dan Crenshaw, when the government chooses who it does business with, based on the political ideology of the business in question, that's perfectly justifiable and reasonable. But when a private corporation chooses where it does business based explicitly on the policies of said state, that's fascism.  You are advocating by your definition of fascism for fascism by saying that the US government can choose to not do business with supporters of BDS and understand that this is a capitalist who is making this case. Shouldn't you be the one who argues that private corporations can do whatever they want? They could take their business wherever to whatever state. That's the free market. But you're claiming that this is forcible suppression of conservatives.  How terrible. This is definitely tantamount to forcible suppression. And I love how he's just outraged that Delta is misrepresenting the bill. How could they call this a voter suppression bill? I don't know. Did you read the bill, Dan? Did you actually read the bill? I don't know, criminalizing, giving food and water to people standing in line. I'd call that voter suppression because we want to encourage them to stay in line to vote. Do we not removing the amount of drop boxes that exist leading to longer lines? I mean, if lines are longer, I'd call that voter suppression, right?  He's claiming that they're lying, Delta's lying, but this is nothing more than projection.  They don't care. They just want to make sure that they don't face backlash if they don't speak out. And it's sad that in a democracy, the only way that citizens have a chance at having any say or influence over policies is if they can somehow pressure corporations to denounce what their lawmakers do. If you actually if lawmakers like you, Dan Crenshaw, actually listen to the people, perhaps they wouldn't be tweeting at Coca Cola to take action in Georgia.  But we have no say. Sixty to seventy percent of Americans, depending on the poll, support Medicare for all. But yet because corporate shills like Dan Crenshaw take money from the private insurance industry, well, we don't get it. We want to increase the minimum wage to $15 an hour. Corporate America says, no, we don't get it. So I guess what I want here is just consistency from conservatives.  But be consistent. This is the free market. You're not proposing anything to curtail the power of these corporations on our democracy.   If you don't like corporate power, do something to rein them in. But then that go against your capitalist economic philosophy. So you're kind of backed into a corner here.