Intro to the Salesforce Developer Universe

For Tableau Developers looking to learn more about the developer resources for Salesforce, Slack, MuleSoft and Heroku.

As a Tableau Visionary and DataDev Ambassador, I was excited to have participated in my first Salesforce conference: TrailblazerDX’23. The conference took place in San Francisco on March 7-8, 2023, and is designed for developers working with the ecosystem of Salesforce products, including Tableau, Slack, and MuleSoft. During these 2 days, I participated in many insightful sessions and hands-on workshops and left San Francisco wanting to learn more. I know my way around Tableau developer tools and available learning resources, but when it comes to a wider family of Salesforce products, I’m a total newbie. 

Anya and Flo the Salesforce Character

Anya at TDX posing with Salesforce Character Flo.

If you are in the same boat, then welcome to my guide to developer resources for Salesforce, Slack, and MuleSoft. In this blog, I will provide you with an overview of the developer tools available for each platform and the resources you need to get started.

Salesforce Developer Tools

Salesforce is a customer relationship management platform that offers a number of APIs that you can use to automate interaction with the platform, as well as a wide range of developer tools to help you create custom applications and integrations. You can browse the complete list of technologies on the Developer Centres page, where they are grouped by function or by industry.

Here are some of the most popular Salesforce developer tools:

  • Salesforce DX: It is a modern development environment that makes it easy to build and deploy applications on the Salesforce platform. It includes features like source control, continuous integration, and automated testing. You can start with the Salesforce DX developer guide to learn what capabilities are available and install Salesforce command-line interface (CLI) to streamline your development process.
  • Lightning Web Components: Lightning Web Components is a component-based framework used to build web applications on the Salesforce platform. It's based on open web standards like HTML, CSS, and JavaScript and can be used to create reusable components for your applications. The Components library is a great repository of components that you can start using right away.
  • Salesforce Flow: One of the recent developments, Salesforce Flow enables teams to automate processes for apps, experiences, and portals with declarative tools. You can use the intuitive drag-and-drop Flow Builder interface, or expand your flow-building options by developing custom Apex actions and Lightning web components, or by integrating it with MuleSoft and other web services.
  • Apex: Apex is a programming language used to develop custom business logic and integrations on the Salesforce platform. It's similar to Java and C# and is used to write triggers, classes, and controllers. If you need some help to get started, why not ask Einstein GPT to automate some of the manual tasks?

Once you get familiar with the basics, I would recommend exploring the code samples and SDKs repository to find inspiration for your next project and learn best practices.

Slack Developer Tools

Slack is a popular team collaboration platform that offers a wide range of developer tools to help you build custom integrations and bots to automate standard workflows.

The introductory guide to the Slack platform is a good starting point. Here you can learn about the best practices, understand how to design and implement custom Slack apps, and automate manual processes related to a workspace administration. Once you understand the basics, you can start building with the following Slack developer tools:

  • Slack APIs and SDKs: These tools are used to build custom integrations and bots for the Slack platform. They provide a wide range of functionality, including sending messages, creating channels, and managing users.
  • Bolt: Bolt is a JavaScript framework used to build custom Slack apps and bots. It includes features like event handling, message processing, and user authentication.
  • Block Kit Builder: You can see how your Slack app will look like even before you build it with the Block Kit. This framework provides you with a simple drag-and-drop interface to design and perfect your app, as well as a collection of app templates if starting from scratch sounds too intimidating.

Still don’t know how you can leverage these tools to take your Slack workspace to the next level? Explore the Slack App Directory to get some ideas or enable existing apps.

MuleSoft Developer Tools

MuleSoft is an integration platform that offers a wide range of developer tools to help you create custom integrations and APIs. There is a dedicated page with self-paced short courses of different levels that you can start with. Or you can follow one of the MuleSoft learning paths that are tailored to a specific role.

If you are completely new to APIs and would like to first understand how and why they might benefit your organization, enrol in MuleSoft’s API University to learn the basics of designing and using APIs.

Here are some of the most popular MuleSoft developer tools:

  • MuleSoft API Designer: This is a web-based development environment used to design and document RESTful APIs on the MuleSoft platform. It includes features like visual modeling, documentation generation, and versioning.
  • Anypoint Studio: Anypoint Studio is a graphical development environment used to build custom integrations and APIs on the MuleSoft platform. It includes features like drag-and-drop design, API management, and data mapping.

Heroku

Heroku is a cloud platform that enables developers to deploy, manage, and scale applications. It supports many popular languages and frameworks, including Ruby, Python, Java, and Node.js, and can be integrated with other Salesforce products. To start your journey with Heroku, you can use the Getting Started with Heroku guide on the Heroku Dev Center. This guide walks you through the process of setting up a Heroku account, installing the Heroku CLI, and deploying your first application. Additionally, the Heroku Dev Center provides a wide range of documentation on topics such as deploying applications, scaling, and managing add-ons, as well as links to other learning resources.

