 Okay, we are live now. Hello, everyone. I am Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. So this is day 60 of Salesforce Learning Bootcamp. And in this session, we'll be discussing about integration. So as per your demand, like I included these sessions in the bootcamp, and I have planned two weeks for integration. And I have Ankit Jain with me. So hello, Ankit. Welcome to the platform. Yes, Sanjay. Thanks for the support. Yeah, so Ankit is having around 10 plus years of experience. So he will be taking all the sessions related to integration. Right. So let's start with the session. And I'm going to share my screen so that we can cover the beginning slides first. And then I will hand over stage to Ankit. Right. So you can see right now we are having day 60 of Salesforce Learning Bootcamp. And this bootcamp is going in good direction and total 60 sessions we have completed so far. And in this session, we are focusing on integration. Right. So let me introduce Ankit in front of you. So like I would request Ankit, please, if you introduce yourself, so that will be good. So over to you, Ankit. Thanks, Sanjay. Thanks for the welcome. Hello everyone. Good morning. Good afternoon. Good evening based on your geographical location. I am Ankit Jain. I do have more than 10 years of experience in the Salesforce ecosystem. I am working as a Salesforce architect. Moreover, I am also a certified instructor as well as a corporate trainer too. I have done a few certifications in the Salesforce including the administrator certification app builder, PD1, PD2, JavaScript developer one. Moreover, as I said, I am a Salesforce certified instructor too. So I am a certified instructor for the PD1. That's all about me. Moreover, I am active majorly on the stack exchange and the dev community. So in case you do have any questions on the communities, you can also reach out to me there. Thanks, Ankit. Yeah. Great, Ankit. So I am happy to have you on this platform. And thank you for spending some time for the community and sharing your knowledge. So guys, you can see you are interacting with the experienced folks. Like he's having lots of experience and he has done lots of sessions for various corporate organizations and you can see the list of certifications. And he is one of the certified Salesforce certified instructor. Right. So I hope you all are lucky to have Ankit here. So moving forward, like if you have any question related to Salesforce or integration, so you can join this telegram group. And it is actually a self help group where people are asking questions and like few people are answering questions to the problems, whatever is being asked. Right. So you can become part of this telegram group and you can grow together. So here you can see we are in week 17 of this bootcamp where we will be learning about integration. Right. So we have covered lots of topics in this bootcamp and lots of topics are planned for future as well. Right. So if you have not followed Sanjay Gupta Tech School and if you are joining this bootcamp for the first time this session because integration is very demanding nowadays. So you can just follow Sanjay Gupta Tech School on YouTube, LinkedIn, Instagram and telegram and all the important links are available in the video description. Like you can find a session tracker where all live sessions, those have happened so far you can find and whatever session will be happening in future, you can find those as well. Right. So just share the information. So right now we are having two bootcamps. One is related to Salesforce and another one is related to cybersecurity. Okay. So now I'm going to hand over Mike to Ankit. So now Ankit will be explaining each and everything related to integration. So it is just introduction session. So there will be around six sessions we have planned and if there will be need of more sessions, so we will be planning those accordingly. So over to you Ankit. Sure. Sanjay, could you please allow me to share the screen now? Yeah. So let me just stop screen share. Yeah. Now Ankit, you can share the screen. Thank you. Again, let's get started with the very basic before we go and deep dive into the integration. Let's start with the term what is integration, what we understand the term for the integration. Integration is nothing but it's a process of binding two or more than two systems together so that they can share the data, they can share the business process says moreover they can also share the UI. If you are to take an example, generally whenever the enterprises runs, they don't need more than one software and all those software needs to be in a different technology. Right. For example, let's take an example of an SBI bank. We all familiar with this SBI bank. Let's say SBI is the bank. Who is performing the integration? In SBI, we do have the different types of services. We do have the core banking services. We do have the loan services. SBI also do the KYCs. Right. SBI also take the fixed deposits, recurring deposit. There are multiple services offered by the SBI. Right. Now, again, if I have to deep dive, let's take one example that SBI has the core banking system which is designed in the, let's say Java. Okay. I'm trying to explain this pictorically. Let's say we do have an enterprise. This is our enterprise. I'm naming this enterprise as the SBI for now. Okay. And in this enterprise, we do have the multiple system. Let's say we do have the one system which is designed in Java. We do have the one system which is designed in Java. Another system, let's say they are also using, for example, Salesforce for their customer management where they are putting all their customer interaction. They are also using the Salesforce for the customer management. They do have another system on which they are doing the loan onboarding. Let's say this system, they are designed in Python. All the systems, they are in different languages. Like in LWC, we all know we do have the Apex. We do have the LWC. Python is all together different scripting language. Java, it's all together a separate language. Right. But when the SBI bank have to run, all these systems needs to be integrated with each other. When I say integrate means all these systems needs to communicate with each other, right? Whenever the multiple systems they are communicating with each other, they are referred as the integration. I hope the term is clear to everyone. When the multiple systems needs to communicate with each other, they have to either share the data, they might have to either share the process. It is referred as the integration. Now, what are the different benefits that we get with the integration? The first benefit that we get with the integration is we can bring the data from the outside system or from the external system into the Salesforce. For example, again, if I have to take the SBI example, let's say SBI, they do manage their core banking data. When I say the core banking data, like their CASA accounts into a Java system, now you want to bring all their CASA accounts into the Salesforce. How do you want to bring it? You can bring it with the help of integration. Likewise, there are a few more benefits that we get with the integration. We get the enrich of the data. We can have the publisher and the subscriber model where one system will publish the information and one or more than one system can go and subscribe to that information. Moreover, we can also sync the data in between the two different systems. Let's say as a part of nightly processing, for example, SBI is generating some interest and they have to put that interest on their banking system. So what they will do, they will sync the two different systems. Again, a different example, SBI have to generate the different reports. And for the reporting, they might be using some other system like a Tableau. So what they have to do, again, they have to share the data. Again, there are various architectural frameworks that will discuss how the systems integrate with each other, what are the different things that we have to consider whenever the systems go and integrate with each other. So let's move to the next slide. What are the different tools offered by the Salesforce to perform the integration? As we all know, Salesforce do offer the tools in three different areas. First one is the no code tool or the no code tool. Another one is kind of a mixed-based tool and the last one is the completely developed tools. And as we all know, Salesforce do always recommend to use OOTB, that is out of the box tool first, before we go and use either the mixed-build tool or the developer tool. So at the low code level, we do have the MuleSoft Composer. Again, it's a third-party tool that we can use to perform the integration. At the mixed-build level, we do have the different options, like we do have the options as a Salesforce flow, which I believe Sanjay already covered. We do have the Salesforce Connect, we do have the external services, we do have the platform events as well as the change data capture. With the help of this mixed-build tool also, we can perform the integrations with the third-party system. And with respect to the developer, again, one of the most powerful tool that we do have here is the Apex. With the help of Apex, we can also perform any kind of an integration. In addition to that, we can use the different platform APIs offered by the Salesforce. Again, we'll be seeing the Apex platform APIs platform events, change data capture as we move forward in our sessions. Moreover, in case your organization does have the MuleSoft, you can also use the MuleSoft AnyPoint platform also. Moreover, you can also use the HeroHook and it also to perform the integration. So this is a different list of software offered by the Salesforce to perform the integrations. Let me take a pause and open up for any questions. So guys, if you have any questions, you can post your question in the chat so that Ankit can answer your queries. The window is open. Folks, do you have any questions? Please let me know. I will take those questions accordingly. Let's move toward the next slide for now. Before we go and deep dive into the integration, let's try to understand the different terminologies with respect to the integration. Because when we talk about the integration, we use the different terms. Like we talked about the APIs, we talked about the REST APIs, SOAP API, we talked about the authentication, authorization, we talked about the XML, we talked about the JSON. We talked about the JSON. These are the different terms that we use in the integration. So let's try to break down each and every term one by one. First, let's go and break API. Again, what is API? API stands for the application programming interface. It's basically a channel with the help of which two systems go and interact with one another. It's basically a channel which allows the two applications to interact with one another without any user involvement. If I have to explain the API, let's take one example. For example, we all do the railway booking or the bus booking from our phone. For example, let's say you are booking the ticket from the IRCTC. What you are doing basically from your phone, you are sending an API request to the IRCTC database and making an inquiry. So at the back end, what is happening? Your phone, which is nothing but acting as a client here. So from your client, you are sending a request to the IRCTC database, which is nothing but a server to request the data. So your API always works in two terms. Your API, it will always send the request and it will always get the response from the third party system. Everything is happening without any user involvement. Only user involvement here is to make the request and after that user have to wait to get the response. Moreover, we do have the different platforms available to make the railways inquiry. Like we do have the GoIP to make my trip. There are multiple platforms available over the web to do the web inquiry. Again, what also they are doing? Whenever they have to make any inquiry or you request any inquiry on any of this platform, at the back end they are making an API call to the IRCTC database and giving you the result. So as a part of Web 2.0, when we talked about the integration, the API is trying to break through with the help of which we can communicate in between two different systems. Another term that we also use is the web service. Another term that we also use is the web service. What is web service? Web service is nothing but an interface. Web service is nothing but an interface which allows you to connect the web server as well as the web browser. Basically, over the web, if you take any component, whenever this component needs to communicate, these components will communicate with the help of this web service only. And one key thing here folks is all web services are APIs, but all APIs are not web services. This is very important. You should know that there are multiple types of web services which are available. Majorly we do use two only. That is the REST web service or the SOAP web service, but we also refer sometimes as the REST API or SOAP API. Why we do? Because all web services are API, but all the APIs that are available, they are not the web services. We do have the different types of APIs, like we do have the metadata API. Again, metadata API is not a web service. So there are multiple web services which are available and multiple APIs are available with the help of which we can perform this integration. Again, there are different types of API, like we do have the public API, we do have the private APIs, we do have the enterprise specific APIs. Public API means you can access that information without any authentication. That is nothing but public API. Private API, for private API, you have to go and create your account, you have to send the authentication details and then you can access the data. That is nothing but a private API. Enterprise API, for example, organization, they have created an API for their own internal use. If I have to take an example of an SBI, let the SBI have created an API to get the customer inquiry. What is that? That is nothing but an enterprise specific API. Okay, so whenever we talk about the API and the web service, we always talk about two terms that is the client and server. If I have to take an example that I have taken previously, that is from your mobile phone, you are sending a request to the IRC-PC database. In this example, what is client? Your mobile phone is the client because from your mobile phone, you are making the request. What is the server? The IRC-PC database is the server because that server is responding with your request. So whenever we go and talk about the API, we always deal with two terminologies. First is the client and second is the server. Next term that we also frequently use is the endpoint. Endpoint is nothing but the address on which the services are hosted. Now, on the server, we do have the multiple services. For example, on the SBI database or on the SBI server, they do have the different types of services. Whenever you have to access specific service, what you have to do is you have to specify the endpoint of that service. For example, you have to access the service of customer details. Then you have to get the proper endpoint and pass that endpoint whenever you are making the request. So again, endpoint is very important to understand whenever you are creating an API or whenever you are also making a request to the API. Moving towards another term that is authentication. When people do get confused in between two different terms, authentication and the authorization. What is authentication? Authentication means who you are. Basically, whenever you go and make any request, you have to specify or you have to let the system know who you are. You can make the authentication with the help of different options like you can use the API key authentication by specifying a unique API key. You can use specify the authentication with the help of username and password. Most of the systems they do deal with the username and the password authentication. After you have specified who you are, you have to specify what you can access. When you specify what you can access, that is nothing but the authorization. Like in Salesforce, what we can access is controlled by the different security layers. Similarly, what you can access is also controlled by the connected apps in the Salesforce. When we go and talk about the different terminologies like the remote site settings or the name credential or the connected apps, we will talk more about this authorization. So whenever we are making any integration, we have to take care of authentication as well as the security and the security. Authentication as well as the authorization as well. Next one is the two frequently used terms that is the XML and the JSON. What is XML? XML is a markup language. XML is a markup language. Like your HTML is a markup language. Similarly, XML is also a markup language which has been used to tour and to data interchange. In the legacy systems, many times we do use the XML to tour and perform the data interchange operation. With the help of between the XML tags, what we do, we generally go and pass the different types of data. Again, if I have to take an example, how the XML format looks like, let me open the not bad. So in XML, whenever we have to go and share the data, we have to always specify the start tag and the close tag. For example, let's say I have to specify the user detail. So I will create the XML for this. The good thing about the XML is you can name your own tag. So for example, user detail, this is the detail that I have to share. Every start tag in the XML, it does have a close tag. So let me zoom this. Every start tag in the XML do have a close tag. For example, here, we do have the start tag as user detail. It does have a close tag. In case you have to pass the different types of data, for example, I have to go and pass my first name. I will go and pass something like this. With the start tag and with the close tag in here, I go and put the data that I have to pass. Similarly, I can pass any types of data here. Let's say I have to also pass the last name. I am passing the last name here. You can see here all these tags, I am naming this at the run time. Again, there are multiple rules that we have to follow. We do not have to deep dive into that much detail for the basics for now, but we do have the specific language, how to define the tags, what each tag will do, what in case you have to apply the different types of validations for the different types of input that also we can do with the help of Excel D-Language. Not only a simple data, you can also pass the complex data in the XML. In case I have to pass the complex data like address, this is how I can go and pass the complex data. For example, in the address, I do have the multiple details. I do have a state as Pune. I have to go and pass the state as Maharashtra. You can go and pass any type of complex data also in the XML. Another thing that we do have here is the JSON. What is JSON? JSON stands for the JavaScript object notation. JSON stands for the JavaScript object notation. Whenever we talk about the JSON, it is very much easy build. It is very much easy to perform the different operations on the data. Most of the modern APIs or most of the modern APIs that developers are creating or most of the enterprises are using, they all deal in the JSON format. Most of the legacy systems, they do deal only in the XML, but most of the modern APIs that are available nowadays they do deal in the JSON. The good thing is your sales force deals in both in XML as well as in the JSON. Whenever you are performing the integration you have to let the system know whether you are passing the data in the XML form or you are passing the data in the JSON form. JSON stands for JavaScript object notation. It is a text form where we do have the values in the form of key and value. If I have to store the same details in the JSON form, how we will do that? For example, I have to go and specify in the user detail, I will go and put here user detail is equal to you can see here everything here will be in the object form. It is the parting bracket and this is the closing bracket. In case I have to pass the first name, I will go and put here the first name followed by the colon. It will be the key and whatever the value that I have to pass, let's say I have to pass all these properties will be separated by the comma. If I have to again pass this, I will put here last name followed by the J. Similarly, if I have to pass the complex information like here, I have to pass the address, how we pass the complex information in JSON, we will put the address here. Again, if we tell how the multiple properties we will start the new object here and in this object we can go and pass the different types of information and go and pass here the city as Pune and the state as Maharashtra. City as Pune and the state as Maharashtra. This is how you go and pass the detail in the XML form. This is how you go and pass the detail in the JSON form. JSON always deals in the form of key as well as the value. So this will be your key and this will be your value. This will be your key and your value is in the object form. This object again have two sub properties. One is the city Pune, state, Maharashtra. I hope this technology will make sense to you and it will help you to understand when we go and talk about the endpoint, we go and talk about the authentication, authorization, we go and talk about the using the XML format or the JSON format. Yankit, very well explained. So maybe now we can take some questions. I can see a few questions are there in the chat. So if you can... Sure. The first question says that does Mulesoft Composer or any point provide free versions, we can practice them. Yes, first you have to go and register on the Mulesoft website. They do provide the one month free subscription that you can use to make the integration out for the practice purpose. Again, after expired you can create another email account and use another free account for the Mulesoft. Next question is which is the most widely used tool? Again, Viba, it depends upon the type of integration that you have to do. All the tools have their own specific purpose. In case you have to perform the complex integration you have to definitely go for the apex but in case you have to go and perform kind of a simple integration where you have to just make the request and get the simple data you can use the low code or the middle code automation tools as well. It's completely up to the requirement which kind of a tool that you will use. Yes, then I will be talking about the limitations about the integration as we move forward. There are few limitations. I'll not say limitations but there are a few corner limits that the Salesforce have defined whenever we are making the integrations from the Salesforce to the third party system. We'll be talking more about those limitations as we move forward which is more powerful. Mulesoft or Apex, again as it Mulesoft you have to go and purchase the license from the Mulesoft or from the Salesforce. Salesforce basically on the Mulesoft in case in your project you are using the ESB as the Mulesoft then you have to go and purchase the specific license. If you do have the license available you can definitely try with the Mulesoft but again there is no comparison direct comparison whether it goes for the Mulesoft or Apex. Mulesoft have their own purpose. Apex have their own purpose. So half of the thing you can definitely do it in the Mulesoft to take the burden from the Apex but whenever you have to write down the business logic Apex is the only place where you have to go. There are different platform APIs available Sampath. In our session we will be covering the REST API, SOAP API, bulk API as well as the streaming API but apart from that we do have platform APIs available like we do have the analytics APIs we do have the CDPs related API we do have the metadata APIs there is a complete list available for the different platform APIs. Where we should utilize the SOAP? Okay I believe I missed that question. Right. So see let's ask the question various APIs very common nowadays based on your experience where we can utilize the SOAP API. Again the difference where you should go and take the REST API or the SOAP API we will be talking as we move forward in our session but let me give a short answer to you. We use the REST API whenever we have to make the lightweight applications. For example an application that you have to make an API call from the mobiles or from devices right and that the data that you are getting does not require high amount of security then you can go for the REST API but in case you are making an integration for some financial transactions where the security is the primary concern then you could go for the SOAP API so the direct categorization is in case of higher security go for the SOAP API if you see most of the legacy systems which we use in the banks or which we use in the payments industry they do use the SOAP API but in case we have to share kind of a lightweight information we can go for the REST API again for that GPT it's kind of paid tool if you have to check internally if we can perform that integration with the chat GPT or not. Madhu we will be covering here the Postman because Salesforce also to recommend that we should use the Postman to test our APIs so down the session I will be teaching you how we can configure the Postman how we can make the API request from the Postman to perform the different types of integration. Neha ask the question what are the standard APIs and the custom API standard APIs are those which is provided by the Salesforce if we go and configure the Postman I will show you the different types of standard APIs provided by the Salesforce that you can use without writing any line of code custom APIs that you are creating according to your own business requirement in case your business requirement do have some specific business logic then you can go and write down your own custom API here I believe we are good for now Sanjay we can move forward. Yeah sure we can move forward. Before we go and perform the integration generally we go and define what kind of pattern that we have to follow. As I said we go and perform the integration for the different purpose so first we have to identify the purpose of the integration so generally we do the integration at the data layer or at the process layer or at the virtual layer when we say that we do the integration at the data layer there are two things that can be possible one is either you are getting the data from the external system into your system or you are just visualizing the data from the external system into your system again I am repeating there are three different pattern approaches that we do have data integration process integration or the virtual integration. Data integration means you are syncing the data in between the two different system when you sync the data in between the two different system there are two approaches that you can use you can either get the data from the third party system into your system or you can put some methodology so that you can visualize the data from the third party system into your system that is nothing but a data integration another one that we do have is the process integration. What will happen in the case of process integration means there will be one or more than one application to complete the processes. For example if I had to take an example of an SPI let's say you go and make a request on the SPI to create your customer right now after creating the customer you also want that they should go and create your saving account as well let's assume that SPI have two different system one system is to create the customer and another system is to create the saving is to create the saving account again before creating the saving account it is mandatory that we have to go and create the customer so what we have to do here is we have this two system needs to be worked together as soon as the customer has been created the next process to be triggered to create to create the saving account how this is possible it is possible with the help of process integration where we do have the multiple processes defined in the different system and we want to integrate these different processes with the help of the integration. Another one that is the virtual integration as I already said virtual integration means you can visualize the data from the third party system into your system what you are doing is you are visualizing the data from the third party system into your system let's say your organization do the order management in the SAP system or in the Oracle system but they want to see all those orders inside the Salesforce now you to have two options either you get all those orders from the third party system like the Oracle or from the SAP into your system which will make the duplicacy issue right the data will be duplicated in two different systems and you have to always make sure that you are syncing the data in between two different system another approach that you can do here is you can provide a mechanism in the Salesforce so that you can view the data from the third party system into the Salesforce whenever we are doing that kind of an integration it is referred as the virtual integration okay there are different integration patterns before we go and decide what kind of integration that we have to do we have to make the decision what kind of patterns that we have to use Salesforce have defined these six different patterns in which integration needs to be performed whenever you are doing any kind of an integration any of this integration will be fall in this one of the pattern any of the integration will fall in one of this right so the first pattern that we do have here is the remote process invocation which is referred as the request and the reply pattern first integration pattern that we do have here is the remote process invocation request and the reply pattern what will happen in this pattern is the request will be sent let's from your mobile you are sending the request to the third party system right and you are waiting there unless and until you are getting the response from the third party system let's say from the Salesforce you are sending the request to the oracle system and you are waiting unless and until you are getting the response from the oracle system that is referred as the request and the reply right you will be waiting there unless and until you are getting the response back from the system you are implementing that kind of a design it is referred as a request and the reply pattern. Another one that we do have here is the fire and forget. What is fire? Rather than we go and send the records one after the other, let's say we have defined the process where all the modified records will be accumulated and after a certain period of time we are executing the batch so that all the modified records will be going into the external system. Whenever we are performing this kind of a pattern it is referred as the batch data synchronization. Next one is the remote calling. As of now from the Salesforce we are making the call to the third party system. Now let's say the Oracle is making the call to the Salesforce now. Now the table has been changed right the position on the table has been changed. Now this time Oracle as a system it is making the call into the Salesforce. Whenever we do have that kind of a pattern it is referred as the remote calling pattern. Next one is the publish as well as the subscribe. What is published and the subscribe pattern is your source system as soon as your source system what it will do it will publish an event as soon as the integration has been done or as soon as the source system have to set up an integration what the source system will do source system will publish an event and the number of systems which have to perform the integration with the source system they will be act as a subscriber. So what they will do they will listen for those event and as soon as the event has been received they will process them accordingly. Again I am repeating what will happen in the case of publish and subscribe your source system which will also referred as a publisher system it will publish an event. For example let's say if I have to take an again same example that there are two systems one system which is how to create the customer another system which have to create the CASA account or the saving account right as soon as a crowd has been as soon as the customer has been created what the first system will do first system will publish an event and the system which have to perform the next action it will listen to that event and as soon as the event has been received it will perform the remaining action. So whenever we are doing that kind of integration it is referred as the publisher as well as the subscriber model. Next one is the data virtualization next one is the data virtualization what will happen in the case of data virtualization the data is available in the third party system rather than you go and get the data from the third party system and into your system and reconcile the data what you are doing here is basically you are making the provision in the sales force so that you can view the data from third party system into your system whenever we are doing that kind of an integration it is referred as the data virtualization with the help of data virtualization we can see the data from the third party system into our system we can take the help of the external objects we can go and create the inter indirect lookup or the external lookup and we can perform the data virtualization with those operations again I am repeating we do have the different types of integration pattern request and the reply pattern in the request and the reply pattern the request will be sent and it will wait unless and until the request has been received in the next pattern fire and forget it will send the request but it will not wait for the response as soon as the response is available the target system will send the response back to the source system in the first one it is waiting in the second one it is not waiting it is just sending the request and as once the response is available it will process that response right next one is the batch data synchronization in this the data is will be processed in the batches in this the data will be processed in the batches again the batch data synchronization can be happened in either of the system it can be happened in the sales force or in some external system as well but the key thing here is whenever we are processing the data the data will be processed in the batch in the batch manner next one is the remote calling what will happen in the case of remote calling what will happen in the case of remote calling is the third party system it will make a call to the sales force let's see we do have the oracle as the system and oracle wants to retrieve the data from the oracle wants to perform the data insertion operation or update operation or delete operation in the sales force they will do that with the help of this remote calling another one that we do have here is the publisher as well as the subscriber model what will happen in this model one system will publish an event or your source system it will publish an event and one system or more than one system will return that event the system which is publishing an event it is referred as the publisher and the system which are listening to that event they are referred as the subscriber another one that we do have here is the data virtualization in the case of data virtualization there is no need to get the data or see the data from third party system inside our system we can use the data virtualization concept and we can view the data from the third party system into our system right we can view the data moreover we can also perform the different operation on the data with the help of this data virtualization we can also do the reporting of the data that is available from the third party system into the sales force by using the concept of data virtualization do anyone have any questions Meenakshi and few other they asked me to repeat I hope it is clear now but I can't forget actually there were some internet issues so you already repeated everything so that is fine now got you let's go and talk about the next thing that is the timing of an integration so first we talked about the pattern of an integration after that we talked first we talked about the approach of an integration which is free data process as well as virtual after that we talked about the different patterns of integration now another key thing that we have to talk about is the timing of an integration another thing that we have to go and define is the timing of an integration before we go and write down any integration here are the few factors that we have to make clear right before we go and perform any kind of an integration we have to first finalize the approach after that we have to go and finalize the pattern after that we have to go and decide whether we have to use the synchronous or we have to go and use the asynchronous operation right so what is synchronous in the case of synchronous you will get the response immediately from the third party system right the result will be written immediately from the third party system let's say you are making a request and immediately you are getting the response that is nothing but a synchronous another one that is asynchronous what will happen in the case of asynchronous let's say you are getting the huge amount of requests it is not possible for you to really address all those requests so you are implementing the queue based mechanism or the massive based mechanism where you are putting all your requests into the queue and as soon as the resources are available they are addressing those requests so whenever we do have that kind of a pattern it is referred as the asynchronous in the case of asynchronous we do not have to wait for the response as soon as the resources will be available the system will take the response back to the request system that is nothing but the asynchronous integration there are two timings of an integration that is the synchronous timing where we'll immediately get the response another one is the asynchronous where the response it will be coming not immediately but there will be a delay in the response so your system it will send the request after that as soon as the resources will be available it will be sending the response back to the source system let's have this last slide for today and before we go and wrap up the today's session that is the direction of an integration right so as of now we talked about the multiple factors we talked about the approaches we talked about the timings we talked about patterns right now Salesforce have put documented very well when you should use what kind of a pattern right Salesforce have documented this very well when you should go and use what kind of a pattern so in case you are integrating the Salesforce with some another system so there are two types of directions that we do have first direction that we referred as the outbound direction where Salesforce is integrating with some another system another type of direction is the inbound direction where another system is making the integration with the Salesforce so in the case of outbound direction right again here we do have these three options process integration data integration and the virtual integration based on the timing synchronous as well as asynchronous which is the chart that we have to follow to decide what kind of pattern that we will use we talked about this different patterns when to use what kind of a pattern it will be decided based on this chart again if you are integrating the Salesforce with some another system and you have to do the process integration in the asynchronous way you will go and use the fire and the forget in case you have to use the transform integration with another system and you have to perform the virtual integration then you will use this data virtualization next thing is in case some another system it is making the integration with the Salesforce right most of the places you can see here we are using the remote call in or in case you have to perform the asynchronous data operation then we can also go for the batch data synchronization as well right but many times we will be using the remote call in integration pattern only most of the times we will be using the remote call in integration pattern only so based on your business requirement once you got answers for all this point what approach that you have to use whether the integration needs to be the synchronous or asynchronous whether the self force how to do the integration or another system is making the integration with the Salesforce you can define what kind of patterns that you have to use you can define what kind of patterns that you have to use let me go over if do we have any questions we have direct feature of integrating two sf ox a Salesforce to Salesforce I have to check Nagendra about this I'm not sure what is the question sir could you please explain the real-time usage of those six types tomorrow you are asking about the real-time usage of the six types again real-time usage it's completely depend upon your business logic only right in case uh business says that as soon as the button has been clicked they want to see the response on the UI then you will go and use the request and the reply approach in case the business is that they need to do the validation in the background and in case the validation is not successful right you go and send an email then you can go and use the fire and the forget pattern right in case you have to go and perform the integration in between two different systems right and those integrations uh we have to send the data in the form of batches then you will go for the batch data integration for the remote calling in case there's a third party system which is making the call to the Salesforce they have to use the remote calling either they can use the remote calling or they can use the batch data synchronization publish and the subscribe whenever you are dealing with the streaming API let's say what when you are you are sending one message and that message you have to send to the multiple system rather you go and send that message to the multiple systems you can take the help of this integration pattern so that more than one pattern can subscribe to the same message right data virtualization you have the external you have the database available or externally hosted you want to view the data into your system you can take the help of the data virtualization there so based on the business requirement and based on the answers that you will get on the approach and the timing and the direction of an integration you have to decide what kind of item that you have to use time out time for the integration basically the exact answer I don't recall right now there's just there's a limitation for the time out if I'm not wrong I have to I will check this and I will come back to you tomorrow now what is the exact time I think that we can have in the government so let me just check quickly sure if I'm not wrong it's 120 second but I had to yeah you are correct x 120 second right yeah for both synchronous and asynchronous it is 120 seconds it is 120 second so your complete transaction time it's the way the timeout works is let's say in your one transaction if you are making the 10 different integration then the accumulative time of all this timeout cannot be more than 120 second so you have to go and design your one single transaction in such a way yeah so it is saying like maximum cumulative timeout for all callouts it can be basically request or web service call in a single transaction it should be less than 120 seconds so guys I just shared the link in the chat as well so you can go through and check it and we can make total number of callouts the quantity is 100 so HTTP request or web service callout in a one in one transaction the limit is 100 right yeah so the link which I shared so there are lots of government limits available you can go through that and I'll get someone requested like to go slow so maybe from sure yeah sure I will take care of it it was too fast it was too fast for today today it is mostly theory from tomorrow it will be more practical so definitely the speed is going to be a bit slow yeah so actually people are from different country as well so due to extents so they want some like so with demo I think it will be slow automatically and I think people like this session and they are demanding for demos so I already replied like you will be having those in upcoming sessions yeah right right so we will be having the demos on the post plan we'll be creating the rest services we will be creating the complex services with the help of wrapper we will be seeing the demo how we can integrate the third party apis which are available right we'll be also seeing how we can integrate two different systems two different Salesforce systems as well by using the OAuth mechanism that also I'll be trying to cover with the demo so lots of things in the upcoming session folks please make sure you are attending it and let me know I definitely take this feedback that I'll go bit slow I understand that Yanga I will make sure that I'll be bit slow on one yeah so guys please share your feedback about today's session so that it will boost Ankit's motivation so I'm really very impressed with Ankit and like we are connected for more than one year and like this is for the first time I was able to have Ankit on this platform and like how well he explained all the concepts related to integration so that is good I consider myself less expert so I just try to find more expert as compared to me so that's why I have Ankit with me and if you can share some feedback so definitely it will boost his motivation thank you Sanjay for yeah thanks Sanjay for providing this platform and helping me to connect with our audience thank you so more than 430 folks joined this session and right now 94 are watching live and I am sure like within a week this number will cross more than 2000 views so it is a huge yeah huge number so you can read some of the let's share the sessions right let's share the session with the folks that you know right I want this session should help all of them to learn and to grow in their career yeah okay so I think like next topics will be covered in the tomorrow session so folks please join all the sessions related to integration because Ankit will be covering all the integration related part and maybe going forward he recently did a certification in cbq so I will request him to have a sessions on those as well so let's see how things goes in the future right so he's very active in the community and doing lots of stuff so I'm happy like you are learning from the expert so thank you guys for joining today's session and thank you so much Ankit for providing knowledge to the community so thank you Sanjay thank you all yeah see you tomorrow same time we'll share you the link in the telegram group thank you everybody see you thank you all bye bye bye