Toggle Side Panel

  • Home
  • Articles
    • All Articles
    • Blogs
    • Videos
    • Infographics
  • Consultants
    • Salesforce Product Expertise
      • Top Salesforce ConsultantsTop Salesforce Consultants
      • Marketing Cloud ConsultantsMarketing Cloud Consultants
      • Service Cloud ConsultantsService Cloud Consultants
      • Experience Cloud ConsultantsExperience Cloud Consultants
      • Analytics Cloud ConsultantsAnalytics Cloud Consultants
    • Salesforce Industry Expertise
      • Non-Profit Cloud ConsultantsNon-Profit Cloud Consultants
      • Financial Service Cloud ConsultantsFinancial Service Cloud Consultants
      • Health Cloud ConsultantsHealth Cloud Consultants
      • Commerce Cloud ConsultantsCommerce Cloud Consultants
      • Manufacturing Cloud ConsultantsManufacturing Cloud Consultants
    • Salesforce Experts by Location
      • USATop Salesforce Consultants in USA
      • IndiaTop Salesforce Consultants in India
      • AustraliaTop Salesforce Consultants in Australia
      • United KingdomTop Salesforce Consultants in UK
      • CanadaTop Salesforce Consultants in Canada
  • Webinars
  • Marketplace
  • Advertise With Us
  • Contact Us
  • Discussions
