Technical Architect Journey

Salesforce has changed recently the path to get the Technical Architect certification. There was a huge gap between all the other certifications and the Technical Architect certification. Now, you can fill that gap getting the skills required to get there by achieving the new domain specialist certifications and becoming Application Architect and System Architect in order […]

Get code coverage using REST API query

Let’s suppose you need to find all the classes or triggers starting with “MY_” and having 0 lines covered. The REST API query we need would be as follows: /services/data/v29.0/tooling/query/q=SELECT+ApexClassOrTriggerId,+ApexClassOrTrigger.Name,+NumLinesCovered,+NumLinesUncovered +FROM+ApexCodeCoverageAggregate +++WHERE+NumLinesCovered+=+0+AND+NumLinesUncovered+!=+NULL +AND+ApexClassOrTrigger.Name+like+’MY_%25’+ORDER+BY+ApexClassOrTrigger.Name Obviously, it will return a JSON string with the classes and triggers which match the criteria. There are a lot of online […]

Salesforce Winter 17 Highlights

We already have a new version of our loved CRM & Platform. Once again over 300 new features are released and it is a litte bit overwhelming to go over all of them. Just to highlight the most important ones for me and that we cannot miss, I’ll list them. Ligthning enhancements: Lightning Data Service […]

Retrieving blob objects from Azure with Apex

Maybe you need to retrieve blobs stored in Azure Storage Services and save them as Salesforce attachments. Let’s suppose we have an attachment base64 encoded stored as a blob in Azure. We could retrieve it with the following snippet: String blobName = ”; String urlQueue = ‘https://.blob.core.windows.net//’ + blobName; string storageKey = ”; Datetime dt […]

Sending e-mails from Salesforce using Amazon SES

SFDC has increased from 1000 to 5000 the number of e-mails that can be sent to external e-mail addresses within Winter ’17 release. This is really good news but still, in some cases, can be insufficient. I want to show you how you can send e-mails, in both HTML and text plain versions and with […]

Named credentials using OAuth

Sometimes you need to use the Rest API in your Apex Code to make callouts to other Salesforce Orgs or even to the same Org where you are executing your code. You could use Named Credentials to avoid storing user and password credentials (normally in an unsecure way) with OAuth. We will need the following […]

Setting RecordType for new records without query

My godness, how many queries would force.com save if all of us knew this? insert new Task ( Subject = ‘Your appointment is at noon’, RecordType = new RecordType (Name = ‘SMS’) ); How come has this gone unnoticed? Anyway, better late than never!

CreatedDate in test classes

Finally Salesforce fills the gap and allows you to specify the createddate field within test classes. You only have to use the Test.setCreatedDate method introduced with Spring ’16. @isTest private class CreatedDateTest { static testMethod void test() { Contact c = new Contact(FirstName =’Marc’, LastName = ‘Benioff’); insert c; Test.setCreatedDate(c.Id, DateTime.newInstance(2016, 1, 26)); Test.startTest(); Contact […]

Spring ’16

Spring ’16 release is already among us. I was able to attend the 4 webcasts where the most important features were presented with nice demonstrations. I recommend you to join the Release Readiness Chatter group. There are very interesting documents, including the release notes for this release but also for past and future releases. Once […]

Manage UserTerritory table through REST API

UserTerritory is one of the few objects that don’t allow DML Operations. However, we can manage it through the REST API. We could assign a User to a Territory by using the following APEX code: HttpRequest req = new HttpRequest(); Http http = new Http(); String baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); req.setEndpoint( baseUrl + ‘/services/data/v34.0/sobjects/UserTerritory/’); req.setHeader(‘Authorization’, ‘OAuth […]