Winter ’21 Release Notes

Winter '21 logo

Over the weekend the last instances have been upgraded to Winter ’21 release, so it is finally time to check the release notes. When I saw that Keir has been able to choose top 6 improvements I’ve been impressed with the ability to choose the top one. After reading through 600+ pages I’m not surprised anymore. I mean, there are tons of great things, as always, but actually just a few I might use or want to pay any attention.

One liners

  • email-to-case don’t send RefId in body/subject anymore but depend on info in header (where user don’t see it/cannot change);
  • High Velocity Sales (great new products for last a few releases) introduced limits for daily sent mails and active targets – as we say in Czech, they opened the pub and people wanted to get in;
  • you can optimize the opportunity scoring model, if you want to remove some data/opportunities from the model;
  • you can enable new Order save behavior, which will trigger Order validation rules and PB/flows when a new order product is added;
  • Lightning Sync is not available for new customer, Einstein Analytics Capture is the future. And Outlook plug-in now supports shared mailboxes;
  • my domain will be enforced in Winter ’22 (actually they had this plan a few releases back and didn’t went public with it, so will see this time);
  • there is a new base LWC component which will you to scan barcode (beta) – one of the great feature you might need to solve some CTA scenarios;
  • @AuraEnabled Apex Class security will be enforced – you need to provide users access to all these classes, from now on the access is no provided by default just because they have access to the LWC/Aura component.

Great things

  • Apex safe navigator operator is one of the awesome things to me. Till know you source code was full if( x == null), not you can use ? instead (contactRec.Account?.Name) and you will either get account name or null;
  • Scratch org shape (beta) – no more problems with setting up the scratch org project the same way as your production instance, now you can just specify orgId and Salesforce DX will set the scratch org the same way;
  • CDC event enrichment – by default CDC sends just changed field and the remote system needs to do a call-in if it needs more data. Now you can provide some fields in the results every time;
  • auto add new custom fields to custom report types – this was a long missing feature, that custom report types don’t automatically get all the awesome new fields you create. But at the same time, maybe (just sometimes) the point is not to include all fields and have the report type super simple to make it easier for the users. Yeah, you cannot make happy everyone (this feature needs to be enabled in setup);
  • Einstein Data Prep came as beta in Summer ’20 and now is generally available and boy … that looks awesome!

Things so good they have even picture

  • see changed deals at glance on kanban – you can see the change in dates or amount right on the kanban;
Deals changes on Kanban

  • Email Template Builder aka let you users make sexy emaily right in the Salesforce from different blocks. Sounds promising, will see the results;
Email Template Builder
  • CPQ Asset Lifecycle Management – CPQ is all about upsales and being able to see it in visual form is super sexy. Not sure how useful for AEs, but sexy;
CPQ Asset Lifecycle Management


Flow should have it is own paragraph, so many new things (and I skipped a few of them):

  • before-delete flow, which allows you to delete related record as well. It doesn’t (really) allow you to block the user from deleting the record (as is possible in APEX), the only way how to achieve the same is in combination with validation rule, which you set to fail in the flow. Not nice solution;
  • debug as other user (in sandbox);
  • change trigger running on specific change (rather then on all of them and decision element checking whether to process or not);
  • easy access related records data – no more Get Elements just to get information from related Account, now you can use the . approach to go up as well;
  • paused flow interviews resume in the same context with the same user access – this was more to remove some possible security hole;
  • multi-columns screen flow, because they make sense in a lot of cases.
Multi-column screen flows

Health Cloud, Financial Service Cloud, Public Sector Solutions, Consumer Goods Cloud, Manufacturing Cloud, Batch Management, Data Processing Engine, Emergency Response Management, Commerce Cloud – so many additional clouds and solutions (some in beta) with new features, where I just gave up to know them at all. I have my limits as well.

And what did you find and can use on daily basis?

Napiš komentář, díky!

What it takes to fail CTA exam

