Edit in GitHubLog an issue

photoshopAction

The module that facilitates Actions being performed in the UXP-Photoshop world. You may perform your own batchPlay commands, or attach listeners using this module.

Copied to your clipboard
const {action} = require('photoshop');

Functions

addNotificationListener

23.0

async : Promise<void>

Attach a callback function to one or more Photoshop events. The callback has the form (eventName: string, descriptor: ActionDescriptor) => void.

Copied to your clipboard
await action.addNotificationListener(['open'], onOpenDocumentHandler);

A table of events is available or the introspection methods described under batchPlay may be employed.

Parameters

NameType
events
string[]
callback
NotificationListener

batchPlay

23.0

Promise<ActionDescriptor[]>

Performs a batchPlay call with the provided commands. Equivalent to an executeAction in ExtendScript.

Copied to your clipboard
const target = { _ref: 'layer', _enum: 'ordinal', _value: 'targetEnum' };
const commands = [{ _obj: 'hide', _target: target }];
await action.batchPlay(commands);

Parameters

NameType
commands
ActionDescriptor[]
options?

batchPlaySync

23.1

ActionDescriptor[]

Performs a batchPlay call with the provided commands. Equivalent to an executeAction in ExtendScript.

Copied to your clipboard
const target = { _ref: 'layer', _enum: 'ordinal', _value: 'targetEnum' };
const commands = [{ _obj: 'hide', _target: target }];
await action.batchPlay(commands);

Parameters

NameType
commands
ActionDescriptor[]
options?

getIDFromString

24.0

number

Return the identifier number assigned to an action string value. If the string is not already registered, a new ID will be created and returned.

Parameters

NameType
value
string

recordAction

25.0

Promise<void>

Records this plugin's action to an active Action recording. See Action Recording for usage and manifest requirements.

Copied to your clipboard
await action.recordAction({ name: 'My Command', methodName: 'actionHandler'}, {prop: value} );

When the action is invoked, the following top level JavaScript function will be invoked:

Copied to your clipboard
async function actionHandler(executionContext, info) {
let propValue = info['prop'];
}

Parameters

NameTypeDescription
options
RecordActionOptions
info
ActionDescriptor
Object with action specific information. See Action Recording.

removeNotificationListener

23.0

Promise<void>

Detaches a listener from a Photoshop event. See addNotificationListener

Copied to your clipboard
await action.removeNotificationListener(['open'], onOpenNewDocument);

Parameters

NameType
events
string[]
listener
NotificationListener

validateReference

23.1

boolean

Synchronously validates the given action reference, returning true if it still exists. For example, calling this with a closed document would return false.

This feature is intended for advanced developers who understand well how batchPlay works. Validate reference could get handy when you want to add new DOM functionality or use low-level code for performance optimization.

See Action references for details.

Supported reference classes: action, document, channel, layer, guide, historyState, compsClass, path, actionSet

Parameters

NameType
ref
ActionReference | ActionReference[]
  • Privacy
  • Terms of Use
  • Do not sell or share my personal information
  • AdChoices
Copyright © 2025 Adobe. All rights reserved.