Today I had to add 32 Checkbox fields to my Contact object. I could have done this by manually creating each field, but the thought of clicking through over 100 screens didn’t take my fancy. So, I thought I’d take the Force.com Metadata API for a spin.
The last time I played with Metadata, I did it via the command-line Metadata Migration Tool . This time I decided to do it via the IDE.
Fortunately, there’s plenty of information available on this topic, the best of which are:
- Eric Santiago’s Video Tutorial: Rapid Salesforce Configuraton with Eclipse and Force.com that even includes a video with step-by-step instructions. Details on adding custom fields starts around 15 minutes into the video.
- Jeff Douglas’ blog post on Migrating Salesforce.com Configurations with the Metadata API & Force.com Migration Tool
First I updated my Force.com IDE extensions in Eclipse (always make sure you’re working on the most recent version!). One nice feature I see they’ve added is the ability to select exactly which objects are copied down to the IDE. I simply ticked ‘Contacts’ and it appeared in my Package Explorer.

Then, I just did a Copy & Paste job on the metadata, changing the labels for each field.
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<fields>
<fullName>BI_Owns_Active_Bamboo__c</fullName>
<defaultValue>false</defaultValue>
<label>Entity Owns Active Bamboo</label>
<type>Checkbox</type>
</fields>
<fields>
<fullName>BI_Owns_Active_Clover__c</fullName>
<defaultValue>false</defaultValue>
<label>Entity Owns Active Clover</label>
<type>Checkbox</type>
</fields>
etc.
I then hit Save and the fields magically appeared in Salesforce.com — I was even somewhat naughty and did it straight into my Production instance (although best practice would be to do it in the Sandbox and then copy across / deploy the change).

Okay, I’ve still got a bit of work to do if I want to add the Checkboxes to my Page Layout, but at least the laborious part is over — the rest is all Drag & Drop!
The Bottom Line
- The latest Force.com IDE facility lets you choose Standard Objects without having to play with
package.xml - Creating lots of fields can be done quickly via the IDE, rather than the normal Force.com UI