Four years ago, when I joined PwC, we spoke about my visions and future and I said I want to have the knowledge of CTA but I’m not sure I want the title. So hard, so much study, so much stress.

Last year I got the offer to try go for it and I accepted. 601 last December, being part of the FlowRepublic, 602 as final word before the exam, a bit of time as the projects are slower during Covid. And then the final moment last week, when everything decided.

If you don’t know me yet, you should know I’m arrogant and I don’t follow the same path as others, which might be important for this summary.

I heard a lot of interviews with people who did it, how they speak about months and months (and years) of study (I would say do it as quickly as possible, 6 months max), how passing architect exam means nothing and you need to start from scratch, how you need developer background (actually not sure I ever heard this one, but I heard Gemma saying a lot that she wants to prove that it is wrong), how you need to dedicated specific days/slots to studies and all the other things. I probably ignored all of them.

What you Need to know

My feeling is, that you don’t need to be developer (but you definitely need to know how @future method is different to callout from APEX controller or platform event, what is REST and SOAP and a few other technical things), you need to know all the OAuth flows (still not sure why, but it is part of the exam), you need to be strong in licences and their capabilities (part I almost never have chance to propose on project), project management and governance (hi PMs, I should be able to talk about your area of competence and influence it), testing and deployment, sharing, know 3rd party apps and something about integrations.


What is crucial is mentoring or study buddies. Mainly because the main part you need to practice is presentation and QA and you are not able to do it yourself. I doubt you will be able to follow Jannis with his 3 mock tests which he didn’t present to anyone.

I was lucky to have Seb from FlowRepublic and he helped a lot. Their study course is great eye opener, topics you never really thought about, questions you won’t ask. Cheat sheets you should do and I would add that you really should compare them with someone and unless you meet someone as Johann you have no idea into which depth cheatsheet can go. What I can promise is, that you will learn something new.

  • what are the limits of sharing rules?
  • how many leads can web-to-lead handle?
  • which licence have access to Quote object?
  • how much file storage you get with each licence?
  • when is it better to use platform event than change data capture?
  • what might be main drawback of external objects?

Also just because you know the word doesn’t mean it is enough. „I’ll do callout from APEX trigger after save“ is definitely not enough details to score points. Or drawing „Dev -> QA -> UAT -> Prod“ and hoping that you covered deployment and testing because everyone knows what is being tested where is wrong.

Before the Day

I clearly misunderstood the „equality“ word even though I’m a big proponent. As non-English speaker I decided not to use the advantage of 30 minutes for preparation and 20 minutes for QA and it was mistake, especially for the QA part.

If you can get the extra time, ask for it. The QA is to help you get the bonus points to pass and more questions might mean more points.

The language might be tricky and you don’t want to get feedback like „Make sure to give short and concise answers to maximize time during the Q&A“ and „Be able to justify mobile platform choices with considerations and trade-offs.“ Meaning you need to be able to distinguish what is important and include it in your speach and skip what is not important. Super tricky for me and I wouldn’t say that judges will ask if they want to know more.

If you draw your artifacts in PowerPoint you might want to try it on some virtual machine with a bit of lag. It might change the experience even for writing, just be prepared.

The Day

Besides the fact that you should/will be stressed-out just because of the exam, there is nothing stressful. All goes smoothly, you are the one who start the timer when ready, in case of any problems just call them out and don’t worry. WebAssessor exam is way more stressful than this.


It is the same as with any preparation you did for the mocks. The big difference here, which I realised shortly before the exam, is, that we never practised the whole things. I always prepared my presentation for the scenario and if scenario didn’t cover anything about deployment I didn’t have anything prepared.

I would say your presentation can be – kind of – your backup slides as well. During the exam is important what you say, but having slides for something might be they will be aware you are ready for it.

