Skip to main content

Posts

Showing posts from April, 2019

Change sets - cryptic validation error messages

I'm a fan of change sets to migrate my development work from a Salesforce sandbox to production. (Check out the Trailhead module on change sets here ). After I make my updates, I create an outbound change set and add all those updates to the change set. Assuming the deployment settings in my production org allow inbound change sets from the sandbox, I upload from the sandbox to my production org. That change set encapsulates all the updates which will be validated and deployed (or not) together. That is, if the deployment fails, all of the updates get rolled back. After a few minutes (wait even a few minutes beyond when you get the email telling you the upload succeeded), switch to the production org, open Setup and go to the Inbound Change Sets. From there, select the new change set and choose Validate. Once that kicks off, switch to the Deployment Status Page and watch the green circle fill in. Assuming it stays green, the next step is Deploy. Sometimes, however, that circle

Using Excel with Salesforce: One tool, two tips

Obviously, Salesforce has strong built-in reporting tools. And I'm a big fan of the dashboards, especially filtered dashboards and dynamic dashboards. WAY better than the old approach of creating a unique set of reports and a corresponding dashboard for every conceivable view. Still, I often want to pull my Salesforce data into Excel. This might be for further manipulation / processing, aggregating data that doesn't live in Salesforce, or distribution to non-Salesforce users (hey, those licenses are expensive!). Reporting Tool - XL-Connector: I'm using a new (to me) tool when I have to repeatedly pull Salesforce data into Excel: XL-Connector  (fka Enabler 4 Excel) from Xappex. There's a lot you can do with XL-Connector. My primary use is just to extract data from Salesforce, and this can be done in two ways: reports or SOQL queries. The great part is that once you've captured data into an Excel file, refreshing the data is trivial. I've stored my credential

Two Great Composer Parameters That Work Great Together

We use Conga Composer to generate documents out of Salesforce; for those unfamiliar, I describe it as a really smart form-fill using Salesforce as a data source. Our primary use for Composer is quote generation, and the myriad parameters allow us to generate fairly custom quotes for a whole slew of cases (direct or via the channel; new or renewal; show discounts or not, etc., etc.). Conditionally Disable Composer One set of parameters that I've really come to like work in tandem: DC - Disable Conga Execution, and DCL - Disable Conga Execution Label. The idea is that if DC=1, so Composer is disabled, then the value of DCL is displayed to the user. As an example, suppose we have &DC=1&DCL=Opportunity+Is+Closed. When the user attempts to launch Composer, it won't run, but instead will display 'Opportunity Is Closed'. On the other hand, if DC=0 then Composer runs as normal. So how do we use this? As I said, we use Composer mostly for quotes. And there are a

Task Cleanup - Launching the Flows

In the previous post , we set the objective of cleaning up open tasks either when (1) the opportunity to which they are related is closed or (2) another task with many of the same attributes is created. We created an auto-launched flow which determined which of those two flavors was in play, captured the appropriate tasks and, if there were any, deleted those tasks. What we didn't do last time was launch that flow. That's the exercise now. We'll create two Process Builder flows which invoke the flow, setting the appropriate input variables. Recall there are two instances in which we're going to launch our flow. The first, and more complex, is when a task is created. If a task is created, it relates to an opportunity and its status is Not Started, I'm going to launch the flow. Let's get started... From Setup, search on Process Builder, then click on it and then New. Give the process a name, and have it start when a record changes. Next, Add Object and sele