Playbooks User Guide
This guide provides step-by-step instructions for creating, configuring, and managing playbooks in the &Money Management UI.
Getting Started
Prerequisites
Before creating playbooks, ensure you have:
- Admin access to the Management UI
- Understanding of your business workflow requirements
Accessing Playbooks
- Log in to the Management UI
- Navigate to the Admin section in the left sidebar
- Select Playbooks from the admin menu
You’ll see the Playbooks overview page displaying existing playbooks with their names and block counts.
Creating a Playbook
Step 1: Open the Creation Modal
Click the “Create” button on the Playbooks page to open the creation modal.

Step 2: Configure Basic Information
- Enter Playbook Name:
- Use a descriptive name that clearly indicates the playbook’s purpose
- Example: “Customer Meeting Summary Playbook”
- This field is required
Step 3: Configure the Trigger Block
Every playbook must start with a Trigger block:
- Block Name: Default is “Trigger block” (can be customized)
- Block Type: Automatically set to “Trigger” (cannot be changed)
- Trigger Type: Select from the available options
Step 4: Add Additional Blocks
Click “Add block” to add more blocks to your playbook:

For each new block:
- Enter Block Name:
- Use descriptive names (e.g., “Entity Pattern Read Block”)
- Select Block Type:
- AI: For AI/ML processing
- EntityPatternRead: To fetch data from the CRM system
- EntityPatternCreate: To create data in the CRM system
- EntityPatternFilter: To add filters used in your entity pattern read blocks.
- Template: To fetch a defined template
- Output: To produce results
- Note: Additional block types, File and Input are defined but not yet fully implemented
- Configure Block Value:
- For AI blocks: Enter the Capability ID
- For Entity Pattern blocks: Select or enter the Entity Pattern ID
- Value requirements vary by block type
Step 5: Configure Block Relations (Advanced)
To add input relations and transformations between blocks:
- Select a Configured Block:
- Ensure the block has both type and value configured
- Click the edit button (pencil icon) on the block
- Add Input Relations:
- Click “Add map”
- Select Source Block: Choose a block that executes before the current block
- Specify Source Field: The output field from the source block
- Define Destination Field: Where to map the data in the current block
- Apply Transformation (optional): Select transformation type if data needs to be modified
- Important Notes:
- Blocks can only configure their own input relations
- Source blocks must execute before the current block in the flow
- Each relation creates a data pipeline from source to destination
Step 6: Save the Playbook
Once all blocks are configured:
- Review your configuration
- Click “Create playbook” to save
- The playbook will be created and appear in the playbooks list
Block Configuration Details
Trigger Block Configuration
The Trigger block determines when and how your playbook executes. Currently implemented trigger type:
PortalMeetings Trigger:
- Activates when portal meetings are created or updated
- Provides real meeting data:
MeetingId: Meeting identifier (GUID)SalesforceId: Salesforce record IDTitle: Meeting titleDescription: Meeting descriptionType: Meeting typeBookedBy: Person who booked the meetingRoom: Room information objectMeetingOwner: Primary advisor objectAdditionalAdvisors: List of additional advisor objectsExternalAttendees: List of external attendee objectsTheme: Meeting themeThemeId: Theme identifier (GUID)CustomerCategory: Customer category classificationStartDate: Meeting start date and timeEndDate: Meeting end date and timeCpr: CPR number (confidential data)CustomFields: Key-value pairs of custom fields
- Useful for meeting-related workflows
Note: Additional trigger types (TranscriptReady and CustomerOverview) are defined but may not be fully integrated yet.
AI Block Configuration
AI blocks integrate artificial intelligence capabilities:
- Select AI as Block Type
- Enter Capability ID:
- Each capability has a unique identifier
- Contact your administrator for available capability IDs
- Configure Input Relations:
- Map data from previous blocks
- Define variable names for the AI capability
Example Capability IDs:
- Meeting summarization
- Creating customer emails from meeting summaries
New AI operations can quickly be added on demand based on your specific business needs.
EntityPatternRead Block Configuration
EntityPatternRead blocks retrieve data from Salesforce:
- Select EntityPatternRead as Block Type
- Enter Entity Pattern ID:
- Select from available Entity Patterns
- Each pattern represents a specific Salesforce entity type
- Configure Input Relations:
- Map search criteria from previous blocks
- Define which fields to retrieve
- Outputs: Structured Salesforce data that can be used by subsequent blocks
Output Block Configuration
Output blocks define what the playbook returns:
- Select Output as Block Type
- Configure What to Output:
- Select data from previous blocks
- Define the output structure
- Map Input Relations:
- Connect results from AI or EntityPattern blocks
- Format the final output
Working with Relations and Transformations
Understanding Relations
Relations define data flow between blocks. Critical concept: Each block can only configure its own input relations - blocks cannot push data to other blocks, they can only pull data from previous blocks.
- Input Relations: Data received by a block from previous blocks
- Source Block ID: The block providing the data (must execute before current block)
- Source Field: The specific output field from the source block
- Destination Field: Where to map the data in the current block
Adding Input Relations
To add an input relation to a block:
- Ensure Block is Configured:
- Block must have both type and value set
- Only then will the edit button be enabled
- Open Block Editor:
- Click the edit (pencil) icon on the block
- This opens the relation configuration panel
- Add Input Relation:
- Click “Add map”
- Configure the following fields:
Source Block ID: [Select from dropdown of previous blocks] Source Field: customer.id (the output field from source block) Destination Field: customerId (where to map in current block) Transformation: [Optional - Identity, Project, Extract, Join, or Split]
- Save the Configuration:
- Click Save to apply the relation
- The block will now receive data from the source block

