Skip to content

feat(monaco): add Monaco CRM integration - #10009

Merged
waleedlatif1 merged 3 commits into
stagingfrom
feat/monaco-integration
Nov 13, 2026
Merged

waleedlatif1 merged 3 commits into
stagingfrom
feat/monaco-integration

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a Monaco CRM integration: 46 tools, a Monaco block, and a saved Monaco API key credential.
  • Tools cover these resources, mapped field by field from Monaco's OpenAPI spec (api.monaco.com/openapi.json):
    • contacts and accounts (list, get, create, update, upsert, delete)
    • opportunities (list, get, create, update, delete; list, link and unlink contacts)
    • pipelines and tasks
    • meetings, including transcripts
    • messages and conversations
    • tags, users, the current user, and field schemas
    • sequences (list, get, and state transitions)
    • audiences and campaigns (enroll contacts, attach audiences)
  • Auth is a token credential, the same pattern as Gauge and Harmonic:
    • mks_ keys sent as Authorization: Bearer.
    • The key is verified against GET /v1/me and the credential is named after the org.
    • Registered in tokenCredentialIntegrationTypes.
    • Live probes showed a fake key gets a 403 and that the x-monaco-api-key header in one docs example is rejected.
  • Record outputs keep Monaco's documented snake_case field names, so they line up with Monaco's filter and sort keys. custom_field_* keys are grouped under custom_fields.
  • The block maps every param explicitly per operation:
  • Write tools reject input the API documents as invalid: email or linkedin_url on create, upsert-by-id restrictions, contact_ids vs filters on audiences, and amount and currency set together.
  • Descriptions call out the tools that send real outreach: enroll, attach audiences, and resume or enqueue a sequence.

Type of Change

  • New feature

Testing

  • Spec-conformance harness, run as a scratch script and not committed:
    • Every tool's method, path and query names are checked against the OpenAPI operation.
    • Request bodies are validated against the requestBody schemas with ajv, using both full and minimal fixtures.
    • Every transformResponse was run on the spec's response examples (all 46 operations), with deep-equal field checks: no dropped, renamed or invented fields.
  • blocks/blocks/monaco.test.ts covers stale shared-field isolation on the workflow path and model-argument retention on the agent path. Each test fails when its guard is reverted.
  • Also passing:
    • blocks.test.ts, availability.server.test.ts, credential-display.test.ts and token-checks.test.ts
    • check-block-registry.ts origin/staging
    • check:tool-metadata, check:docs, check:integration-catalog and check:deployment-config
    • check:canvas-sentences (46/46 operations)
    • check:tool-param-reachability, check:tool-request-boundary, check:bare-icons and check:icon-path-precision
    • a scoped tsc over the Monaco tools, the block, the registries and the credential files
  • Full type-check and check:audits run in CI.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Nov 13, 2026 9:32pm UTC

Request Review

@greptile-apps

greptile-apps Bot commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Critical impact] The PR appears safe to merge, with both earlier findings fixed and no new actionable issues found.

Summary

Adds Monaco CRM with 46 tools, a workflow block, saved API key credentials, icons, and integration documentation.

  • Workflows and agents can use Monaco tools to manage core CRM records.
  • Monaco audiences and sequences can now drive campaign outreach.
  • Monaco meetings, messages, and supporting records can now be read in Sim.
  • Users can connect Monaco and find it throughout Sim.

Reviews (2) · Last reviewed commit: "fix(monaco): allow clearing tags on upda..." · Reviewed by Greptile

Comment thread apps/sim/tools/monaco/utils.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 74 files

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/tools/monaco/create_tag.ts Resolved
Comment thread apps/sim/tools/monaco/create_task.ts Resolved
Comment thread apps/sim/tools/monaco/update_account.ts Resolved
Comment thread apps/sim/tools/monaco/utils.ts Resolved
Comment thread apps/sim/tools/monaco/types.ts Resolved
Comment thread apps/sim/tools/monaco/update_task.ts Resolved
Adds 46 Monaco tools (contacts, accounts, opportunities, pipelines, tasks,
meetings, messages, conversations, tags, users, field schemas, sequences,
audiences, campaigns), a Monaco block, and a saved Monaco API key
credential verified against GET /v1/me.
@waleedlatif1
waleedlatif1 force-pushed the feat/monaco-integration branch from bc803db to 7fc433d Compare November 13, 2026 21:19
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 75 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

This branch was successfully deployed

1 active deployment
Preview — cff57bf6 Deployed Nov 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant