Skip to content
Agentmart
Submit a tool

lsc-events-management

Guides Life Sciences Cloud (LSC) Events Management configuration for web and mobile apps.

Skill by SalesforceLabs

IndexedApache-2.0★ 7
Write a review

Chalk Labs

Need help deploying lsc-events-management?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/salesforcelabs-lsc-events-management

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Guides Life Sciences Cloud (LSC) Events Management configuration for web and mobile apps. Use when user asks about Managed Events, MngEvent, Speaker Events, event participants, event resources, event budgets, estimated expenses, event workflow path / stage path / Stage Objects, the Draft → Pending Approval → Approved progress bar, event venues / locations, or LifeSciStageObject / LifeSciStagePath / LifeSciStageValue / LifeSciStageOperation records.

Use cases: productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/lsc-events-management

What's inside

Skill name
lsc-events-management
Description
Guides Life Sciences Cloud (LSC) Events Management configuration for web and mobile apps. Use when user asks about Managed Events, MngEvent, Speaker Events, event participants, event resources, event budgets, estimated expenses, event workflow path / stage path / Stage Objects, the Draft → Pending Approval → Approved progress bar, event venues / locations, or LifeSciStageObject / LifeSciStagePath / LifeSciStageValue / LifeSciStageOperation records.
License
Apache-2.0
Instructions
497 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

## How to Answer Events Management Questions

**Always call MCP tools to get sourced documentation and verify schema before answering.** The Events Management feature was new in LSC 262 and is sparsely documented — assume your training data is incomplete and verify with `describe_sobject` and `run_soql`.

| User asks about... | Call this tool |
|---|---|
| General concepts, workflow path, checklist scripts | `get_lsc_module_docs({ module: "generic-workflow" })` |
| Specific event topic (any) | `search_lsc_knowledge({ query: "<topic>" })` |
| Schema of a specific event entity | `describe_sobject({ objectName: "MngEvent" })` |
| Existing data | `run_soql({ query: "SELECT ... FROM MngEvent ..." })` |
| Picklist values on a Status / Mode / Type field | `run_apex` with `Schema.<Object>.<Field>.getDescribe().getPicklistValues()` |
| Mobile cache config | `list_db_schema({ filter: "MngEvent" })` |
| Validating mobile config | `audit_mobile_config()` |

---

## Data Model — the headline entities

The Events feature centers on `MngEvent` ("Managed Event"). It is a **standard LSC entity**, not custom (no `__c` suffix). Sub-entities follow a `MngEvent*` prefix.

| Entity | Purpose | Notes |
|---|---|---|
| **`MngEvent`** | The event record itself (Speaker Event, Webinar, etc.) | Has Status, Mode, EventStructure, EstimatedBudget, ComplianceAgreementStatus, EventLocationId (Account or Location), and the workflow `Status` field |
| **`MngEventType`** | Catalog of event types (Speaker Event, Webinar) | TargetTemplate ∈ `SpeakerMeeting`, `Presentation`, `DisplaysAndExhibits`, `Sponsored` |
| **`MngEventParticipant`** | Speakers + attendees on an event | `ParticipantId` is polymorphic (Account/Contact/Lead/Expert/User/PartyProfile). `ParticipantType` is free-form picklist. `EventMgmtPtcpTypeRoleMapId` is the only writable type/role linkage — `EventMgmtParticipantTypeId` and `EventMgmtParticipantRoleId` are auto-derived (read-only on insert). |
| **`MngEventResource`** | Venue, catering, A/V, speaker travel | `ResourceType` is free-form picklist (e.g., Venue, Catering, AudioVisual, Travel). `SelectedLocationId` references `Location`. |
| **`MngEventProduct`** | Products on an event | Uses `ProductReferenceRecordId` (polymorphic), **not** `ProductId` |
| **`MngEventBudget`** | Junction Event ↔ Budget | Has `AllocatedAmount` |
| **`MngEventTerritory`** | Junction Event ↔ Territory2 | |
| **`MngEventSession`** | Sub-sessions within an event | |
| **`EstimatedExpense`** | Estimated expense lines | Linked to event via polymorphic `ExpenseSourceId` (NOT `MngEventId`) |
| **`EstimatedExpensePtcpAlloc`** | Allocates an EstimatedExpense across participants | `MngEventId` is **read-only / auto-derived**; `ParticipantId` is the writable lookup to `MngEventParticipant` |

### Configuration entities

