Welcome |
The ReadySuite Scripting API allows you to build custom workflows for adding, modifying, and managing documents within a ReadySuite project. Scripts are written in C# and run inside the ReadySuite host application, giving you full control over document data, fields, and resources.
ReadySuite has two project types, each designed for a different kind of data:
Document Projects are the standard project type. Documents represent load files and productions with associated resources — natives, pages (images), and text (extracted or OCR content). Most of the scripting API (field data, resources, families, progress tracking) applies to document projects.
Chat Projects model conversational data from platforms like Slack, Microsoft Teams, or other messaging systems. Instead of resource files, the data is organized as participants, conversations, and events (messages, joins, reactions, attachments). Each chat event is still backed by a DocumentItem, so the document loop works the same way — but the rich chat data is accessed through a separate ChatProjectItem API. See Chat Projects for details.
Scripts work across both project types. Use ProjectItem.IsChatProject to detect which type you are working with at runtime.
You can write scripts using the built-in script editor inside ReadySuite, which already has the scripting API referenced and ready to go.
If you prefer to work in an external IDE such as Visual Studio or VS Code, reference the Compiled.EDD.Scripting.dll assembly in your project. This assembly contains all the public types, interfaces, and attributes needed to author scripts.
Document Scripts extend ScriptContainer and operate across documents in a project. Use these to add new documents, update field values, manipulate file resources, restructure document families, or build custom reporting workflows.
Field Scripts extend FieldContainer (where T is string, int, float, DateTime, or bool) and compute a value for a single field on each document. Use these when you need a calculated or derived field.
| Topic | Description |
|---|---|
| Building a Script | Script structure, required attributes, options, reports, and external references |
| UI & Options | Property grid controls, field pickers, validation, and all available UI elements |
| Working with Documents | Document iteration, committing changes, creating/removing documents, and progress tracking |
| Choice Fields | Creating and managing single-choice and multi-choice fields |
| Working with Resources | Natives, pages, and text — reading, replacing, and managing file resources |
| Working with Families | Parent-child relationships, attachments, and family restructuring |
| Built-in Utilities | ScriptUtil and PdfUtil helper methods for files, encoding, and PDF processing |
| Chat Projects | Working with chat data — participants, conversations, messages, reactions, and attachments |
| Usage Patterns | Common code patterns for field data, error handling, cancellation, and more |