---
schema_version: "1"
id: e53971bd48c794862e24027eea89baa281226e810bab2ef83862ae1076a9fbf1
title: Customize Case Feed Actions with Visualforce
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/case_feed_dev_guide/guides/customize/case-feed-dev-guide-visualforce.md
canonical_url: https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-visualforce.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: d2b632ed521ae21b7c16d5f6f3d55ca3575ea5dc057b623c9f33ef1add62e251
products:
  - Publisher and Quick Action Developer Guide
  - Platform Developer Content
---

# Customize Case Feed Actions with Visualforce

The Salesforce-provided Case Feed Visualforce components enable you to create a customized page within a Salesforce Classic app. To create custom Salesforce console components that interact with Case Feed actions, publish the Case Feed-related events using the `publish` method on the `Sfdc.canvas.publisher` object in the Salesforce Classic Publisher JavaScript API.

**important:** This section of the guides focuses on customizing the Case Feed in a Salesforce Classic console app. However, you can use the Visualforce components in Salesforce Classic apps with standard navigation that use the case object, too. You can also use the Case Feed Visualforce components in Lightning Experience. However, there are some issues with refresh for certain Visualforce components. We recommend that you use these components in Salesforce Classic only.

## Requirements

Before customizing Case Feed in the Salesforce console, make sure that:

- Case Feed, Chatter, and feed tracking on cases are enabled in your organization.
- Your organization has at least one Salesforce console app. For more information, see [Set Up a Salesforce Console App in Salesforce Classic](https://help.salesforce.com/articleView?id=console2_define_app.htm).
- You’re familiar with developing with Visualforce. Check out the [Visualforce Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/) for a comprehensive overview.

**note:** Lookup field filters aren’t supported on any of the Case Feed Visualforce components.

## Assigning Custom Pages to Users

Generally, when you create a custom Case Feed page using Visualforce, it’s not possible to assign that page only to certain users while allowing other users to see the standard Case Feed page. However, with the `support:CaseFeed` component, you can create a page that replicates the standard Case Feed page, assign that page to certain users, and then create a custom page to assign to a different set of users. See [Replicating a Standard Case Feed Page](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-case-feed-component.md) for more information.

## Customization Overview

Here are the Case Feed Visualforce components.

| Component Name                                                     | Description                                                                                 |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
| [apex:emailPublisher](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-email-publisher.md)      | Displays and controls the appearance and functionality of the Case Feed Email action.       |
| [apex:logCallPublisher](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-log-call-publisher.md) | Displays and controls the appearance and functionality of the Case Feed Log a Call action.  |
| [support:caseArticles](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-articles-tool.md)       | Displays and controls the appearance and functionality of the Articles tool for cases.      |
| [support:CaseFeed](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-case-feed-component.md)     | Replicates the standard Case Feed page, including all standard actions, links, and buttons. |
| [support:portalPublisher](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-portal-publisher.md) | Displays and controls the appearance and functionality of the Case Feed Portal action.      |

In addition, the [chatter:feed](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/guide/case-feed-dev-guide-general-customizations.md) component has two attributes related to Case Feed.

- `feedItemType`: Lets you specify how feed items are filtered.
- `showPublisher`: Lets you display the Chatter publisher on a page.

Here are the Publisher JavaScript APIs.

| Method Name                                                                           | Description                                                                                                  |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [customActionMessage](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/quickactions/case-feed-dev-guide-component-interactions.md)  | Passes a custom event to a custom action. Supported for Visualforce-based custom actions only.               |
| [invokeAction](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/quickactions/case-feed-dev-guide-component-interactions.md)         | Triggers the submit function (such as sending an email or posting a portal comment) on the specified action. |
| [selectAction](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/quickactions/case-feed-dev-guide-component-interactions.md)         | Selects the specified action and puts it in focus.                                                           |
| [refresh](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/quickactions/case-feed-dev-guide-component-interactions.md)              | Refreshes the current record page.                                                                           |
| [setActionInputValues](https://developer.salesforce.com/docs/platform/case-feed-dev-guide/quickactions/case-feed-dev-guide-component-interactions.md) | Specifies which fields on the action should be populated with specific values, and what those values are.    |
