Insert New Record in Custom Object and Navigate to the Record Detail Page Using Apex class method in Lightning Web Component — LWC | Insert record and navigate to record detail page in lwc


Hey guys, today in this post we are going to learn about How to Insert New Record in Custom Object and Navigate to the Record on Detail Page Using Apex class method in Lightning Web Component — LWC.

Files we used in this post example:-

insertRecordCustomObjectLwc.html Lightning Web Component HTML Template HTML file for used to write HTML element for user interface..
insertRecordCustomObjectLwc.js Lightning Web Component JavaScript It is holding submitAction function that is geting the value from input field and save into the database.
insertRecordCustomObjectLwc.js-meta.xml XML Meta File It is used for where this lightning web component you want to exposed
lwcAppExampleApex.cls Apex Controller It is used for call apex method imperatively in LWC Javascript file.

Live Demo

create record for custom object using lwc --


You can download file directly from github by Click Here.


Other related post that would you like to learn in Salesforce

Step 1:- Create Lightning Web Component : insertRecordCustomObjectLwc.html

SFDX:Lightning Web Component >> New >> insertRecordCustomObjectLwc.html

insertRecordCustomObjectLwc.html [Lightning Web Component HTML]

  1.    <template>
  2.     <lightning-card title="Using multiple parameter in apex  controller">
  4.         <div class="slds-wrap slds-grid">
  5.             <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"><p><lightning-input label="Name" type="text" value={scoreObName} name="scoreName" onchange={scoreHandleChange}></lightning-input></p></div>         
  6.             <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"><p><lightning-input label="Email" type="email" value={scoreObjEmail} name="scoreEmail" onchange={scoreHandleChange}></lightning-input></p></div>         
  7.             <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"><p><lightning-input label="Phone" type="phone" value={scoreObjPhone} name="scorePhone" onchange={scoreHandleChange}></lightning-input></p></div>         
  8.             <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"><p><lightning-input label="City" type="text" value={scoreObjCity} name="scoreCity" onchange={scoreHandleChange}></lightning-input></p></div>         
  9.             <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"><p><lightning-input label="Annual" type="Number" value={scoreObjAnnual} name="scoreAnnual" onchange={scoreHandleChange}></lightning-input></p></div>         
  10.             <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"><p><lightning-input label="Designations" type="text" value={scoreObjDesignations} name="scoreDesignations" onchange={scoreHandleChange}></lightning-input></p></div>
  11.              <br/>  <br/>
  12.             <div class="slds-text-align--center slds-m-top--medium" style="text-align:center; width:40px; margin:auto;">
  13.                 <lightning-button type="brand" label="Submit" variant="brand" size="small" onclick={submitAction}></lightning-button>
  14.             </div>
  15.        </div>
  17.         <br/><br/>
  18.    <!--Start RelatedTopics Section-->
  19. <div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
  21.             <p data-aura-rendered-by="435:0"><img src="" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:16px; font-style:italic; display:inline-block; margin-right:5px;">Don't forget to check out:-</span><a href="" target="_blank" rel="noopener noreferrer" style="text-decoration:none;" data-aura-rendered-by="440:0">An easy way to learn step-by-step online free Salesforce tutorial, To know more Click  <span style="color:#ff8000; font-size:18px;" data-aura-rendered-by="442:0">Here..</span></a></strong></p>
  23.             <br/><br/>
  24.             <p data-aura-rendered-by="435:0"><img src="" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:17px; font-style:italic; display:inline-block; margin-right:5px; color:rgb(255 128 0);">You May Also Like →</span> </strong></p>
  25.             <div style="display:block; overflow:hidden;"> 
  26.                 <div style="width: 50%; float:left; display:inline-block">
  27.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  28.                         <li><a href="" target="_blank" rel="noopener noreferrer">How to get selected checkbox value in lwc</a></li>
  29.                         <li><a href="" target="_blank" rel="noopener noreferrer">how to display account related contacts based on AccountId in lwc</a></li>
  30.                         <li><a href="" target="_blank" rel="noopener noreferrer">how to create lightning datatable row actions in lwc</a></li>
  31.                         <li><a href="" target="_blank" rel="noopener noreferrer">how to use if and else condition in lwc</a></li>
  32.                         <li><a href="" target="_blank" rel="noopener noreferrer">how to display selected radio button value in lwc</a></li>
  33.                     </ul>
  34.             </div>
  36.             <div style="width: 50%; float:left; display:inline-block">
  37.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  38.                         <li><a href="" target="_blank" rel="noopener noreferrer">display account related contacts based on account name in lwc</a></li>
  39.                         <li><a href="" target="_blank" rel="noopener noreferrer">how to insert a record of account Using apex class in LWC</a></li>
  40.                         <li><a href="" target="_blank" rel="noopener noreferrer">how to get picklist values dynamically in lwc</a></li>
  41.                         <li><a href="" target="_blank" rel="noopener noreferrer">how to edit/save row dynamically in lightning component</a></li>
  42.                         <li><a href="" target="_blank" rel="noopener noreferrer">update parent field from child using apex trigger</a></li>
  43.                     </ul>
  44.                 </div>
  45.                <div style="clear:both;"></div> 
  46.                <br/>
  47.                 <div class="youtubeIcon">
  48.                     <a href="" target="_blank" rel="noopener noreferrer"><img src="" width="25" height="25" style="vertical-align:top; margin-right:10px;"/> <strong>TechW3web:-</strong> To know more, Use this <span style="color: #ff8000; font-weight: bold;">Link</span> </a>
  49.                 </div>
  50.     </div>
  52. </div>
  54.   <!--End RelatedTopics Section-->
  55.     </lightning-card>
  56. </template>