I missed slide about Integrations and it is one of the feedback (even though I passed this section), the same goes for testing, which I didn’t specifically written on the deployment slide and didn’t have time to speak about it during preparation. Having just a few bullets about what will be tested where might help here (again, I passed this section).


Your shortest 45 minutes ever.

This is nothing special, just another presentation. Presentation during which you need to speak super quickly, because there are way more details to cover than what you are able to cover with your normal speed.

Go deep, provide reasoning, say all those words again and again – „will use external services in request and reply pattern“ or as 602 book says

Not Enough Detail: “I will create a sharing rule to allow internal sales managers to access fitness companies”

Recommended: “The requirement for all internal users to see all partner companies but not supplier account means that as my OWD is private. I will have to create a criteria-based sharing rule to share any partner accounts (companies) with all internal users as read only…making them visible but not editable

Pretty obvious how much more you should say than what would you normally expect.

Plus you should recommend only one solution for each specific requirement rather than offer alternatives – exactly the approach I hate, I prefer to have a dialog with customer, point out all the benefits and downsides, but it isn’t wanted here 🙁


The most important part for the exam and the most quick 40 minutes, I would say. The whole exam is not about making you fail and testing your knowledge (as is my experience from school) but rather a nice chat during which you need to show your knowledge.

And it will make your head swirl and wondering what are they asking.

  • why you put files off platform, won’t they fit in? (still not sure I should use the whole file storage for existing files and effectively force customer to buy extra)
  • why single org and not multi-org?
  • describe the SAML flow.
  • do you really consider a few hundered thousands records as LDV? (someone says 5M someone says less, who knows)
  • is Event Monitoring able to block some transactions or you need something else for it? (still struggle to find out what the else is)
  • which Customer Community licence?
  • will you use Enterprise or Unlimited?
  • you really want to delete data as part of LDV mitigation? (sub-optimal solution, you should archive them somewhere first or use 3rd party app)


And with that you are done, doesn’t matter how you feel, you will get the results in a few days or weeks and they will surprise you either way.

I failed and I know about some requirements I didn’t pay enough attention to and which were super easy to solve. It is just hard to know when there is a typo in the scenario and when it is on purpose. Plus when you visualise a solution it is hard to step back and look at it with fresh eyes (still no idea why I used the Asset OAuth Flow in solution and how I couldn’t see the requirement for Salesforce Connect).

Shortcuts and links

  • Robert Wing summary;
  • Integration Options;
  • Identity Flows + great practical examples on Trailhead Live and web site for practical experimenting, I’m not scared about them anymore;
  • Salesforce Connect and ESB is probably in every single scenario;
  • if you propose Territory Management you probably overcombine thing;
  • Ping, Okta, Conga, DocuSign, S-Docs, something for data archival – there aren’t many solutions you need to know, but something like these will be in most scenarios;
  • all the OAuth flows have basically the same concept and structure;
  • use standard objects as much as possible;
  • learn all the sharing things (there are like 22 ways how to share record including the „new“ Account Relationships Data Sharing).

What next

It all started with „want to have the knowledge not the title“ and I wonder whether I should let it be this way or try one more time. Still feel I have the knowledge, I just need to refrain of stupid mistakes.

At the same time I realised that I don’t really like the concept. You need to propose one solution, you cannot have additional questions, you need to be super quick in your presentation. While I prefer to offer alternatives with full list of pros and cons, prefer dialog rather than monologue.

Plus I’m probably more interested in all those clouds Salesforce offers and how they play together, something the planned Solution Architect certification might cover better.

Well, will see. Still need to do a de-brief with my bosses and will see, what they will have in plans for me.

But overall I’m super grateful for the experience, all the support I got. Especially when I look around and see that everyone else doing the same has been at least two positions above me, quite often even more.


I was honored to speak about my failure o Apex Hours and you can check the recording.

Napiš komentář, díky!

Salesforce – how to automate things

