Skip to main content

    Campaigns & Workspace Organization

    Organize drug discovery projects with campaigns that group related chats, jobs, and results.

    campaignsworkspaceorganizationprojects

    Difficulty

    beginner

    The ivybloom CLI is the scriptable surface for the platform, and campaigns are how you group related chats, jobs, and results into logical workstreams within a project. Reach for campaigns when a script generates work that belongs together — a hit-to-lead effort, a screening campaign, or a target validation run — and you want it organized rather than scattered. They keep large, long-running pipelines navigable; for the full command surface, see the CLI overview.

    Campaigns & Workspace Organization (since v0.8.10)

    Organize drug discovery projects with campaigns that group related chats, jobs, and results.


    Overview

    Campaigns are organizational units within projects. They group related chats and jobs into logical workstreams — such as a hit-to-lead campaign, a screening campaign, or a target validation effort.

    Project
    ├── Campaign: "EGFR Lead Optimization"
    │   ├── Chat: "Docking analysis"
    │   ├── Chat: "ADMET screening"
    │   └── Jobs: [dock_001, admet_002, ...]
    └── Campaign: "BRCA1 Target Validation"
        ├── Chat: "Structure prediction"
        └── Jobs: [fold_003, prep_004, ...]

    Campaign Commands

    List Campaigns

    ivybloom campaigns list

    View Campaign Details

    ivybloom campaigns info CAMPAIGN_ID

    Create a Campaign

    ivybloom campaigns create "EGFR Lead Optimization" --description "Hit-to-lead campaign for EGFR inhibitors"

    Delete a Campaign

    ivybloom campaigns delete CAMPAIGN_ID

    Deleting a campaign removes all associated chats. Jobs are preserved but unlinked.


    Scoping Operations with -c

    Use the -c flag to scope CLI operations to a specific campaign:

    # Start a chat within a campaign
    ivybloom -c CAMPAIGN_ID
    
    # List chats in a campaign
    ivybloom chats list --campaign CAMPAIGN_ID
    
    # Submit a job within a campaign context
    ivybloom -c CAMPAIGN_ID -m "Fold EGFR and find binding sites"

    Campaign Chats

    List Chats in a Campaign

    ivybloom chats list --campaign CAMPAIGN_ID

    Create a Chat in a Campaign

    ivybloom chats new --campaign CAMPAIGN_ID

    View Chat History

    ivybloom chats history CHAT_ID --limit 50

    Export a Chat

    ivybloom chats export CHAT_ID --format markdown
    ivybloom chats export CHAT_ID --format json

    MCP Operations

    Commands marked with MCP are available via ivybloom mcp serve for AI agent integration. They do not have dedicated CLI subcommands.

    Additional campaign operations available via MCP:

    OperationMCP ToolDescription
    Archivecampaigns_updateMark campaign as inactive
    Duplicatecampaigns_createClone a campaign structure

    Workflow Examples

    Hit-to-Lead Campaign

    ivybloom campaigns create "EGFR Hit-to-Lead" --description "Optimize hits from primary screen"
    ivybloom compounds create "EGFR Hits" --project PROJECT_ID
    ivybloom compounds import COLL_ID hits.csv
    ivybloom batch submit admet-screen.yaml
    ivybloom -c CAMPAIGN_ID -m "Summarize the ADMET results and identify the top 10 drug-like compounds"

    Screening Campaign

    ivybloom campaigns create "Library Screen" --description "Virtual screen of vendor library"
    ivybloom compounds create "Vendor Library" --project PROJECT_ID
    ivybloom compounds import COLL_ID vendor-library.sdf --skip-duplicates
    ivybloom proteinprep run target.pdb --detect-sites --wait
    ivybloom batch submit docking-screen.yaml --wait
    ivybloom batch collect BATCH_ID --format csv --output docking-results.csv

    Was this page helpful?

    Loading...