 Hello, everyone. I am Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. So today we have day 65 of the Salesforce Learning Bootcamp and Part 6 of integration session. So today like We will be completing two weeks of Salesforce integration and I have Ankit with me And today we are doing session little bit early. So welcome Ankit on the channel. So Just briefly introduce yourself to the audience Sure. Thank you Sanjay for having me on this platform. So a quick intro about me My name is Ankit Jain. I do have more than 10 plus years of experience in the Salesforce ecosystem Where I got an opportunity to work on the different clouds. Moreover, I also provide the trainings to the different Corporates on the topics include the admin, Apex, integrations, PD1, PD2 certifications as well Moreover, I'm also quite active in the community So you can please follow me on the link as well as I'm also active on the stack exchange as well as on the developer community So yeah, this is great. And I hope people are enjoying all the sessions They are learning a lot. I can see the YouTube comments like people are Like posting positive comments regarding all the integration session those you have delivered So like I just want to thank you for conducting all these sessions Thank you, sir. Okay. So moving forward Like if you have any doubts and if you want to become a part of a community where Lots of freshers like those who are searching for the job or those who are already part of some organization So if you want to become part of that Community so you can just join this telegram group link is available or QR code is also available in front of you and Today we are going to complete week 18 of this salesforce learning bootcamp and like it is almost Five months. I started this bootcamp in January. So we came long way and Third phase of this bootcamp will be starting from next month So in that I will be covering development project first and then we'll cover the lightning aura and lightning web components Okay, so moving forward if you have not followed Sanjay Gupta Tech School So you can follow it on YouTube, LinkedIn, Instagram and telegram and all the important links are available In the video description, right? So do follow because lots of upcoming bootcamps are there and And share this channel with lots of people because here you can see lots of upcoming courses. I have already like written over here those will be launching soon and Please share a review or feedback about the bootcamp and specially for integration related sessions So that it will give some positivity to Ankit like whatever he has done for you. So it is very important and for community like We are doing things together. So I am grateful like Ankit Joined and became part of this bootcamp. So it is great. So please review. Please share your review or feedback Right. So with this note I hand over my to Ankit for today's session and I think today's session will be more interesting because he will be Discussing about Facebook. Sorry LinkedIn and Salesforce integration, right Ankit? Right. Based on the multiple requests that I also got personally over my LinkedIn and also as in the LinkedIn comments Many people are looking for more Scenarios for the rest call outs. Okay before this session We have covered a scenario where we have seen how we can integrate Salesforce to Salesforce where we can send We can hit the request from one Salesforce org and Access the data from another Salesforce org today I'm planning to cover one more scenario based on the multiple request that is how we can integrate Salesforce with all together different application that is the LinkedIn, right? So the scenario that I am planning to cover today is something like this So we'll have the two different orgs one is the Salesforce and another is all together different application that is LinkedIn Right. So what we will be doing today is we will be posting the Post on the LinkedIn from the Salesforce with the help of the integration Again, I'm repeating what we will be doing doing today is we will create We will make a call out from the Salesforce that if we are doing odd bone integration from the Salesforce And we will be posting Post on the LinkedIn. So how to do that again? Like we have discussed in the previous video as well whenever we have to perform the integration and Ideally, we should do it by using the OAuth 2.0 that is recommended way of integration So here also we will using the concept of OAuth 2.0 So what we'll be doing here is on the LinkedIn we will go and create our app first Right and post that on the Salesforce We will also go and register the LinkedIn URL so that we can make the call outs Let's do the things one by one. First, we will go and create the application on the LinkedIn. So how to do that? Let me stop this and So what we will do here is we will go here and type here the LinkedIn Developer so though like in case you are doing the integration with Twitter or Facebook Everyone do have their developer solutions So according to the integration that you have to perform You have to look for their developer solution as I am performing the integration here with the LinkedIn I looked here for the LinkedIn developer solution and so click on the LinkedIn developer solution in case you are not signed in It will ask you to sign in Okay, in case you have not signed it It will ask you to sign it and here you will get the option to create the application So click on this create app here Do your again we ought to like we are created the connected application in the previous session Similarly here also we ought to follow the similar analogy and we have to create the application Let me give the application name here as the integration demo It says you can do any name. It's completely up to you. Now here With this as I said every integration is a kind of a unique experience So if you follow their documentation here, what they will ask you to specify your company page In case you don't have the company page on the LinkedIn, right? You can also go and create your own LinkedIn page for the demo It's very simple. You just have to click on this button Just have to feed one of four of your mandatory fields and one page company page will be created for you Again, you cannot use your own companies or pitch because you have to be admin on that page to approve the connection request So what I will suggest in case you are doing it Or in case you're following with me for this integration, go and create your new LinkedIn page from here Right. I do have my own company's LinkedIn page. That is the Salesforce journey. So I am using my own page here. So let me search for my company page. This is my company page that I have created So can you please zoom in a little bit actually text is to Is it better? Yes, now it is back. Thank you. Okay. So I have provided the app name and here I have selected the company name Again, I am repeating in case you don't have you can go and create the company page. It's completely free to create the company page on the LinkedIn The next thing that you can do here is you can go and upload a logo in case you do have any So here I am uploading the company logo Again, it is not mandatory. It is not mandatory In case you want, you can go and do it from here. So I have uploaded the Salesforce journey as a logo here. And after that, I just have to accept this and create the application Very simple. I just followed the steps whatever as we asked and I have created the application as we have created the application. Here we got the client key and the client secret key Moreover, we also got the, okay, as of now we got only the client ID key and the client secret key. Now we also discussed that before we go and create the authentication provider, we have to go and define what kind of access that needs to be worked on So that we also refer as a scope To define the scope, you have to go to the products tab here and make the request. So click on the request access again as we are using the free version of the LinkedIn developers, we do have only the limited access here In case we are getting the paid version from the LinkedIn, we will get the more access from the LinkedIn So as we had to have the free version of the LinkedIn, I have requested the access to share the post on the LinkedIn and also I have requested the access to sign in on the LinkedIn The next thing that I have as I have requested this access, if you go to the art, you will see that we got the scopes here. So what all the scopes that are available, we got all the scopes here to get the scope and just different by page So you can see here, you got the different scopes that are available for the integration. In case we are doing the integration out of the scopes, then we will get the authentication issue. This is kind of authentication that we have achieved with the help of the connected app This is specifically for the LinkedIn, we have to also go and verify the company page that we have selected. So just click on the verification. Unless and until you are not doing a verification, your integration will not be successful. So you have to go here and verify it to do that. You can go and click on the verification tab Here basically what you are doing, you are integrating, you are letting the LinkedIn know that you have created that application and you are authorizing that application on your application. So you have to go here and verify it to do that. You can go and generate the URL from here. Copy the URL Paste the URL in the browser and click on verify. Here basically what you are doing, you are letting the LinkedIn know that you have created that application and you are authorizing that application on your company page. This is kind of an additional step that we have to do So that's what I have done. If I go and click on refresh now, my page is also verified that my scopes are also ready with me. So my page is verified and my scopes are also ready with me. Now let's go to the Salesforce and here first like we have done in the previous session we go and create the authentication provider first So let's go and create the author provider here. Here we are doing the integration with the LinkedIn. So here I'm clicking on new and selecting the author provider as the LinkedIn Selecting the author provider as the LinkedIn. Next thing what I have to do, I can do and do any name here. So let's say I'm giving the name here as LinkedIn only URL suffix you can give same name as this one. Next thing that we have to specify here is the consumer key and the consumer secret key. From where we'll get that. So for that again we have to go to the LinkedIn application. As you scroll up we do have the client ID and the client secret key. So that's what I am copying from here. I'm copying the client ID first putting the client ID here. Next thing I will go here. Again on that Salesforce side if you can a little bit zoom in here. So here we go and put the consumer secret as well. So I'm again copying the consumer secret key from here and testing it here. Now the next thing that we have to specify here is the authorized endpoint URL and the token endpoint URL. All the information for the integration as I said is available in the documentation. So let's go over the documentation and see what is the authentication URL and what will be the token authentication URL. So I'm navigating to the documentation here. And here we do have the section for the authentication. Let me zoom in. So here we do have the section for the authentication. I'm opening that section and let me go to this page because I already give you this documentation. So I know in case you're doing it for the first time you might have to spend the additional time where we do how the authentication URL. But basically it will be under the authentication section. So if you scroll down here you will find the authentication URL somewhere. You can see here we do have the author URL. So we can just copy that author URL from here. Next thing is we have to also get the token endpoint URL. Similarly we go here and get the token URL as well. So I'm copying the token URL from here. Testing it here. So I got my both the URLs authorization URL as well as the token URL. Right. Let's go and click on. What authentication provider will provide authentication provider will give you the callback URL after successful authentication has been done where the control should be transferred that is defined in the callback URL. So again I'm copying this callback URL from here. I'll go back to my LinkedIn application and define my callback URL in my application. So I will go here and here we do have the section to define the redirect URL of the app. So I will go here and add my redirect URL and clicking on the object. So what I have done I have added my callback URL to so authentication provider job has been done. We have defined here the consumer key consumer secret key. We have defined here the authorization as well as the access token URL and post that we have also defined here the from here we got the callback URL that we have configured on the LinkedIn application. Let's go and take another step that is creating the name credential. So here I go and create the name credential as well. So let me go and click on the new legacy to create the name credentials. So here I am clicking on here. I'm putting the label. You can again give any name. I'm just giving the label here as the LinkedIn. Now the URL. Right. What will be the base URL that we have to go and do the integration. Again we will follow the same documentation to check the base URL. So let's see whether they are showing the base URL in this documentation. Okay. In this documentation they do not have the base URL. So from where we'll get that base URL. We have to do the integration to post the message on the LinkedIn. So if I go to the products here I do have the documentation how I can pull the message on the LinkedIn. So again I am clicking on the view docs here. So if you follow this documentation again here we will get the base URL. Right. Here is my base URL to do the integration. So I'm just copying that base URL. Again I'm not copying the complete endpoint because whenever we have gone create the configure the name credential only base URL is sufficient. So I'm just copying my base URL from here and putting it under the name credential URL. That's it. Next thing is we have to go and specify how we want to do the authentication. So again here I am doing the authentication by using the OAuth 2.0. So I'm selecting here the OAuth 2.0 for the authentication and we have already created the authentication provider before we go and create the name credentials. So I'm selecting my authentication provider here. My authentication provider is LinkedIn. So I'm selecting the LinkedIn here. If you follow my previous video and this video you will find out there is there are too many similarities. The way we are configured the name credential the way we have configured the authentication provider. Right. The next thing that we have to. Again a little bit zoom in like one. Yeah it's already 150. Right. Okay. Yeah go and click on one thing that I missed to do here is and which will fill the name credential as well. I missed to define the. Let me go back. I missed to define the scope here because I have configured my authentic I have configured my authentication provider but I have not defined the kind of authentication that authorization that we have to do before I go and do the authentication with the LinkedIn. Let me go back to the authentication provider and I will define my scopes there. So here I go and open the OAuth provider because I missed one step to define the scopes. So let me go and write my mistake. Here we have to go and define the scopes as well. That's a completely missed. So I have again I'm getting the scope one by one from here and putting that scope there. So first I'm taking the email address scope and putting that scope here. Next thing is I am getting the light profile scope. I am putting it here. And the last thing that I am getting the member social scope and putting it here. All the scopes that I am defined here. They are separated by the spaces. So let me go and click on save. Let me check whether the scopes are defined properly or not. Yes, I can see all the scopes are defined properly now. So let me go back to my name credential again opening my name credential as of now the authentication status is pending. So let me go and click on edit and again I will try to save so that system will initiate the authentication process. So here I'm getting the request for the authentication clicking on sign in. You can see here. I am integrating the Salesforce with the LinkedIn right and based on the scopes that we have defined. We are getting this open options here. What all things that we can do we can get the profile details we can delete the post and comment the post as well. That's all scopes that we have defined. So we are getting that kind of access from the LinkedIn. I'm clicking on allow to authorize my connection as authenticated and successful. Now what I will what I had to do I had to go and post the message on the LinkedIn. So again we'll go and try to follow documentation what they're asking. So they're asking us to send the post request in the post request. They're asking us to hit this URL and in our request they're asking to save this many parameters author. All these are required parameters. If you check all these are required parameters. You just have to understand the documentation first before you go and write down any integration. Right. Author life cycle special content visibility. Right. They do have additional contents as well. And they might have given a sample body. You can see here they have also given a sample body here. Right. They have also given here the sample. So what kind of body that we have to send to the LinkedIn to post a message from the Salesforce. But if you follow this documentation the first thing that they are asking here is to sign in on the LinkedIn. You can see here the first request that we have to specify here is we have to go and sign in on the LinkedIn. After signing only we can go and post the request again to sign in. We do have another API available here. If you again follow the product to sign in we do have another API available. So go and click and open that API. So for signing we have to go and hit this request. Right. And what we have to specify in this request we have to use the get method. We have to hit this URL in the get method and we will get the author here. You can see here we will have the author somewhere available. That is the ID. We have to use this ID whenever we are posting the post on the LinkedIn. Here we have to pass that author to post the message on the LinkedIn. So this value we have to go and get from our first API call. So we have to do two API calls here. We'll do first API call to sign in into the LinkedIn where we will get the ID. Right. And the next call that we have to again go on the LinkedIn to post the message. Let's go and do all these calls one by one. So again I am clicking here going to the developer console and we'll write our class here. Let's go and create a new apex class at here and doing the name of the class as the LinkedIn integration. Let me go and write down the first method here public static void. Let's say login to LinkedIn. Let's say this is my first method. What I have to do in this method is I have to perform the logging operation. So again we'll follow the same steps what we have done in the previous session. First thing that we have to do and do here is we have to go and create the HTTP instance. So that's what I am doing here. I am creating here the HTTP instance. Next step that I have to do here is I have to go and create the Request instance. So that's what I am doing. I am creating here the HTTP request instance as well. So right now in the request we have to go and set the different parameters. So first thing that I have to go and set here is the method. What kind of method that we have to call for the sign in. If I follow the documentation, I have to call the get method here. So here I go and specify the method name as get Next thing that I have to go and specify here is the endpoint. So here I go and specify the endpoint as well. So in the endpoint the way we specify with the name credential first we write down the call out after that we go and specify the name of the name credential that is nothing but the LinkedIn. So here from here we will get the base URL followed by what all things that we have to do we to slash me because till here we are getting from our name credentials. So we do not have to repeat this path. This is the only path that we have to call to get the remaining details. So that's what I am doing. I am calling here the way to slash. Right. So I have created the HTTP instance. I have created the request instance as well. The next thing that I have to do it is I have to go and make the API call. So let me go and do that to do the call you have to go and use the send method of the HTTP and we will handle the response in the HTTP response with the same what we have to say here is the request. So that's what I am doing. I am sending the request here. Let's go and handle the response now. What kind of response that we are getting. So again system dot debug. Let me put here response dot get body and also I will check the what kind of status code that I are getting. So response dot get status code. Let's check what is the error that we are getting. It's a typo error HTTP. It's not HTTP. It's HTTP request. Right. Let's go and make this call and check whether the login is successful or not. So again, I will go to the debug open my anonymous window and making the API call from here. So I'm putting the method class name followed by the method name and opening the log here. Let's go and check whether we are getting the details or not. Yes, we are getting the expected details. We are getting the response code as 200 as well. So let's go and download the log and try to understand what all details that we are getting from the third party you act. So I'm downloading the log here. Open the log file to check the complete response. Again, as I mentioned yesterday, you can also pass the response by using the utility that we have discussed last time. Another thing that you can do here is you can also go and use the JSON dot serialize untied. It's completely up to you. Whatever the mechanism that you have to use, you can use that mechanism to pass that request. So is that response? Let me quickly check. Yes, here it is. Right. This is a successful response that we are getting after we go and make the API calls. Right. Now, here from this output, what we have to extract, we have to go and extract this ID based on this ID, we have to go and perform the post operation because this is where we have to open this ID, right? And this ID is available in the first output call. So we are getting this type of output call how we can deserialize this output. Again, we will use the same analogy that we have used in our last session. That is, we will use the method called JSON dot deserialize untied. What it will require as a part of input, it required as a part of input that is the response dot get body. And what this method will return this method, it will return you the map. So let me handle this in the form of map of object. And let me put here the result is equal to again, I am typecasting this. So what we got here is the kind of a now from this map we have to get which value is again follow this from the map I had to get this ID value. So let me go and get the value from the map. How we go and get the value from the map by using the get method. And here I am passing the ID, what it will return, it will return with the ID. Here again, I have to go and typecast it into the string because my value it is of type object. So what I have to do here is, again, I am typecasting it in the form of string here. And let me go and put here the value as login ID is equal to right. Let's go and debug this whether we are getting the expected login ID after passing it or not. So let me comment this and let me comment this. And here I go and put the another debug statement system dot debug. We are getting one error. We are missing the colon. So I'm just passing the colon and let's go and test whether we are getting the login ID or not. So again, I'm making my API call. And you can see here we are able to extract the login ID. Right. Now with this login ID, we have to make another API call to post the message on the LinkedIn. So what I will do here from this method, what I am doing here is let's say I'm retelling a string. And here I go and put the string as login. Again, you have to do the additional error handling here and skipping that for now. But when you actually code for the production, you have to go and check the response code is 200 or not. In the trycatch block, you can accordingly go and send the login ID, but I'm keeping it simple for now. I'm just passing here the login ID because I am performing kind of a demo test. So whenever we go and call this method, what we are getting here is the login ID. So let me go and create another method public static string and post on post on LinkedIn. And let's say this method, as of now, this method is not accepting anything will go and pass one additional parameter later. And from here, I'm just calling this method. And what this method is returning me a login ID, so string of login ID. Now we will go and create another method in that method, what we will do, we will go and perform the in that method, what we will do, we will go and perform the post operation. So I'm writing another method here public static void. And let's say I'm putting the method name has post message. I'm writing the method another method and I'm putting the method name has post message. So from the first method, we are getting the login ID, we will pass this login ID to this method now. So here I am calling another method, that is the post message, and in this method and passing the login ID. In this method, I'm just passing the login ID. Let me also accept the message as well. So string of message. Message, let's say that message is coming either from the lightning component or from the virtual force pages that you have to post here. So here I am putting another parameter as the message. So let's say here again, I'm defining my method is accepting two parameter. First parameter is the login ID. Another parameter here is the post message. I'm taking another step to perform the post operation. So again, I will go and define the HTTP instance is equal to new HTTP. Another thing that I will do here is I will go and write down your HTTP dot HTTP request is equal to request is equal to new of HTTP request. Now this time we have to perform the post operation. So here I am setting the method as the post method because if you follow the documentation, what they are asking to do here is they are asking to perform the post operation. So here that reason here I'll go and set the method type as the post. I'm not writing anything extra and just following the documentation. If you again follow this documentation, they have specifically mentioned that whenever we are making the integration, we have to set this header. If you follow this documentation, they have clearly mentioned that whenever we have to perform the integration, we do have to go and set this header. So here I go and set this header. So to do that, again, I'm using another method here to set the header, set header. So here in the set header, I am passing two things. First is the key. So till here, can you share the link so that I can share with the audience in the chat. They have to follow this to get that link. I'm not sure that this link will directly work for them because they have to go and register it. But let me try in case that works. Just in two links, one for the sign in and another for the post as well. So what I am doing here is, let me hide this. I have to go and perform the post message. So for that I am setting this header, but this will be my key of the header. So I am putting the key here. And the next thing that I have to go and specify here is the value. The value says the 0.0.0. So right now, as we have to perform the post operation, we have studied in the past, whenever you have to perform the post operation, we have to specify the body. So in which form we are sending this body, we are sending this body in the form of JSON. So we have to go and specify here another additional parameter that in which we have to let the integration know in which form we are sending the body. Whether we are sending the body in the JSON form or we are sending the body in the XML form, we have to let them know how we can let them know by specifying this additional header that is the content type. And in the content type, whatever the type of content that you are sending, you have to go and specify that content type. So for JSON, we have to go and specify the application slash JSON. Similarly, for XML, you have to go and specify here the application slash XML. Whatever the format that you are using to send the message, you have to go and define that header type here. The next thing that we have to go and specify here is the body. So we have to go and define the body. Before we go and define the body, let's go and create the body. So let's say I'm putting here the one variable that is the LinkedIn body or let me put here the LinkedIn post body. Right. So they have in the documentation, they have already provided the kind of a sample body that we have to send. So I'm just copying that sample body here. Again, according to your requirement, you can change the different values. You just have to follow the documentation and keeping it simple for now. I'm just copying this body from here and putting it here. Right. We have to again, it's a kind of a completely text. So we have to convert this into a text form to do that. I'm just adding the simple quotes here to convert this into the text form. So let me quickly do that. For each single line, I'm adding one starting quote. Similarly, I will go and add the closing quote as well that I will do in a while. This is not the one. So this is not the one. This is for the, that's until here we have pasted the body. So I have added my quotes here. So this is the starting one and this is the roast one. So till here I have added that similarly, let me add the end quote as well. So here I am putting the end quote and to concatenate the string and using the plus character here. Right. So all the errors are gone. So we have converted, we have created this body here according to their documentation. As of now, I have just pasted the body that they have here on their documentation. Now in this body, we have to populate few fields dynamically. Like here we have to go and pass the author based on the login ID that we are getting. So let's go and create the author ID here. So here I will go and create the string. Let's say author ID. I'm creating this author ID based on the login ID. So this will be this should be the format for the author ID. So I'm hoping till here I'm passing the login ID that I am getting. So where is my login ID? Here it is and I'm finding it. So I have created my login ID here. Right. Now let's go and specify that login ID here. So to do that, what I have to do, I have to replace this with the author ID variable that I have created because I have to pass this dynamically. So I'm doing the exact same thing. I'm just taking out this from here, putting the author ID here. Right. You have to make sure that you are following the start code and end code correctly. Right. And before you go and put the author ID. Similarly, you have to go and put the post message as well. So this is where you do have your post message. This is where you do have your post message. So here I go and put my post message. So I do have the post message and author ID coming dynamically in my body now. So I believe everything looks good. Right. My body is created as expected. Now the next thing that we have to do here is we have to go and set this body. So to set the body on the request, we have to use the other method from the request that is a request dot set. We have to use another method from the request that is the request dot set body and in this in this variable, I do have my complete body set which I have to send as a part of integration. Right. Now my body is also set. My headers are set. I have to the next thing that I have to go and define here is the endpoint now. So here I go and put my endpoint request dot set endpoint again to define the endpoint. We will use the call out colon your name credential name. What is my name credential name is LinkedIn. So here I go and put my name credential name followed by that I am putting here the on which I have to send my integration request. So integration path is available here. So I am just taking this path here on which I have to send my integration request. All out LinkedIn V2 PC and my endpoint is also once your endpoint is ready. Now only thing that we are that is left is we have to send that message and handle the response. So I am sending that message. I'm sorry to send the message. We have to use the method here called HTTP dot set and here we have to specify the request that we are sending. It is putting that request here. Let's go and check whether we are getting the successful response or not. I'm putting a system dot debug response dot body. And another thing that I am doing here is I am testing here the status code as well status code response dot status code. Whatever the status code that I have issued I'm just printing it for my valuation. Again, let me quickly dive into the code. What we have done here is we have created one method. This method it is internally calling two different methods. My first method it will return me the login ID and in my second method and passing the login ID along with the message that I am getting while calling my primary method. Right. Let's go and check this whether everything is working as expected or not. So this time I call my parent method here and my parent method also I am passing the message. Let's say. Welcome from tradition. Right. I have both here the message that I have to post on the link. Right. I'm keeping it simple for now. I'm just pasting the text message here according to the documentation you can follow and you can paste the images and all everything. Let me go and click on execute. Now we will check whether we are getting the successful response or not. Yes, we are getting here the status code as 201. I believe it is successful. Let's go and check the LinkedIn whether we do have that message available on our LinkedIn or not. You can see here the message is posted on the LinkedIn. Welcome from Sanjay Gupta textbook integration demo. I hope this demo or the integration that we have done from the Salesforce to LinkedIn will help you to clear your concept how to make the call outs, how to follow the documentation and perform the integration. Again, I am repeating each integration is kind of unique experience before you go and perform the integration spend some time to understand the documentation of the integration. First understand how they are doing the authentication. What are the different scopes that you need to that you need to perform. What is the end point? What are the different headers that you have to set and post that only start writing your code. Right. Let me check if you do have any questions in the chat box. Okay. Madhu Mohan asking what is typecasting in the apprax code typecasting is nothing but Madhu Mohan converting the one data type into another data type. Like here we are using object kind of a generic data type. Right. If you follow the code here, here we are using the object kind of a generic data type and we need to convert this generic data type into the string. So that's where we have done the typecasting in this line. So this gate method, it will return to the object. I have converted that object into the string by applying the concept of typecasting. Madhu Mohan asked another question. What was the method post on LinkedIn and what is the use of it. So this method, this method we have created kind of a parent method Madhu Mohan, which is internally calling to other methods one after the other. Right. As we have to set the sequence rather than you go and call these methods one by one from the anonymous window. Right. What I have done here is I have created the parent method and my parent method is taking care of calling to other methods here. Praveen, we have class you are asking me to repeat. Let me completely repeat the code as there is one request to ask the class with the first request. What we are doing here is first request we are hitting this end point and we are getting the body. Here we are converting this body or we are detecting this body to get the login ID. Right. For that here, I have used the standard method of the JSON class that is decentralized type. It is returning me in the form of map. In the next line, I have converted this map into the I have typecasted that object into the string and got the login ID here. In the next method, what we are doing here is the we are making the call to perform the post operation. Sorry, we are making a call to perform the right operation on the link then according to documentation to perform the LinkedIn post. We have to use here the HTTP method as the post. So here I have defined the HTTP method as post again according to documentation. They have asked you to set this header. So I have set this header here as we are sending the data in the form of JSON. So here I am specifying my content type that I am sending here. It is in the form of JSON. Another thing here is I have to go and prepare my body in my body. I have to keep the author ID and the message as dynamic. So what I have done here, I have first created my author ID here according to the documentation and similarly I have replaced the static message with the message that I am getting from either from my input here and post that I am setting the body. I am setting the endpoint that we already done in the previous steps. I am sending the request and I am just printing the body as printing the body as well as status code to check the output. Moreover, I also navigated here and check whether the output is output came as expected or not. The REST is a state list and how it remember the response from the CAD method. Shashi Kala you are correct. REST is a state list. Its REST does not remember the status of the previous response. That's why I have stored my response into the separate variable. I have made the provision to store the response into the separate variable because REST is a state list. Like when the REST is making another integration called REST by default cannot remember the output that is coming up from the previous variable. That's why I have taken this additional step to store the output coming from the REST into the separate variable so that I can pass it to my another method. Will you have taken all the questions Sanjay? Thank you Ankit. This was great and believe me for the first time I also learned this integration from Salesforce to LinkedIn. It was great and I am very happy like people will be learning a lot through this session. Thank you so much Ankit for sharing your knowledge on integration and I think we did total six sessions so in the six sessions we have covered a lot. There is a lot to learn but I think basic integration everybody should be able to understand. I agree. Thank you Sanjay for having me on this platform and providing me an opportunity to interact with such an intelligent folks. Thank you so much Ankit. Thank you everyone for joining the session and surely we will be having more sessions so I will try to have Ankit once again for some advanced topics so let's see when it will happen as per the availability. So we will keep you posted. Huge shout out to Ankit. Thank you so much once again. See you guys. See you on Monday with the new topics. Thank you.