This is part of my serie „what we didn’t do during implementation and should„, so you might not find anything interesting or you might just open your eyes wide and say wow! And automating things is definitely the part you probably didn’t do at the beginning but should do now as it is similar to how we are used to do things – crawl -> walk -> run.

So what can you automate, what does it take and how to do it?

There are a few ways how – workflow, process builder, (lightning) flow or APEX. APEX is definitely the most advanced thing, workflow we should forget (even though it still has some great edge use-cases), process builder should be history soon and flow is the way to go for declarative administrator. Let’s speak about process buider (because it is still here) and flows for now.

Process Builder

You can super easily define the rules when something shoud happen. I would say anyone can understand after a few minutes, especially if you ever draw some process diagram. And there is a nice module on Trailhead.

It can run when you create record or after you change it, you can also run it after sometime from any date field you have on your record.

Practical example:

  • when I change opportunity status to Offer sent it will create a task for sales rep to get in touch with customer after a week. If the opportunity is still in the Offer sent status after two weeks, manager will be notified;
  • when opportunity status is change to Closed Won change account status to Customer;
  • when opportunity is not Closed Won or Closed Lost a week after Close Date send email to sales rep to finally decide;
  • send email to customer when the invoice is not paid a week after due date;
  • notify sales rep one month before contract end to get in touch with customer about renewal;
  • notify sales rep a month after opportunity was won to check with customer how it goes.

They might be small things. But those are the things which people will slowly and surely appreciate, because they don’t have to think about them.

One warning – don’t to automation for everything, sometimes report is better. It is great to send info about unpaid invoice to accountant week after due date, but it is maybe even better to create a report which will show the invoices, so they don’t have to go one by one, but can open the report and do the calling in one blast. But maybe they prefer it one by one because they need to mark as „done“ those they called and keep the rest for next day. Meaning you should always know how the users work in the system and tweak it to their work style. And that can change or be changed, because the new system offers so much more. 


Flow can be a bit more complex, especially now-a-days when it is screen flow, before save, after save, run from button, … and a few other types.

It is more like a programming – you have decision elements, assignment elements, loops, get, update, create, plus it can be extended with other components, … but at the end, as long as you are able to draw the process, you should be fine. If not, definitely check Rakesh’s or Jen’s blogs as they both have specific use cases and step by step how to solve them.

When would I use flow instead of process builder?

  • when I need to have screens with some questions, fields for additional information, etc;
  • when the process is more complex – notify sales rep one month before contract end, but not in case there is already a new opportunity.

Why use screen flow?

Well, I understand, it is really easy to create opportunity. You just need to check whether the account and contact already exist, create the opportunity, find the right product and add it. The users should be able to learn it really quickly.

But maybe create some simple wizard, which will ask for account name and if it cannot find it in the database ask for more details. Then offer all contacts to choose from plus fields for a new one. Another screen for opportunity name and close date plus which (one) of your product you want to offer. And then create all the records in the background and open it for you. Sounds easier?

As you can insert the screen flow into Lightning Page you can also do quick setting of some field values. One customer had to update documents and it took a while to open the lookup field on each of them and search for the contact from that exact company. Screen flow, which get all the contacts and just let him choose was a miracle.

Quickly select related record you want to save to lookup field.

Some other examples:

  • assign the right SLAs and working hours to cases;
  • contract creation, which ask a few more details and generated all the relevant documents;
  • NDA generation, which you can start from account but it will create related records in the background and send for approval if needed.

There is great trailmix for flow and some videos. Definitely watch them.

What are your use-cases, what you did and it saves a lot of work for your users? Will you share with me or maybe with Automation Hours webinar?

Napiš komentář, díky!

Co s knížkami?

Knihy mám rád. Dokonce je i rád čtu. A doma máme velkou knihovnu, kterou jsme si kvůli tomu nechali vyrobit. Jednu celou polici zabíral Cook, další zabírají Verneovky, police na cestopisy a průvodce, police na kuchařky a police na spoustu různých dalších skvělých knih, které se tu tak sešly nebo jsme je chtěli.

