---
schema_version: "1"
id: 4abf6e381d534032b4377b251cd62bcb8da832095c32c62021978326aebb3e81
title: PluginDescribeResult Class
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_class_Process_PluginDescribeResult.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 2393edc0f0c84f61559f636116653aca2142640aec591222d8df1e222cc5a867
description: Describes the input and output parameters for Process.PluginResult.Creates a new instance of the Process.PluginDescribeResult class.This optional field describes the purpose of the plug-in.The input parameters passed by the Process.PluginRequest class from a flow to the class that implements the Process.Plugin interface.Unique name of the plug-in.The output parameters passed by the Process.PluginResult class from the class that implements the Process.Plugin interface to the flow.
---
# PluginDescribeResult Class

Describes the input and output parameters for Process.PluginResult.

## Namespace

[Process](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_namespace_process.htm "The Process namespace provides an interface and classes for passing data between your organization and a flow.")

![Tip](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/images/icon_note_tip.png)

#### Tip

We recommend using the @InvocableMethod annotation instead of the Process.Plugin interface.

- The interface doesn’t support Blob, Collection, and sObject, data types, and it doesn’t support bulk operations. After you implement the interface on a class, the class can be referenced only from flows.
- The annotation supports all data types and bulk operations. After you implement the annotation on a class, the class can be referenced from flows, processes, and the Custom Invocable Actions REST API endpoint.
- Legacy Apex actions aren’t supported in auto-layout in Flow Builder. Legacy Apex actions are only available to be added in free-form in Flow Builder. Existing actions can be edited in both auto-layout and free-form mode.
- You can customize how invocable actions created with @InvocableMethod appear in Flow Builder by using the InvocableActionExtension metadata file. Control parameter order, add picklists, create custom headers, and build partial custom property editors.

- **[PluginDescribeResult Constructors](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm#apex_Process_PluginDescribeResult_constructors)**
- **[PluginDescribeResult Properties](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm#apex_Process_PluginDescribeResult_properties)**

## PluginDescribeResult Constructors

The following are constructors for PluginDescribeResult.

- **[PluginDescribeResult()](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm#apex_Process_PluginDescribeResult_ctor)**  
    Creates a new instance of the Process.PluginDescribeResult class.

### PluginDescribeResult()

Creates a new instance of the Process.PluginDescribeResult class.

#### Signature

public PluginDescribeResult()

## PluginDescribeResult Properties

The following are properties for PluginDescribeResult.

- **[description](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm#apex_Process_PluginDescribeResult_Description)**  
    This optional field describes the purpose of the plug-in.
- **[inputParameters](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm#apex_Process_PluginDescribeResult_InputParameters)**  
    The input parameters passed by the Process.PluginRequest class from a flow to the class that implements the Process.Plugin interface.
- **[name](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm#apex_Process_PluginDescribeResult_Name)**  
    Unique name of the plug-in.
- **[outputParameters](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult.htm#apex_Process_PluginDescribeResult_OutputParameters)**  
    The output parameters passed by the Process.PluginResult class from the class that implements the Process.Plugin interface to the flow.

### description

This optional field describes the purpose of the plug-in.

#### Signature

public String description {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_string.htm#apex_methods_system_string "Contains methods for the String primitive data type.")

#### Usage

Size limit: 255 characters.

### inputParameters

The input parameters passed by the Process.PluginRequest class from a flow to the class that implements the Process.Plugin interface.

#### Signature

public List<Process.PluginDescribeResult.InputParameter> inputParameters {get; set;}

#### Property Value

Type: [List](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_list.htm#apex_methods_system_list "Contains methods for the List collection type.")<[Process.PluginDescribeResult.InputParameter](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult_InputParameter.htm#apex_class_Process_PluginDescribeResult_InputParameter "Describes the input parameter for Process.PluginResult.")\>

### name

Unique name of the plug-in.

#### Signature

public String name {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_string.htm#apex_methods_system_string "Contains methods for the String primitive data type.")

#### Usage

Size limit: 40 characters.

### outputParameters

The output parameters passed by the Process.PluginResult class from the class that implements the Process.Plugin interface to the flow.

#### Signature

public List<Process.PluginDescribeResult.OutputParameter> outputParameters {get; set;}

#### Property Value

Type: [List](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_list.htm#apex_methods_system_list "Contains methods for the List collection type.")<[Process.PluginDescribeResult.OutputParameter](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Process_PluginDescribeResult_OutputParameter.htm#apex_class_Process_PluginDescribeResult_OutputParameter "Describes the output parameter for Process.PluginResult.")\>