---
schema_version: "1"
id: ac90d620d895f661824a3fd7eb43b472dd0cc40fa6e603cd9c25c5c46bda3fa2
title: Enhance Salesforce with Code
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/extend_code_overview.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.extend_code_overview.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 6c8d79afacd98f99e1a87e6cd821205ffb403ba9aa44c695c16cc6d574e0ed27
description: You can make your Salesforce org even more useful and responsive to your users by developing custom applications and integrating your external applications.
products:
  - Salesforce Platform
release: "264"
---
# Enhance Salesforce with Code

You can make your Salesforce org even more useful and responsive to your users by developing custom applications and integrating your external applications.

It's best to do your development in a sandbox so you can test your code changes before you deploy them. Sandboxes contain copies of your data, code, and configuration settings that are isolated from your production environment. You can customize your organization and test applications in a sandbox, then deploy the changes to your production organization when ready. In some cases, you might have several developers working in different sandboxes who then coordinate those changes for deployment.

- **[Salesforce Development Tools](https://help.salesforce.com/s/articleView?id=platform.development_tools.htm&release=264.0.0&type=5)**  
    Salesforce provides various tools for all phases of app development.
- **[Replacement Tools for Workbench](https://help.salesforce.com/s/articleView?id=platform.replacement_workbench_tools.htm&release=264.0.0&type=5)**  
    Workbench (https://workbench.developerforce.com) is an open-source tool for interacting with your org. However, because Salesforce doesn’t maintain Workbench, we can’t address issues or bugs related to using it. We recommend that you use our alternative and integrated tools instead, such as Code Builder, Salesforce CLI, and VS Code Extensions.
- **[Work With APIs](https://help.salesforce.com/s/articleView?id=platform.work_with_apis.htm&release=264.0.0&type=5)**  
    Salesforce provides programmatic access to your org’s information using simple, powerful, and secure application programming interfaces.
- **[Write Code](https://help.salesforce.com/s/articleView?id=platform.writing_code.htm&release=264.0.0&type=5)**  
    Write code using the Apex programming language to add business logic or use the Visualforce markup language to create the user interface. Integrate your application using APIs and authenticate your external applications.
- **[Debug Your Code](https://help.salesforce.com/s/articleView?id=platform.debugging_your_code.htm&release=264.0.0&type=5)**  
    Use checkpoints, logs, and the View State tab to help debug the code you’ve written.
- **[Test Your Changes](https://help.salesforce.com/s/articleView?id=platform.testing_your_code.htm&release=264.0.0&type=5)**  
    Testing is key to the success of your application, particularly if you deploy your application to customers. If you validate that your application works as expected with no unexpected behavior, your customers are going to trust you more.
- **[Manage Scratch Orgs](https://help.salesforce.com/s/articleView?id=platform.managing_scratch_orgs.htm&release=264.0.0&type=5)**  
    The scratch org is a source-driven and disposable deployment of Salesforce code and metadata, made for developers and automation (CI/CD). A scratch org is fully configurable, allowing developers to emulate different Salesforce editions with different features and preferences.

#### See Also

- [Sandbox Types and Templates](https://help.salesforce.com/s/articleView?id=platform.create_test_instance.htm&type=5&language=en_US)
- [Complete Salesforce Developer Documentation](https://developer.salesforce.com/page/Documentation)