Visual Guide: Using the Relation Builder
The Relation Builder provides an intuitive interface for creating input relations between blocks.
Opening the Relation Builder
- Prerequisites:
- Block must have both type and value configured
- Example: AI block with Capability ID set
- Access the Builder:
- Click the edit (pencil) icon on the block
- Click “Add map” button
- Select source block
- Click the icon in the input field for Source field or destination field to open
- The Relation Builder modal opens
Relation Builder Interface
The Relation Builder modal contains:
Top Section - Breadcrumb Navigation:
- Shows your current path:
Home > Email from summary - Helps track your location in nested structures
Middle Section - Field Selection:
- Field Dropdown: Shows available fields at current level
- Examples:
customer,meeting,transcript
- Examples:
- Selection Type (for arrays):
- “First” - Select first item only (
contacts[0]) - “All” - Select all items (
contacts)
- “First” - Select first item only (
Bottom Section - Actions:
- Cancel: Close without saving
- Save: Create / update the playbook (enabled when path is back to home)

Example: Creating a Complex Relation
Scenario: Connect customer contact email to AI block
- Open Relation Builder on AI block
- Navigate the structure:
Step 1: Select "customer" from root fields Step 2: Select "contacts" (array field appears) Step 3: Choose "First" for selection type Step 4: Select "email" from contact fields - Generated Path:
customer.contacts[0].email - Configure Mapping:
- Source Block: EntityPatternRead
- Source Field: (path from builder)
- Destination Field: contactEmail
- Click Save to apply the relation
Configuring Transformations

Transformations modify data as it flows between blocks:
Identity Transformation (Default):
- Passes data unchanged
- Direct field mapping
Project Transformation:
- Extracts specific fields
- Example: Extract
nameandemailfrom customer objectInput: {customer: {name: "John", email: "john@example.com", age: 30}} Project: ["customer.name", "customer.email"] Output: {name: "John", email: "john@example.com"}
Extract Transformation:
- Gets single value from complex structure
- Example: Extract customer ID from nested object
Input: {data: {customer: {id: "123"}}} Extract: "data.customer.id" Output: "123"
Join Transformation:
- Combines data from multiple sources
- Example: Merge customer and meeting data
Input1: {customerId: "123", name: "John"} Input2: {meetingId: "456", date: "2024-01-15"} Output: {customerId: "123", name: "John", meetingId: "456", date: "2024-01-15"}
Split Transformation:
- Divides data into separate outputs
- Example: Split comma-separated values
Input: "value1,value2,value3" Split: "," Output: ["value1", "value2", "value3"]
Managing Existing Playbooks
Viewing Playbooks
The Playbooks page displays:
- Name: Playbook identifier
- Blocks: Number of blocks in the playbook
- Actions: Edit and delete options
Editing Playbooks
To edit an existing playbook:
- Click the edit icon (pencil) in the actions column
- Modify the configuration as needed
- Save changes
Deleting Playbooks
To delete a playbook:
- Click the delete icon (trash can) in the actions column
- Confirm the deletion
- Note: Deletion cannot be undone
Best Practices
Planning Your Playbook
Before creating a playbook:
- Define the Goal: What should the playbook accomplish?
- Identify Data Sources: What information is needed?
- Map the Workflow: List the steps in sequence
- Determine Outputs: What results are expected?