[
    {
        "name": "Convert Lead",
        "label": "Convert Lead",
        "type": "Standard",
        "icon": "RefreshCw",
        "objectApiName": "Lead",
        "config": {
            "visibilityCondition": "record.IsConverted != true",
            "convertedState": {
                "readOnly": true,
                "banner": {
                    "variant": "info",
                    "message": "This lead has been converted."
                },
                "links": {
                    "accountField": "ConvertedAccountId",
                    "contactField": "ConvertedContactId",
                    "opportunityField": "ConvertedOpportunityId"
                }
            }
        }
    },
    {
        "name": "ChangeOwner",
        "label": "Change Owner",
        "type": "ChangeOwner",
        "icon": "UserCheck",
        "appliesTo": [
            "Lead",
            "Account",
            "Contact",
            "Opportunity",
            "Case",
            "Campaign",
            "Contract",
            "Order",
            "Task",
            "Event"
        ],
        "config": {
            "visibilityCondition": "record.OwnerId != null"
        }
    },
    {
        "name": "Clone",
        "label": "Clone",
        "type": "Standard",
        "icon": "Copy",
        "objectApiName": "Opportunity"
    },
    {
        "name": "AddProducts",
        "label": "Add Products",
        "type": "NavigateToRelatedList",
        "icon": "PackagePlus",
        "objectApiName": "Opportunity",
        "targetObject": "OpportunityLineItem",
        "config": {
            "visibilityCondition": "record.Pricebook2Id != null",
            "targetObject": "OpportunityLineItem",
            "lookupField": "OpportunityId",
            "productPicker": {
                "catalogObject": "Product2",
                "pricebookEntryObject": "PricebookEntry",
                "lineItemObject": "OpportunityLineItem",
                "parentObject": "Opportunity",
                "parentLookupField": "OpportunityId",
                "parentPricebookField": "Pricebook2Id",
                "productReferenceField": "Product2Id",
                "pricebookEntryField": "PricebookEntryId",
                "catalogSearchFields": [
                    "Name",
                    "ProductCode",
                    "Family"
                ],
                "catalogResultFields": [
                    "Name",
                    "ProductCode",
                    "Family"
                ],
                "pricebookEntryFilters": [
                    {
                        "sourceField": "Pricebook2Id",
                        "targetField": "Pricebook2Id"
                    },
                    {
                        "sourceField": "Id",
                        "targetField": "Product2Id",
                        "sourceObject": "Product2"
                    },
                    {
                        "targetField": "IsActive",
                        "value": true
                    }
                ],
                "pendingLineFields": [
                    "Quantity",
                    "UnitPrice",
                    "Discount",
                    "Description",
                    "ServiceDate"
                ],
                "defaultLineValues": {
                    "Quantity": 1
                },
                "batchCreate": {
                    "targetObject": "OpportunityLineItem",
                    "actionType": "addProducts",
                    "mappingGroups": [
                        {
                            "sourceObject": "Opportunity",
                            "targetObject": "OpportunityLineItem",
                            "actionType": "addProducts"
                        },
                        {
                            "sourceObject": "PricebookEntry",
                            "targetObject": "OpportunityLineItem",
                            "actionType": "addProducts"
                        }
                    ],
                    "allOrNone": false,
                    "errorDisplay": "row"
                },
                "refresh": {
                    "relatedListKey": "opportunity-line-items"
                }
            }
        }
    },
    {
        "name": "EditProducts",
        "label": "Edit Products",
        "type": "NavigateToRelatedList",
        "icon": "Package",
        "objectApiName": "Opportunity",
        "config": {
            "targetObject": "OpportunityLineItem",
            "lookupField": "OpportunityId"
        }
    },
    {
        "name": "Accept",
        "label": "Accept",
        "type": "UpdateStatus",
        "icon": "CheckCircle",
        "objectApiName": "Quote",
        "config": {
            "targetStatus": "Accepted",
            "statusField": "Status",
            "visibilityCondition": "record.Status == 'Approved'"
        }
    },
    {
        "name": "Activate",
        "label": "Activate",
        "type": "UpdateStatus",
        "icon": "CirclePlay",
        "objectApiName": "Order",
        "config": {
            "targetStatus": "Activated",
            "statusField": "Status",
            "visibilityCondition": "record.Status == 'Draft'"
        }
    },
    {
        "name": "CreateContact",
        "label": "New Contact",
        "type": "NavigateToNewRecord",
        "icon": "UserPlus",
        "objectApiName": "Account",
        "targetObject": "Contact",
        "config": {
            "lookupField": "AccountId"
        }
    },
    {
        "name": "CreateContract",
        "label": "Create Contract",
        "type": "NavigateToNewRecord",
        "icon": "FileSignature",
        "objectApiName": "Account",
        "targetObject": "Contract",
        "config": {
            "lookupField": "AccountId",
            "prefillMappings": {
                "OwnerId": "OwnerId",
                "CurrencyIsoCode": "CurrencyIsoCode",
                "Description": "Description",
                "BillingStreet": "BillingStreet",
                "BillingCity": "BillingCity",
                "BillingState": "BillingState",
                "BillingPostalCode": "BillingPostalCode",
                "BillingCountry": "BillingCountry"
            }
        }
    }
]