A pak přišla nutnost mít polici na hry, dětské časopisy a knížky, na tamto a na ono. A při tom všem jsem si uvědomil, že spoustu těch knih už znovu neotevřu a nebudu číst, že to bylo fajn, ale stačilo. Co s nimi?


Kus knih jsme odnesli různě do knihobudek. Neměl jsem náladu s tím vůbec nic dělat, nepovažoval jsem je ani za nějak skvělé, chtěl jsem se jich prostě zbavit. Vyřešeno, jenom jsme je nosili postupně, abychom chudáka knihobudku nezahltili.

Knihovna a domovy důchodců

Další myšlenka byla využít knihovnu a domovy důchodců. Nejdřív ty důchodci – staré časopisy se jim moc líbili a rádi si je vzali, s knihami to nebylo úplně ono.

Knihovny – asi by se knihy vzali, ale musí se to nějak vybírat, nebylo to úplně jednoduché. V každém případě do nich dnes chodíme pravidelně, vždycky tam objevím náhodně něco zajímavého, ale pokud nějakou knížku konkrétně chci, tak si ji pořád asi spíš koupím. Možná i proto, že mám pocit, že ty knihy co chci v knihovnách moc nebývají. Ale musím na to myslet a častěji se po nich dívat.


A pak jsem objevil Reknihy. Vyskládáte knihy na zem, vyfotíte, pošlete fotku a zpátky se vám vrátí, které by si vzali + případně pošlou poukaz na poslání přes Zásilkovnu. Zabalíte, odnesete, zdarma odešlete a pak jenom čekáte, co prodají.

Dřív bylo v pravidlech, že po třech týdnech ty knihy odnesou do knihobudek či jinam za vás, teď už si je nechávají a prodávají pořád, asi i proto se stěhovali zrovna do většího.

Pro mě je důležité, že jsem jim tam poslal asi tři krabice knih, na účet dostal 2 000Kč a ještě tam další knihy na prodej mají, takže možná dostanu ještě něco. A mám z toho takový dobrý pocit, že si ty knihy někdo znovu užije, že jsem něco „vydělal“ a že jsem s tím neměl práci. Za mě dobrý.

Napiš komentář, díky!

What it takes to implement Salesforce for NGO?

When I spoke with SeyitBek on his Salesforce Chef podcast, I told him that I started my Salesforce career in the non-profit world and grow from there. Also a lot of people when they are looking how to start in this ecosystem are recommended to do implementatio for NGO, as the feeling is, that the requirements are pretty simple. And then there is a lot of people with the non-profit experience who warns agains it, because when you do mistake on such implementation, that organisation doesn’t have money to repair it.

The stakes are just too high to try untested skills on a nonprofit’s or a school’s org. Please, only volunteer your current Salesforce expertise.

Lucy Mazalon, Salesforce Ben

What does it take to implement Salesforce for non-profit in Czech Republic?


I would say this is where we start with every single organisation – their donors and donations. It looks simple at first, but it also means integration with banks and on-line donor portals, maybe things like direct debits.

If you want to replicate it, the actual configuration is simple, but you need to develop a lot of custom integrations. If I count correctly we (at CRM pro neziskovky) support around 10 local banks plus Darujme, our biggest on-line donor portal.

It also includes confirmations of gifts, which are needed in Czech Republic on yearly basis.

And slowly but surely it goes towards automation – thank you letters, birthday emails, name days, you name it. Very often we get stuck here – not because it is hard to do, but because they can get complicated. When, to whom, from which email, what if they don’t want our newsletter, what if …


This year the Gmail/Outlook integration get more popular, especially with organisations doing the corporate fundraising. They are aware that they should share the info and that maybe the forwarding of emails is not the way to go.


