# Custom actions

> For the complete documentation index, see [llms.txt](https://developers.thoughtspot.com/docs/llms.txt)

Source: https://developers.thoughtspot.com/docs/custom-action-intro

# Custom actions

ThoughtSpot provides a set of standard menu commands and buttons, controlled via [actions]({{navprefix}}/{{embed-actions}}).

Custom actions add a new menu item to one of the following UI elements:

-   the primary menu bar
    
-   the **More** options menu ![the more options menu](/docs/doc-images/images/icon-more-10px.png)
    
-   the contextual menu that appears when a user right-clicks on an Answer or visualization  
    

Custom actions in ThoughtSpot can be implemented in two different ways:

-   Custom actions through the UI
    
-   Custom actions done programmatically (code based)
    

## Custom actions in the ThoughtSpot UI

You must [create custom actions]({{navprefix}}/{{customize-actions-menu}}) in the **Develop** > **Customizations** > **Custom actions** page of the ThoughtSpot UI.

After a custom action has been created, there are several options for assigning how and where the custom action will appear:

-   [Assign custom actions to an answer or a visualization on a Liveboard]({{navprefix}}/{{custom-actions-viz}})
    
-   [Assign custom actions to a Model]({{navprefix}}/{{custom-actions-worksheet}})
    
-   [Set the menu position of a custom action]({{navprefix}}/{{custom-actions-edit}})
    

## Code based custom actions

Code-based custom actions are custom menu items that you define within the application’s code through the Visual Embed SDK.

These custom actions add a new menu item to one of the following UI elements in an Answer, Liveboard, visualization, or in the Spotter interface:

-   the primary menu bar (except for Spotter)
    
-   the **More** options menu ![the more options menu](/docs/doc-images/images/icon-more-10px.png)
    
-   the contextual menu that appears when a user right-clicks on an Answer or visualization (not for Liveboard)
    

For more information, see [Code based custom actions]({{navprefix}}/{{code-based-custom-actions}}).

## Ways for embedding apps to receive custom actions

**[Callback actions]({{navprefix}}/{{custom-actions-callback}})**  

-   Pass data and metadata from ThoughtSpot to the embedding page as an event.  
    
-   Can be done through the ThoughtSpot UI or in the code through ThoughtSpot’s Visual Embed SDK.
    

**[URL actions]({{navprefix}}/{{custom-actions-url}})**  

-   POST data directly to a specific web page or API endpoint destination.  
    
-   Only available through the ThoughtSpot UI.
    

## Features comparison

  
| Feature | Custom actions through the UI | Code based custom actions |
| --- | --- | --- |
| 
Type

 | 

Callback actions

URL based actions

 | 

Callback actions

 |
| 

Scope

 | 

Answers

Visualizations

Models

 | 

Answers

Liveboards

Visualizations

Models

Model columns

 |
| 

Sharing

 | 

User groups

 | 

User groups

Orgs

 |
| 

Liveboard menu

 | 

\-

 | 

Primary menu

More menu

 |
| 

Visualization menu

 | 

Primary menu

More menu

Contextual menu

 | 

Primary menu

More menu

Contextual menu

 |
| 

Answer menu

 | 

Primary menu

More menu

Contextual menu

 | 

Primary menu

More menu

Contextual menu

 |
| 

Spotter

 | 

More menu

 | 

More menu

Contextual menu

 |