| Entity | Purpose | Required fields on insert (besides Name) |
|---|---|---|
| `EventMgmtParticipantType` | Speaker / Attendee categories | `Type` (free-form), `StandardType` (Expert / Attendee / Colleague / etc.) |
| `EventMgmtParticipantRole` | KOL / Tier 1 / Internal Medicine / etc. | `Role` (free-form), `StandardRole` (Expert / Attendee / Organizer / etc.) |
| `EventMgmtPtcpTypeRoleMap` | Junction: Type ↔ Role per `MngEventTypeId` | `Name`, `MngEventTypeId`, `EventMgmtParticipantTypeId`, `EventMgmtParticipantRoleId`, `IsActive` |
| `EventMgmtSvcSpclzn` / `Tier` | Speaker service classification + tiers | |
| `EventMgmtFairMarketValue` | FMV ranges per tier | |
| `ExpenseType` | Dinner / F&B / Speaker Fee / A/V / Travel | `AllocationType` ∈ `GroupAllocation`/`IndividualAllocation`/`MultipleAllocations`/`NotApplicable`; `Classification` ∈ `Estimate`/`Actual`; `ExpenseAvailabilityType` ∈ `Visit`/`ManagedEvent`/`ManagedEventAndVisit` |
| `Budget` / `BudgetMngEventType` | Event budgets and their event-type linkage | |

### Sharing model
| Entity | OWD |
|---|---|
| `LifeSciStageObject` | Private |
| `LifeSciStageAction` | Private |
| `LifeSciStagePath` | ControlledByParent |
| `LifeSciStageValue` | ControlledByParent |
| `LifeSciStageOperation` | ControlledByParent |

The two `Private` entities **must** be shared (owner-based rule with `<allInternalUsers/>` on both `<sharedFrom>` and `<sharedTo>` at Read access) or non-admin users see the error: *"We couldn't load the workflow path for this record. Ask your Salesforce admin for help."*

Criteria-based sharing is **not supported** on these — use `<sharingOwnerRules>`.

---

## Workflow Path (the Draft → Pending Approval → Approved progress bar)

The visual stage tracker shown on the `MngEvent` record page is driven by Generic Workflow (LSC Workflow Management), **not** by picklist values alone.

### Required artifacts (in order)

1. **Picklist values on `MngEvent.Status`** — the controlling field. `MngEvent.Status` is a standard field tied to the `ManagedEventStatus` `StandardValueSet`. Add stage values via metadata deploy:

```xml
<!-- standardValueSets/ManagedEventStatus.standardValueSet-meta.xml -->
<StandardValueSet xmlns="http://soap.sforce.com/2006/04/metadata">
    <sorted>false</sorted>
    <standardValue><fullName>Draft</fullName><default>true</default><label>Draft</label></standardValue>
    <standardValue><fullName>Pending Approval</fullName><default>false</default><label>Pending Approval</label></standardValue>
    <standardValue><fullName>Approved</fullName><default>false</default><label>Approved</label></standardValue>
    <standardValue><fullName>Closed</fullName><default>false</default><label>Closed</label></standardValue>
    <standardValue><fullName>Cancelled</fullName><default>false</default><label>Cancelled</label></standardValue>
</StandardValueSet>
```

⚠ Do **not** try to add a `<valueSet>` to `MngEvent.Status` field XML — `Status` is a standard field and the metadata API rejects custom valuesets on standard fields with: *"You cannot define picklist, globalPicklist, or valueSet on a standard field. Use StandardValueSet instead."*

2. **`LifeSciStageObject`** — registers MngEvent as workflow-enabled.

```apex
LifeSciStageObject so = new LifeSciStageObject(
    Name = 'MngEvent',
    ObjectName = 'MngEvent',
    IsControlledByStagePath = true
);
insert so;
```

3. **`LifeSciStagePath`** — ties the stage object to a controlling field.

```apex
LifeSciStagePath sp = new LifeSciStagePath(
    Name = 'Managed Event Workflow',
    LifeSciStageObjectId = so.Id,
    FieldApiName = 'Status',     // NOT 'StatusFieldApiName'
    Status = 'Active'
);
insert sp;
```

4. **`LifeSciStageValue`** — one record per stage. **Order is implicit by creation order**; there is no `OrderNumber` field. Insert in workflow order.

```apex
insert new List<LifeSciStageValue>{
    new LifeSciStageValue(Name='Draft',            FieldValue='Draft',            LifeSciStagePathId=sp.Id),
    new LifeSciStageValue(Name='Pending Approval', FieldValue='Pending Approval', LifeSciStagePathId=sp.Id),
    new LifeSciStageValue(Name='Approved',         FieldValue='Approved',         LifeSciStagePathId=sp.Id),
    new LifeSciStageValue(Name='Closed',           FieldValue='Closed',           LifeSciStagePathId=sp.Id),
    new LifeSciStageValue(Name='Cancelled',        FieldValue='Cancelled',        LifeSciStagePathId=sp.Id)
};
```

5. **`lsc4ce:LifeSciStagePathContainer` component** placed on the Lightning Record Page (FlexiPage) for `MngEvent`.

From SalesforceLabs/lsc-for-claude, Apache-2.0.

More from SalesforceLabs/lsc-for-claude

Signals

Stars
7
Forks
2
Open issues
0
Last commit (this folder)
Oct 13, 2026 (18 days ago)
Last release
Oct 22, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from SalesforceLabs

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get lsc-events-management running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying lsc-events-management?

CallGet help
Cite this page

lsc-events-management skill. Agent Mart. https://agentmart.dev/skills/salesforcelabs-lsc-events-management (last updated 2026-10-24)