From fundraising you slowly touch the marketing part. Because you need to show the fundraiser that they are now able to segment the donors, that it can work automatically and dynamically – so far they mark each of them manually and were happy to change it every then and now, but the system can do it for them.

This means reporting, campaign management, show them that they can calculate ROI, that they can segment more and play with different call to actions.

This usually doesn’t mean you need to be marketer or that you will do Marketing Cloud/Pardot or connect with social networks, usually we are not that far.

Grant Management

There are typically three types of fundraiser – individual, corporate and grant. Individual is the typical one I covered above, we don’t usually care much about corporate fundraisers for some reason, but we care about grants a lot.

List of grants which might be open, those they applied for, won or lost, which needs the report how it was used and all the paper work around.

The part they most like about grants is, that the system can notify them when something has to be done.


The next big topic are volunteers. They have all their contacts in Salesforce so it makes sense to have volunteers there as well. Some organisations even go that far that they record what tasks they gave them, rate them, monitor utilisation and such thing.

Usually our first debate – and „mistake“ I see a lot – is, that volunteers are some other „sort of people“, meaning they can be record type of contact in Salesforce or different object all together. And I always say NO, your volunteer most likely is your donor at the same time.

What is nice when you can link volunteers with grants – exactly my experience from one organisation where they had volunteers management in place and added grants and realised they can use grants to reward the volunteers and that they have all the details in the system and can report it automatically without any manual work.

Project Management

Not often we get here. It is great to see all the PM apps on AppExchange and it is usually on the wish list, but most organisations are not that structured to really use it or they already use Asana or Trello and are more than happy there.


It is getting to be normal. I already covered the integrations with banks, but here it is more about marketing automation (read MailChimp or SmartEmailing), some use Slack and feel it might be interesting to integrate.

How much work is it?

First of all – this is a marathon and people usually don’t foresee this. The typical implementation takes a few months. Not because it is that hard or that complex, but because the non-profits struggle with capacity. Our typical counterpart is the fundraiser who still need to get the money for the organisation and on top of that they are responsible for Salesforce implementation.

Quite often we can see that this is the first time people get their hands on such technology, which allow them things they never dreamt of, so the trainings are a bit challenging as well. I mean it looks simple to use but even those a few objects we typically implement – account, contact, campaign, activity and opportunity – are hard to grasp and fully understand.

And when we get to reporting and how we can filter data and play with different charts, that’s usually tought time, because they didn’t think about filtering and slicing the data they have.

All in all be prepared to spend a week of work over next 6 months if you are super quick and pushy, more likely it will take a year. At the same time we are able to do it in 24 hours as well.

Non-profit versus profit implementation

This is my favorite. I got my experience in the non-profit word and when I went through my first interview not many people appreciated it. Like – that’s not real experience.

After all those years I can say that most non-profits have better system in place than most normal companies. They do know how much their typical donor donate, when they donated last time, how much, how often.

Typical business company track all their opportunities but very little care about history, statistics, forecast and such thing. Which is quite surprising.

Business companies have more money for all those integrations, backup solutions, document generation but at the same time wants to save the money as well. So I would say in terms of 3rd parties apps the normal companies usually use about the same number of them as typical non-profit.

Trainings are being quicker for business companies. They are not that afraid of throwing their people and let them swim, at the same time it might mean they are not getting that big values. I would also say that typical NGOs will ask for help with reports for first a few months, which is not the case with companies.

I already covered the speed of the implementation. The typical implementation is about the same in complexity of the result (and I compare here NGO implementation run by one person to corporate implementation with 20+ people on the project) – the end result will be about the same, but the closure of the NGO project will be typically way later, there probably isn’t that strong push to get the ROI back as soon as possible.

I didn’t cover all the differences for sure, but these are the main observations I can put together after all those years. And I would be super interested in seeing how it compares to NGOs around the world. Maybe I’ll find out at the NonProfit Dreamin event which is being scheduled for the beginning of the next year!

Napiš komentář, díky!