Step 2:- Create Lightning Web Component : insertRecordCustomObjectLwc.js

SFDX:Lightning Web Component >> New >> insertRecordCustomObjectLwc.js

insertRecordCustomObjectLwc.js [LWC JavaScript File]

  1.    import { api, LightningElement, track } from 'lwc';
  3. import submitScoreAction from '@salesforce/apex/lwcAppExampleApex.submitScoreAction';
  4. import {ShowToastEvent} from 'lightning/platformShowToastEvent';
  5. import {NavigationMixin} from 'lightning/navigation';
  8. export default class insertRecordCustomObjectLwc extends NavigationMixin (LightningElement) {
  10.     @track scoreObName;
  11.     @track scoreObjEmail;
  12.     @track scoreObjPhone;
  13.     @track scoreObjCity;
  14.     @track scoreObjAnnual;
  15.     @track scoreObjDesignations;
  16.     @track scoreRecoreId;
  17.     @track errorMsg;
  19.    scoreHandleChange(event){
  20.         if( == 'scoreName'){
  21.         this.scoreObName =;  
  22.         //window.console.log('scoreObName ##' + this.scoreObName);
  23.         }
  24.       if( == 'scoreEmail'){
  25.         this.scoreObjEmail =;  
  26.       }
  28.       if( == 'scorePhone'){
  29.         this.scoreObjPhone =;  
  30.       }
  31.       if( == 'scoreCity'){
  32.         this.scoreObjCity =;  
  33.       }
  34.       if( == 'scoreAnnual'){
  35.         this.scoreObjAnnual =;  
  36.       }
  37.       if( == 'scoreObjDesignations'){
  38.         this.scoreObjDesignations =;  
  39.       }
  42.  }
  44.  submitAction(){
  45.     submitScoreAction({cardName:this.scoreObName,cardEmail:this.scoreObjEmail,cardPhone:this.scoreObjPhone,cardCity:this.scoreObjCity,cardAnnual:this.scoreObjAnnual,cardDesignations:this.scoreObjDesignations})
  46.     .then(result=>{
  47.         this.scoreRecoreId = result.Id;
  48.         window.console.log('scoreRecoreId##Vijay2 ' + this.scoreRecoreId);       
  49.         const toastEvent = new ShowToastEvent({
  50.             title:'Success!',
  51.             message:'Record created successfully',
  52.             variant:'success'
  53.           });
  54.           this.dispatchEvent(toastEvent);
  56.           /*Start Navigation*/
  57.           this[NavigationMixin.Navigate]({
  58.             type: 'standard__recordPage',
  59.             attributes: {
  60.                 recordId: this.scoreRecoreId,
  61.                 objectApiName: 'scoreCard__c',
  62.                 actionName: 'view'
  63.             },
  64.          });
  65.          /*End Navigation*/
  67.     })
  68.     .catch(error =>{
  69.        this.errorMsg=error.message;
  70.        window.console.log(this.error);
  71.     });
  73.  }
  74. }

