Invocable actions
As a developer, you should aim to write code that is reusable and allows different parts of your system to leverage work already done. As discussed earlier, Apex code is the best option for delivering complex business logic within our system, and we will want to make some of these actions available to declarative developers. This will allow this logic to be reused, improving the time for the business to deliver and increasing the number of ways in which the logic or action could be used.
As an example, I have an application on AppExchange1 that allows organizations to send business-critical messages via SMS or Viber to customers. When developing the app, a key consideration was how I anticipated customers extending their applications to use the logic I had written that would call the various APIs on an external platform to send the messages. Not only would this likely be done by end users through the user interface, but developers and administrators would likely...