More options
    Sign in Sign up
    • Home
    • Articles
      • All Articles
      • Blogs
      • Videos
      • Infographics
    • Consultants
      • Salesforce Product Expertise
        • Top Salesforce ConsultantsTop Salesforce Consultants
        • Marketing Cloud ConsultantsMarketing Cloud Consultants
        • Service Cloud ConsultantsService Cloud Consultants
        • Experience Cloud ConsultantsExperience Cloud Consultants
        • Analytics Cloud ConsultantsAnalytics Cloud Consultants
      • Salesforce Industry Expertise
        • Non-Profit Cloud ConsultantsNon-Profit Cloud Consultants
        • Financial Service Cloud ConsultantsFinancial Service Cloud Consultants
        • Health Cloud ConsultantsHealth Cloud Consultants
        • Commerce Cloud ConsultantsCommerce Cloud Consultants
        • Manufacturing Cloud ConsultantsManufacturing Cloud Consultants
      • Salesforce Experts by Location
        • USATop Salesforce Consultants in USA
        • IndiaTop Salesforce Consultants in India
        • AustraliaTop Salesforce Consultants in Australia
        • United KingdomTop Salesforce Consultants in UK
        • CanadaTop Salesforce Consultants in Canada
    • Webinars
    • Marketplace
    • Advertise With Us
    • Contact Us
    • Discussions
    Close search

    Activity › Forums › Salesforce® Discussions › How can I create custom object using the Metadata API from Apex?

    Tagged: Metadata API, MetadataService, Salesforce Apex Class, Salesforce Custom Object

    • Salesforce® Discussions

      How can I create custom object using the Metadata API from Apex?

      Posted by Piyush on April 29, 2016 at 7:54 AM

      How can I create custom object using the Metadata API from Apex class?

       

      Gourav replied 10 years ago 4 Members · 6 Replies
      • Metadata API
      • MetadataService
      • Salesforce Apex Class
      • Salesforce Custom Object
    • 6 Replies
    • Naman

      Member
      April 29, 2016 at 7:58 AM

      Go through http://salesforce.stackexchange.com/questions/20763/creating-a-custom-object-using-rest-api

    • [adinserter block='9']
    • Gourav

      Member
      April 29, 2016 at 7:59 AM

      Use this code in your Apex class to create custom Object :-

       

      MetadataService.CustomObject customObject = new MetadataService.CustomObject();
      customObject.fullName = 'Test__c';
      customObject.label = 'Test';
      customObject.pluralLabel = 'Tests';
      customObject.nameField = new MetadataService.CustomField();
      customObject.nameField.type_x = 'Text';
      customObject.nameField.label = 'Test Record';
      customObject.deploymentStatus = 'Deployed';
      customObject.sharingModel = 'ReadWrite';
      MetadataService.AsyncResult[] results = service.create(new List<MetadataService.Metadata> { customObject });

    • shafali

      Member
      April 29, 2016 at 8:06 AM

      Hi Piyush,

      Try this:

      HTTP h = new HTTP();
      HTTPRequest req = new HTTPRequest();
      req.setMethod('POST');
      req.setHeader('Content-Type', 'text/xml');
      req.setHeader('SOAPAction', 'create');

      String b = '<?xml version="1.0" encoding="UTF-8"?>';
      b += '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">';
      b += '<soapenv:Header>';
      b += '<ns1:SessionHeader soapenv:mustUnderstand="0" xmlns:ns1="http://soap.sforce.com/2006/04/metadata">';
      b += '<ns1:sessionId>' + UserInfo.getSessionId() + '</ns1:sessionId>';
      b += '</ns1:SessionHeader>';
      b += '</soapenv:Header>';
      b += '<soapenv:Body>';
      b += '<create xmlns="http://soap.sforce.com/2006/04/metadata">';
      b += '<metadata xsi:type="ns2:CustomObject" xmlns:ns2="http://soap.sforce.com/2006/04/metadata">';
      b += '<fullName>sample__c</fullName>';
      b += '<deploymentStatus>Deployed</deploymentStatus>';
      b += '<description>created by the Metadata API</description>';
      b += '<enableActivities>true</enableActivities>';
      b += '<label>sample Object</label>';
      b += '<nameField>';
      b += '<displayFormat>AN-{0000}</displayFormat>';
      b += '<label>sample__c Name</label>';
      b += '<type>AutoNumber</type>';
      b += '</nameField>';
      b += '<pluralLabel>sample Objects</pluralLabel>';
      b += '<sharingModel>ReadWrite</sharingModel>';
      b += '</metadata>';
      b += '</create>';
      b += '</soapenv:Body>';
      b += '</soapenv:Envelope>';

      req.setBody(b);
      req.setCompressed(false);
      req.setEndpoint('https://na12-api.salesforce.com/services/Soap/m/25.0');
      HTTPResponse resp = h.send(req);
      System.debug(resp.getBody());

    • Piyush

      Member
      April 29, 2016 at 8:10 AM

      @Gourav when i execute this sample of the code I am getting error Invalid type: MetadataService.CustomObject

    • Piyush

      Member
      April 29, 2016 at 8:15 AM

      Thanks all it really helpful for me.

    • Gourav

      Member
      April 29, 2016 at 9:10 AM

      @Piyush

      you need to import all the classes from the metadata sample to get this workfing..
      also your MetadataServiceExamples class should have all the methods to run.. your createObject method is calling createService method which is missing..

      check this for all the classes in metadata sample and add them to your org
      https://github.com/financialforcedev/apex-mdapi/tree/master/apex-mdapi/src/classes

      and this is for the MetadataServiceExample class
      https://github.com/financialforcedev/apex-mdapi/blob/master/apex-mdapi/src/classes/MetadataServiceExamples.cls

    Log In to reply.

    • Public
    • All Members
    • My Connections
    • Only Me
    • Public
    • All Members
    • My Connections
    • Only Me
    • Public
    • All Members
    • My Connections
    • Only Me

    [adinserter block="12"]

    Popular Salesforce Blogs

    Managed and Unmanaged Packages in Salesforce

    What are Managed & Unmanaged Packages in Salesforce in 2023?

    Blog in Salesforce

    Salesforce is one of the most widely used Customer Relationship Management (CRM) tools in the world. It provides a platform for organizations to build, customize,…

    Implementation of Salesforce Products, Increasing Your Productivity, Key Concepts, Key Planning, Knowledge Transfer
    Mohit Kumar Mar 16, 2023
    2,392  Views

    Types of Salesforce Sales Cloud Services

    Blog in Salesforce

    Modern sales teams need more than spreadsheets, follow-ups, and disconnected tools. They need a system that helps them sell smarter, close faster, and scale confidently.…

    Salesforce Sales Cloud Services, salesforcedeveloper
    Dean Feb 27, 2026
    271  Views
    duplicate management

    How to Properly Implement a Salesforce Deduplication Feature: 5 Tips You Need to Follow

    Blog in Others, Salesforce, Salesforce Products

    If your company is like many others struggling with duplicates in Salesforce, you are actively looking for solutions that can solve this problem. When you…

    Benefits for Your Company, Change Management Practices, Company, Contacting Customers, Continuous Feedback
    ildudkin Sep 16, 2020
    5,534  Views
    Footer Forcetalks logo

    support@forcetalks.com

    • twitterx

    Quick Links

    Advertise with Us

    Salesforce® Articles

    Dreamforce 2023

    Top Salesforce® Bloggers 2023

    Top Salesforce Consultants

    Get Listed

    Company

    Contact Us

    About Us

    Privacy Policy

    Terms & Conditions

    InsightHub

    Salesforce Blogs

    Salesforce Videos

    Salesforce Groups

    Salesforce Jobs

    © 2026 - Forcetalks ● All Rights Reserved

    Salesforce® is a trademark of Salesforce® Inc. No claim is made to the exclusive right to use “Salesforce”. Any services offered within the Forcetalks website/app are not sponsored or endorsed by Salesforce®.

    We use cookies to enhance your browsing experience. Please see our privacy policy if you'd like more information on our use of cookies.