Step 3:- Create Lightning Web Component : insertRecordCustomObjectLwc.js-meta.xml

SFDX:Lightning Web Component >> New >> insertRecordCustomObjectLwc.js-meta.xml

insertRecordCustomObjectLwc.js-meta.xml [LWC Meta Data XML]

  1.    <?xml version="1.0" encoding="UTF-8"?>
  2. <LightningComponentBundle xmlns="">
  3.     <apiVersion>45.0</apiVersion>
  4.     <isExposed>true</isExposed>
  5.     <targets>
  6.         <target>lightning__AppPage</target>
  7.         <target>lightning__RecordPage</target>
  8.         <target>lightning__HomePage</target>
  9.       </targets>
  10. </LightningComponentBundle>

Step 4:- Create Apex Controller : lwcAppExampleApex.cls

SFDX:Create Apex Class >> New >> lwcAppExampleApex.cls

lwcAppExampleApex.cls [Apex Class]

  1.    public WITH sharing class lwcAppExampleApex {
  3.     /*Using multiple parameter in apex  controller */
  4.     @AuraEnabled
  5.     public static scoreCard__c submitScoreAction(string cardName, string cardEmail, string cardPhone, string cardCity, INTEGER cardAnnual, string cardDesignations){
  6.         scoreCard__c scoreCardObj = NEW scoreCard__c();
  7.         scoreCardObj.Name=cardName;
  8.         scoreCardObj.Email__c=cardEmail;
  9.         scoreCardObj.Phone_No__c=cardPhone;
  10.         scoreCardObj.City__c=cardCity;
  11.         scoreCardObj.Annual__c=cardAnnual;
  12.         scoreCardObj.designations__c=cardDesignations;
  14.         INSERT scoreCardObj;
  15.         RETURN scoreCardObj;
  16.     }
  17. }

Insert New Record in Custom Object in lwc --

Further post that would you like to learn in Salesforce



FAQ (Frequently Asked Questions)

How do you create a new record in LWC?

Create a lightning web component ldsCreateRecord. Use lightning-input to get the user input for Account Name, Account Number, and Phone. Add lightning-button to call the JS controller method to create the record. Add onchange handler for each lightning-input tag to get the updated value in the JS controller.

How do you update LWC records?

Whenever you want to update a record you can use LDS methods which is updateRecord if the LDS tags are not of any help! It's a method that we need to import from the package lightning/uiRecordApi and invoke it by passing the appropriate config object.

How do you save records in LWC?

To create a record using lightning-record-form , leave out the record-id attribute. This example creates a record using import references for the account object and its fields. The form displays a Save button that updates the record, and a Cancel button that reverts changes.

Related Topics | You May Also Like

  • Our Free Courses →
  • 👉 Get Free Course →

    📌 Salesforce Administrators

    📌 Salesforce Lightning Flow Builder

    📌 Salesforce Record Trigger Flow Builder


Hi, This is Vijay Kumar behind the admin and founder of I am a senior software developer and working in MNC company from more than 8 years. I am great fan of technology, configuration, customization & development. Apart of this, I love to write about Blogging in spare time, Working on Mobile & Web application development, Salesforce lightning, Salesforce LWC and Salesforce Integration development in full time. [Read full bio] | | The Sitemap where you can find all published post on

Leave a Comment