---
schema_version: "1"
id: 169aa24dcce59e6a96958cd4bf9b0fa2cabcf0bbb41d0d1b0750845bb29f688a
title: About S-Controls
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/dev_about_scontrols.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.dev_about_scontrols.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: bdb8a7e7d69f17efb305e47e05157b8e64ef6a5ac5b99d2ab790fc2833b1da4f
description: Use s-controls to add your own functionality to your Salesforce organization. Whether you are integrating a hosted application of your own or are extending your current Salesforce user interface, use s-controls to store your code or refer to code elsewhere. Custom s-controls can contain any type of content that you can display in a browser, for example a Java applet, an Active-X control, an Excel file, or a custom HTML Web form.
products:
  - Salesforce Platform
release: "264"
---
# About S-Controls

Use s-controls to add your own functionality to your Salesforce organization. Whether you are integrating a hosted application of your own or are extending your current Salesforce user interface, use s-controls to store your code or refer to code elsewhere. Custom s-controls can contain any type of content that you can display in a browser, for example a Java applet, an Active-X control, an Excel file, or a custom HTML Web form.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Salesforce Classic</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Contact Manager</strong>, <strong>Group</strong>, <strong>Professional</strong>, <strong>Enterprise</strong>, <strong>Performance</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_code-264-0-0-production-enus/789bc523-706b-4ae4-8fe9-be6322e38b6b/images/icon_important.png)

Important Visualforce pages supersede s-controls. Organizations that haven't previously used s-controls can’t create them. Existing s-controls are unaffected and can still be edited.

## Considerations for S-Controls in Salesforce AppExchange Packages

If you are developing Salesforce AppExchange packages with s-controls or are planning to install a AppExchange package with s-controls, you should be aware of the following limitations:

- For packages you are developing (that is, not installed from AppExchange), you can only add s-controls to packages with the default Unrestricted API access. Once a package has an s-control, you cannot enable Restricted API access.
- For packages you have installed, you can enable access restrictions even if the package contains s-controls. However, access restrictions provide only limited protection for s-controls. Salesforce recommends that you understand the JavaScript in an s-control before relying on access restriction for s-control security.
- If an installed package has Restricted API access, upgrades will be successful only if the upgraded version does not contain any s-controls. If s-controls are present in the upgraded version, you must change the currently installed package to Unrestricted API access.

#### See Also

- [Defining Custom S-Controls](https://help.salesforce.com/s/articleView?id=platform.dev_scontrol.htm&release=264.0.0&type=5 "S-controls provide a flexible, open means of extending the Salesforce user interface, including the ability to create and display your own custom data forms.")
- [Useful S-Controls](https://help.salesforce.com/s/articleView?id=platform.dev_useful_scontrols.htm&release=264.0.0&type=5 "Use these samples to get started using s-controls.")
- [How Do Visualforce Pages Compare to S-Controls?](https://developer.salesforce.com/docs/atlas.en-us.pages.me../../pages/pages_intro_vs_scontrols.htm)