---
schema_version: "1"
id: 1021d73d0d997c32c3a914bc32c06c2ff35c8ab87a30c48f52a9f9dd1478d4ed
title: Defining Custom S-Controls
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/dev_scontrol.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.dev_scontrol.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 551cb3f6abed301e49c9cf2f75dec458bbfd51a84abd8443de82c7c24bbaf91a
description: 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.
products:
  - Salesforce Platform
release: "264"
---
# Defining Custom S-Controls

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.

### 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>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d22787e82">User
              Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d22787e82 ">To create, edit, and delete custom s-controls:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d22787e82 ">Customize Application</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.

An s-control can contain any type of content that you can display or run in a browser, for example, a Java applet, an ActiveX control, an Excel file, or a custom HTML Web form.

The custom s-control library is a place where you can store and upload content for use in many areas within Salesforce such as, custom links, Web tabs, custom buttons, and dashboards.

1. From Setup, enter S-Controls in the Quick Find box, then select **S-Controls**.
2. To create a new custom s-control, click **New Custom S-Control**.
3. To change an existing custom s-control, click **Edit**.
4. Enter s-control attributes.
5. To validate all Salesforce merge fields and functions, click **Check Syntax**.
6. Click **Save** when you finish or click **Quick Save** to save and continue editing.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_code-264-0-0-production-enus/789bc523-706b-4ae4-8fe9-be6322e38b6b/images/icon_note.png)
    
    Note If you have a namespace prefix and your s-control references merge fields without their namespace prefix, Salesforce automatically prepends them with your namespace prefix.
7. Create a custom button or link to display the custom s-control to your users. Alternatively, create a Web tab using the custom s-control, add the s-control to a page layout, or add the s-control to a dashboard. You can also use an s-control as online help content for a custom object.

- **[About S-Controls](https://help.salesforce.com/s/articleView?id=platform.dev_about_scontrols.htm&release=264.0.0&type=5)**  
    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.
- **[View and Edit S-Controls](https://help.salesforce.com/s/articleView?id=platform.dev_editing_scontrols.htm&release=264.0.0&type=5)**  
    View and make changes to the details of a custom s-control.
- **[Custom S-Control Attributes](https://help.salesforce.com/s/articleView?id=platform.dev_scontrol_fields.htm&release=264.0.0&type=5)**  
    Find out about custom S-Control attributes.
- **[Delete Custom S-Controls](https://help.salesforce.com/s/articleView?id=platform.deleting_custom_s-controls.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.
- **[Tips on Building S-Controls](https://help.salesforce.com/s/articleView?id=platform.dev_tips_on_building_scontrols.htm&release=264.0.0&type=5)**  
    Use these tips when building s-controls.
- **[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.
- **[Merge Fields for S-Controls](https://help.salesforce.com/s/articleView?id=platform.integrate_merge_fields_sControls.htm&release=264.0.0&type=5)**  
    A merge field is a field you can put in an email template, mail merge template, custom link, or formula to incorporate values from a record.
- **[How Do Visualforce Pages Compare to S-Controls?](https://help.salesforce.com/s/articleView?id=platform.pages_intro_vs_scontrols.htm&release=264.0.0&type=5)**  
    Visualforce pages are considered the next-generation of s-controls and should be used instead of s-controls whenever possible, both for their increased performance and the ease with which they can be written.

#### See Also

- [About S-Controls](https://help.salesforce.com/s/articleView?id=platform.dev_about_scontrols.htm&release=264.0.0&type=5 "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.")
- [View and Edit S-Controls](https://help.salesforce.com/s/articleView?id=platform.dev_editing_scontrols.htm&release=264.0.0&type=5 "View and make changes to the details of a custom s-control.")
- [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.")