Bonus section: Tableau Developer Tools

If you are also interested in learning about tools to automate and extend Tableau, this section is for you. The first place to start learning about the various APIs and extensions available is the Tableau Developer Platform. Here you can find the documentation, learning resources, and walk-through projects, as well as the link to claim your personal developer sandbox on Tableau Cloud. Another benefit of joining the portal is access to the Slack community and developer previews for new Tableau APIs when they become available. 

Here are some of the most popular Tableau developer tools to get you started:

  • REST API: If you are managing a Tableau Server or a Tableau site, you most likely have a list of manual tasks that you wish to automate. Then this API is your solution. You can use it to automate the creation or updates of data sources, projects, workbooks, site users, sites, Prep flows, and more. 
  • Hyper API: This API is great if you need to interact with Tableau extract (.hyper) files programmatically. You can use this API to create new extracts (even for data sources that are currently not supported directly by Tableau) or update existing extracts.  
  • Metadata API: Have you ever wanted to know which dashboards will be impacted if a field from a data source is deleted? Use the Metadata API which can help you to explore the information about the content on your Tableau Cloud site or Tableau Server and easily track the lineage between data sources, workbooks, and other types of content. 
  • Embedding API: This API allows you to embed dashboards in any website or a custom-built application to share data with users outside your organization. You can also use the API to embed visualizations into existing business applications like Salesforce and Microsoft Sharepoint.
  • Analytics Extension API: This API can be used to extend calculated fields directly in Tableau workbooks to dynamically include programming languages like Python or R. You can use the API to run advanced statistical models in Tableau in real-time and update the results based on users’ inputs. 

Trailhead modules

When you want to learn about Salesforce, there is no better way than to start with some Trailhead modules. I have selected several that should give you a good intro to developer tools mentioned above:

  • Developer Beginner: This trail provides an extensive introduction to working with Apex and Salesforce developer tools, and will help you to apply your existing development skills to build apps on the Salesforce Platform.
  • Salesforce DX: This module provides an introduction to using Salesforce DX for application development on the Salesforce platform. You will learn how to set up a Salesforce DX project, create a scratch org, and use source control to manage your code. Additionally, you will learn how to deploy your code to a production org and how to automate your testing process.
  • Apex Basics & Database: This is an introduction to Apex programming basics and how to use the language to create custom business logic on the Salesforce platform. You will learn how to write Apex triggers, classes, and controllers to automate common business processes, as well as how to use the Salesforce database to store and retrieve data.
  • Lightning Web Components Basics: This module will help you to get started with Lightning Web Components to build web applications on the Salesforce platform. You will learn how to use open web standards like HTML, CSS, and JavaScript to create reusable components for your applications, as well as how to use the Lightning Design System to create a consistent user experience.
  • Automate Your Business Processes with Salesforce Flow: If you are interested in automation of everyday business processes using Salesforce Flow and other developer tools, this trail is for you. Take your new skills further and learn how to build, test and deploy flows by completing the Build Flows with Flow Builder trail.
  • Slack App Development: If you are interested in Slack automation, this trail will introduce you to custom integrations and bots for the Slack platform. You will learn how to use the Slack API to send messages, create channels, and manage users, as well as how to use Bolt's event handling, message processing, and user authentication features to create a seamless user experience.
  • Become an Integration Champion: This module provides an introduction to managing and securing APIs on the Mulesoft platform using tools like Anypoint platform. You will learn how to use API gateway to control access to your APIs, as well as how to use analytics to monitor your API performance.
  • Build Great APIs and Integrations with MuleSoft: This trail provides an introduction to using Anypoint Studio and MuleSoft API Designer to build custom integrations and APIs. You will learn how to use visual modeling to design your API, as well as how to use documentation generation and versioning to manage your API lifecycle.
  • Develop Apps with Heroku: Follow this trail to learn the basics of building and deploying apps on Heroku Enterprise platform. There is also a dedicated module on how to integrate Heroku apps with different Salesforce products.
  • Tableau Developer Platform: This trail is a great way to get an overview of Tableau Developer platform features, available tools, and potential use cases.
  • Embed Tableau Visualizations in Salesforce: This short trail walks you through a project where you embed an existing Tableau dashboard in Salesforce using the Viz Lightning web component.
  • Tableau Automation with MuleSoft Composer: After completing this hands-on trail, you will learn how to use MuleSoft Composer to automate the sync of Salesforce data to the corresponding data source in Tableau.  

Join a community

Becoming a part of a community can be a great way to enhance your learning and benefit from the experience of seasoned developers. Join one of the developer communities below:

You can also subscribe to the Salesforce Developers YouTube channel to see what other community members are working on.