KamoCRM

Meetings_join is JOIN_MEETING, not PLACE_CALL, and an unnamed JOIN_MEETING does not ask

FixMCPGatewayService
Shipped
October 14, 2026 at 11:04 PM UTC
Author
Kamo
Commit
be2a15a

Owner 2026-10-14: Luna (crm) asked the owner to approve joining a meeting he had told her to join; meetings_join was classed PLACE_CALL, so the charter's "Placing phone calls: ask for approval first" applied (approvals 3f6fe9fc, 4ad68782). Joining one of the org's meetings is not a phone call: meetings_join is now JOIN_MEETING (shared-lib 2d2f2efd), still needing VIEW_MEETINGS and keeping maxCallsPerDay. Its dial-in fallback dials the meeting's bridge from the SI's own line (kamoai-service KM1, kind MEETING); its plan names no outside recipient, so the outreach gate never treats it as a customer call. CharterPolicy: an unnamed JOIN_MEETING (absent from a charter resolved before SecurityService knew the class, or at its DEFAULT level) executes before the autonomy ceiling, as SEND_INTERNAL_MESSAGE does, except for a SHADOW SI and under a fail-closed charter; a layer that names it (an admin's rule for meetings) is followed as any class. ActionClasses appends JOIN_MEETING, unlisted by approvals_request (meetings_join asks for itself), so a PLACE_CALL redirect now names phone_call alone and its PREFERRED entry goes. Snapshots change for meetings_join's actionClass only. Tests: CharterPolicyTest (unnamed and absent execute for SUPERVISED and AUTONOMOUS, SHADOW and fail-closed ask, a named rule is followed, a FORBIDDEN PLACE_CALL leaves it alone), RegistryCompletenessTest, ApprovalsPackTest, ApprovalsCoverageTest, CalendarAndMeetingsPackTest, ToolListParityTest, McpToolJsonTest, BasisArgumentTest

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing