SFDX - Create Objects with Custom Properties





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







1















With the current state of the DX CLI, is it possible to dynamically add objects that have custom properties?



Example - I create a scratch org then install the base package.
From thereon, would I be able to create say an Account object and give it custom fields through the CLI?



I haven't seen anything in the API documentation about such a thing, but I'm new to Salesforce in general so wondering if an approach for this is not supported?



Or can you only do such a thing once every package you need that contains the custom fields you want/need for objects have been installed?



Hoping if there is even a hacky way about the above, I'd love to know. Thinking of leveraging that possibility with javascript and powershell.



Any clarity greatly appreciated.










share|improve this question





























    1















    With the current state of the DX CLI, is it possible to dynamically add objects that have custom properties?



    Example - I create a scratch org then install the base package.
    From thereon, would I be able to create say an Account object and give it custom fields through the CLI?



    I haven't seen anything in the API documentation about such a thing, but I'm new to Salesforce in general so wondering if an approach for this is not supported?



    Or can you only do such a thing once every package you need that contains the custom fields you want/need for objects have been installed?



    Hoping if there is even a hacky way about the above, I'd love to know. Thinking of leveraging that possibility with javascript and powershell.



    Any clarity greatly appreciated.










    share|improve this question

























      1












      1








      1








      With the current state of the DX CLI, is it possible to dynamically add objects that have custom properties?



      Example - I create a scratch org then install the base package.
      From thereon, would I be able to create say an Account object and give it custom fields through the CLI?



      I haven't seen anything in the API documentation about such a thing, but I'm new to Salesforce in general so wondering if an approach for this is not supported?



      Or can you only do such a thing once every package you need that contains the custom fields you want/need for objects have been installed?



      Hoping if there is even a hacky way about the above, I'd love to know. Thinking of leveraging that possibility with javascript and powershell.



      Any clarity greatly appreciated.










      share|improve this question














      With the current state of the DX CLI, is it possible to dynamically add objects that have custom properties?



      Example - I create a scratch org then install the base package.
      From thereon, would I be able to create say an Account object and give it custom fields through the CLI?



      I haven't seen anything in the API documentation about such a thing, but I'm new to Salesforce in general so wondering if an approach for this is not supported?



      Or can you only do such a thing once every package you need that contains the custom fields you want/need for objects have been installed?



      Hoping if there is even a hacky way about the above, I'd love to know. Thinking of leveraging that possibility with javascript and powershell.



      Any clarity greatly appreciated.







      javascript salesforcedx process-automation






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 3 hours ago









      trebleCodetrebleCode

      1133




      1133






















          1 Answer
          1






          active

          oldest

          votes


















          3














          The Salesforce DX CLI can do things at a few different levels. It manages scratch and non-scratch orgs, for example, and it handles deploying and retrieving source. On top of those basic capabilities, it has some tools that handle building specific types of metadata, like sfdx force:apex:class:create.



          Salesforce DX is a source-based system, and you can always create metadata source code yourself using any tool you please. Convenience commands like the above make it easier, but don't preclude you from simply writing an Apex class and its associated XML metadata to disk and then performing a deployment.



          sfdx does not offer commands to programmatically scaffold the metadata for a custom object or add fields to a custom object, as it does for Apex, Visualforce, and Lightning components. However, it's not particularly difficult to generate or template out the XML definitions of that metadata yourself.



          The easiest way to figure out what the metadata needs to look like is just to pull some examples from one of your orgs, or you can look through an existing project like those in the trailheadapps collection on GitHub. Bear in mind that Salesforce has two source code formats (Metadata API and SFDX), so you may see some confusing differences between older and newer projects. You'll start out with SFDX format source code if you're building your project anew with SFDX.



          Once you have the metadata in hand, SFDX will happily push it into your scratch org, sandbox, or production org using the sfdx force:source:push (scratch orgs/source-tracking orgs), sfdx force:source:deploy (non source-tracking orgs with SFDX source format), and sfdx force:mdapi:deploy (any org with Metadata API source format) commands.



          You can mix-and-match package installations and deployments of metadata from SFDX. Just bear in mind that if you install a managed package you're still subject to the usual limitations on altering managed components.






          share|improve this answer



















          • 1





            The shane-sfdx-plugins plugin for the cli facilitates creating that object and field metadata from the command line. Unofficial and unsupported, but written by a Salesforce employee.

            – Thomas Taylor
            3 hours ago











          • That's pretty snazzy. Adding to my sfdx now...

            – David Reed
            3 hours ago












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "459"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f260148%2fsfdx-create-objects-with-custom-properties%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          The Salesforce DX CLI can do things at a few different levels. It manages scratch and non-scratch orgs, for example, and it handles deploying and retrieving source. On top of those basic capabilities, it has some tools that handle building specific types of metadata, like sfdx force:apex:class:create.



          Salesforce DX is a source-based system, and you can always create metadata source code yourself using any tool you please. Convenience commands like the above make it easier, but don't preclude you from simply writing an Apex class and its associated XML metadata to disk and then performing a deployment.



          sfdx does not offer commands to programmatically scaffold the metadata for a custom object or add fields to a custom object, as it does for Apex, Visualforce, and Lightning components. However, it's not particularly difficult to generate or template out the XML definitions of that metadata yourself.



          The easiest way to figure out what the metadata needs to look like is just to pull some examples from one of your orgs, or you can look through an existing project like those in the trailheadapps collection on GitHub. Bear in mind that Salesforce has two source code formats (Metadata API and SFDX), so you may see some confusing differences between older and newer projects. You'll start out with SFDX format source code if you're building your project anew with SFDX.



          Once you have the metadata in hand, SFDX will happily push it into your scratch org, sandbox, or production org using the sfdx force:source:push (scratch orgs/source-tracking orgs), sfdx force:source:deploy (non source-tracking orgs with SFDX source format), and sfdx force:mdapi:deploy (any org with Metadata API source format) commands.



          You can mix-and-match package installations and deployments of metadata from SFDX. Just bear in mind that if you install a managed package you're still subject to the usual limitations on altering managed components.






          share|improve this answer



















          • 1





            The shane-sfdx-plugins plugin for the cli facilitates creating that object and field metadata from the command line. Unofficial and unsupported, but written by a Salesforce employee.

            – Thomas Taylor
            3 hours ago











          • That's pretty snazzy. Adding to my sfdx now...

            – David Reed
            3 hours ago
















          3














          The Salesforce DX CLI can do things at a few different levels. It manages scratch and non-scratch orgs, for example, and it handles deploying and retrieving source. On top of those basic capabilities, it has some tools that handle building specific types of metadata, like sfdx force:apex:class:create.



          Salesforce DX is a source-based system, and you can always create metadata source code yourself using any tool you please. Convenience commands like the above make it easier, but don't preclude you from simply writing an Apex class and its associated XML metadata to disk and then performing a deployment.



          sfdx does not offer commands to programmatically scaffold the metadata for a custom object or add fields to a custom object, as it does for Apex, Visualforce, and Lightning components. However, it's not particularly difficult to generate or template out the XML definitions of that metadata yourself.



          The easiest way to figure out what the metadata needs to look like is just to pull some examples from one of your orgs, or you can look through an existing project like those in the trailheadapps collection on GitHub. Bear in mind that Salesforce has two source code formats (Metadata API and SFDX), so you may see some confusing differences between older and newer projects. You'll start out with SFDX format source code if you're building your project anew with SFDX.



          Once you have the metadata in hand, SFDX will happily push it into your scratch org, sandbox, or production org using the sfdx force:source:push (scratch orgs/source-tracking orgs), sfdx force:source:deploy (non source-tracking orgs with SFDX source format), and sfdx force:mdapi:deploy (any org with Metadata API source format) commands.



          You can mix-and-match package installations and deployments of metadata from SFDX. Just bear in mind that if you install a managed package you're still subject to the usual limitations on altering managed components.






          share|improve this answer



















          • 1





            The shane-sfdx-plugins plugin for the cli facilitates creating that object and field metadata from the command line. Unofficial and unsupported, but written by a Salesforce employee.

            – Thomas Taylor
            3 hours ago











          • That's pretty snazzy. Adding to my sfdx now...

            – David Reed
            3 hours ago














          3












          3








          3







          The Salesforce DX CLI can do things at a few different levels. It manages scratch and non-scratch orgs, for example, and it handles deploying and retrieving source. On top of those basic capabilities, it has some tools that handle building specific types of metadata, like sfdx force:apex:class:create.



          Salesforce DX is a source-based system, and you can always create metadata source code yourself using any tool you please. Convenience commands like the above make it easier, but don't preclude you from simply writing an Apex class and its associated XML metadata to disk and then performing a deployment.



          sfdx does not offer commands to programmatically scaffold the metadata for a custom object or add fields to a custom object, as it does for Apex, Visualforce, and Lightning components. However, it's not particularly difficult to generate or template out the XML definitions of that metadata yourself.



          The easiest way to figure out what the metadata needs to look like is just to pull some examples from one of your orgs, or you can look through an existing project like those in the trailheadapps collection on GitHub. Bear in mind that Salesforce has two source code formats (Metadata API and SFDX), so you may see some confusing differences between older and newer projects. You'll start out with SFDX format source code if you're building your project anew with SFDX.



          Once you have the metadata in hand, SFDX will happily push it into your scratch org, sandbox, or production org using the sfdx force:source:push (scratch orgs/source-tracking orgs), sfdx force:source:deploy (non source-tracking orgs with SFDX source format), and sfdx force:mdapi:deploy (any org with Metadata API source format) commands.



          You can mix-and-match package installations and deployments of metadata from SFDX. Just bear in mind that if you install a managed package you're still subject to the usual limitations on altering managed components.






          share|improve this answer













          The Salesforce DX CLI can do things at a few different levels. It manages scratch and non-scratch orgs, for example, and it handles deploying and retrieving source. On top of those basic capabilities, it has some tools that handle building specific types of metadata, like sfdx force:apex:class:create.



          Salesforce DX is a source-based system, and you can always create metadata source code yourself using any tool you please. Convenience commands like the above make it easier, but don't preclude you from simply writing an Apex class and its associated XML metadata to disk and then performing a deployment.



          sfdx does not offer commands to programmatically scaffold the metadata for a custom object or add fields to a custom object, as it does for Apex, Visualforce, and Lightning components. However, it's not particularly difficult to generate or template out the XML definitions of that metadata yourself.



          The easiest way to figure out what the metadata needs to look like is just to pull some examples from one of your orgs, or you can look through an existing project like those in the trailheadapps collection on GitHub. Bear in mind that Salesforce has two source code formats (Metadata API and SFDX), so you may see some confusing differences between older and newer projects. You'll start out with SFDX format source code if you're building your project anew with SFDX.



          Once you have the metadata in hand, SFDX will happily push it into your scratch org, sandbox, or production org using the sfdx force:source:push (scratch orgs/source-tracking orgs), sfdx force:source:deploy (non source-tracking orgs with SFDX source format), and sfdx force:mdapi:deploy (any org with Metadata API source format) commands.



          You can mix-and-match package installations and deployments of metadata from SFDX. Just bear in mind that if you install a managed package you're still subject to the usual limitations on altering managed components.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 3 hours ago









          David ReedDavid Reed

          40.5k82360




          40.5k82360








          • 1





            The shane-sfdx-plugins plugin for the cli facilitates creating that object and field metadata from the command line. Unofficial and unsupported, but written by a Salesforce employee.

            – Thomas Taylor
            3 hours ago











          • That's pretty snazzy. Adding to my sfdx now...

            – David Reed
            3 hours ago














          • 1





            The shane-sfdx-plugins plugin for the cli facilitates creating that object and field metadata from the command line. Unofficial and unsupported, but written by a Salesforce employee.

            – Thomas Taylor
            3 hours ago











          • That's pretty snazzy. Adding to my sfdx now...

            – David Reed
            3 hours ago








          1




          1





          The shane-sfdx-plugins plugin for the cli facilitates creating that object and field metadata from the command line. Unofficial and unsupported, but written by a Salesforce employee.

          – Thomas Taylor
          3 hours ago





          The shane-sfdx-plugins plugin for the cli facilitates creating that object and field metadata from the command line. Unofficial and unsupported, but written by a Salesforce employee.

          – Thomas Taylor
          3 hours ago













          That's pretty snazzy. Adding to my sfdx now...

          – David Reed
          3 hours ago





          That's pretty snazzy. Adding to my sfdx now...

          – David Reed
          3 hours ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Salesforce Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f260148%2fsfdx-create-objects-with-custom-properties%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          What are all the squawk codes?

          What are differences between VBoxVGA, VMSVGA and VBoxSVGA in VirtualBox?

          Hudsonelva