MCP Overview
The Hubbl MCP server (https://mcp.hubbl.com/mcp) exposes Hubbl tools and context to AI coding agents and assistants. It uses Streamable HTTP. Connect with OAuth sign-in (recommended) or an API token; see Connect your client below.
Authentication
Hubbl MCP supports two ways to authenticate. Use whichever your client supports.
- OAuth sign-in (recommended). The default for clients that support it. Your client opens a browser window and you sign in to Hubbl. There is no token to generate, store, or paste.
- API token. For clients that cannot use OAuth. You generate a base64-encoded token from a Hubbl API Key and Secret and send it as a
Basicauthorization header.
Creating a Token
Create an API Key
This is only needed for the API token option, and it requires an account admin. In the Hubbl app, open Settings (the Account Settings page), scroll to the API Keys section, and click Create API Key to get your API Key and API Secret.
Generate your token
Run the command for your operating system, substituting your actual API Key and Secret.
Mac and Linux
echo -n "yourApiKey:yourApiSecret" | base64Windows (PowerShell)
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("yourApiKey:yourApiSecret"))The output is your <token>. Your full Authorization header value will be Basic <token>.
Connect your Client
Agentforce Vibes authenticates with an API token. Follow Creating a Token to generate your <token>, then:
- In VS Code, open the Agentforce Vibes panel.
- Click the MCP Servers icon (top right of the panel) to open the MCP Servers interface.
- Navigate to the Remote Servers tab.
- Click Edit Configuration to open the
a4d_mcp_settings.jsonfile. - Add the configuration below under
mcpServers, replacing<token>with your base64 value.
{
"mcpServers": {
"hubbl-mcp": {
"url": "https://mcp.hubbl.com/mcp",
"type": "streamableHttp",
"disabled": false,
"headers": {
"Authorization": "Basic <token>"
}
}
}
}Save the file, then open the Configure tab in the MCP Servers window. You should see hubbl-mcp listed with a green status indicator.
Every client connects to the same server. OAuth sign-in is the default where supported; see Authentication above.
Resources
To view these resources, send a POST request with a body containing a JSON payload similar to the following
example.
Don't forget to include the mcp_session_id from your initialization request in this request
headers.
{
"jsonrpc": "2.0",
"method": "resources/read",
"params": {
"uri": "hubbl://issue-categories"
},
"id": 2345
}
Field Delete Constraints
URI: hubbl://allow-or-prevent-delete
List of all valid 'allowOrPreventDelete' string values for Salesforce lookup-relationship fields (mirrors SF's deleteConstraint). Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
Restrict |
2 |
SetNull |
3 |
Cascade |
Field Business Statuses
URI: hubbl://business-status
List of all valid 'businessStatus' string values for Salesforce fields. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
Active |
2 |
DeprecateCandidate |
3 |
Deprecated |
4 |
Hidden |
Canvas Access Methods
URI: hubbl://canvas-access-method
List of all valid 'canvasAccessMethod' string values for Salesforce connected apps.
| Value | Name |
|---|---|
1 |
Get |
2 |
Post |
Class Families
URI: hubbl://class-family
List of all valid 'classFamily' string values for Apex class-type classifications.
Class Types
URI: hubbl://class-type
List of all valid 'classType' string values for Apex class-type classifications.
Field Compliance Groups
URI: hubbl://compliance-group
List of all valid 'complianceGroup' string values for Salesforce field Data Classification. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
PII |
2 |
HIPAA |
3 |
GLBA |
4 |
PCI |
5 |
COPPA |
6 |
GDPR |
Field Encryption Schemes
URI: hubbl://encrypted-scheme
List of all valid 'encryptedScheme' string values for Salesforce Shield-encrypted fields. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
ProbabilisticEncryption |
2 |
CaseSensitiveDeterministicEncryption |
3 |
CaseInsensitiveDeterministicEncryption |
Field Types
URI: hubbl://field-type
List of all valid Salesforce field 'type' string values. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
AutoNumber |
2 |
Text |
3 |
MasterDetail |
4 |
ExternalLookup |
5 |
Lookup |
6 |
Html |
7 |
LongTextArea |
8 |
TextArea |
9 |
Address |
10 |
Checkbox |
11 |
Currency |
12 |
Date |
13 |
DateTime |
14 |
|
15 |
Location |
16 |
Number |
17 |
Percent |
18 |
Phone |
19 |
Picklist |
20 |
MultiselectPicklist |
21 |
EncryptedString |
22 |
Time |
23 |
Url |
24 |
Id |
Flow Builder Types
URI: hubbl://flow-builder-type
List of all valid Salesforce flow 'builderType' string values. Use these values when constructing RQL filters for the list_org_flows tool.
| Value | Name |
|---|---|
1 |
LightningFlowBuilder |
2 |
ProcessBuilder |
3 |
Survey |
Flow Process Types
URI: hubbl://flow-process-type
List of all valid Salesforce flow 'processType' string values. Use these values when constructing RQL filters for the list_org_flows tool.
| Value | Name |
|---|---|
1 |
ActionableEventManagementFlow |
2 |
ActionCadenceAutolaunchedFlow |
3 |
ActionCadenceFlow |
4 |
ActionCadenceStepFlow |
5 |
ActivityObjectMatchingFlow |
6 |
Appointments |
7 |
ApprovalWorkflow |
8 |
AutoLaunchedFlow |
9 |
CartAsyncFlow |
10 |
CheckoutFlow |
11 |
ContactRequestFlow |
12 |
CustomerLifecycle |
13 |
CustomEvent |
14 |
DataCaptureFlow |
15 |
DcvrFrameworkDataCaptureFlow |
16 |
EvaluationFlow |
17 |
FieldServiceMobile |
18 |
FieldServiceWeb |
19 |
Flow |
20 |
FSCLending |
21 |
IdentityUserRegistrationFlow |
22 |
IndicatorResultFlow |
23 |
IndividualObjectLinkingFlow |
24 |
InvocableProcess |
25 |
Journey |
26 |
ManagedContentAuthoringWorkflow |
27 |
Orchestrator |
28 |
PromptFlow |
29 |
RecommendationStrategy |
30 |
RoutingFlow |
31 |
ServiceCatalogItemFlow |
32 |
Survey |
33 |
SurveyEnrich |
34 |
TransactionSecurityFlow |
35 |
UserProvisioningFlow |
36 |
Workflow |
Flow Record Trigger Types
URI: hubbl://flow-record-trigger-type
List of all valid Salesforce flow 'recordTriggerType' string values. Use these values when constructing RQL filters for the list_org_flows tool.
| Value | Name |
|---|---|
1 |
Create |
2 |
CreateAndUpdate |
3 |
Delete |
4 |
Update |
Flow Statuses
URI: hubbl://flow-status
List of all valid Salesforce flow 'status' string values. Use these values when constructing RQL filters for the list_org_flows tool.
| Value | Name |
|---|---|
1 |
Active |
2 |
Draft |
3 |
InvalidDraft |
4 |
Obsolete |
Flow Trigger Types
URI: hubbl://flow-trigger-type
List of all valid Salesforce flow 'triggerType' string values. Use these values when constructing RQL filters for the list_org_flows tool.
| Value | Name |
|---|---|
1 |
Activation |
2 |
AdminAutomationEvent |
3 |
AutomationEvent |
4 |
Capability |
5 |
DataCloudDataChange |
6 |
DataGraphDataChange |
7 |
ExternalSystemChange |
8 |
FormSubmissionEvent |
9 |
IndivRelatedRecord |
10 |
onAllChanges |
11 |
onCreateOnly |
12 |
PlatformEvent |
13 |
RecordAfterSave |
14 |
RecordBeforeDelete |
15 |
RecordBeforeSave |
16 |
Scheduled |
17 |
Segment |
Issue Categories
URI: hubbl://issue-categories
List of all valid 'category' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the list_org_issues tool.
| Value | Name |
|---|---|
1 |
Custom Code |
2 |
Data Model |
3 |
Declarative Automation |
4 |
Limits |
5 |
Packages |
6 |
Reports |
7 |
User Management and Security |
Efforts
URI: hubbl://issue-efforts
List of all valid 'effort' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the list_org_issues tool.
| Value | Name |
|---|---|
1 |
Low |
2 |
Medium |
3 |
High |
Metadata Types
URI: hubbl://issue-metadata-types
List of all valid 'metadataType' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the list_org_issues tool.
| Value | Name |
|---|---|
2 |
aura |
3 |
classes |
4 |
components |
5 |
connectedApps |
6 |
fields |
7 |
flows |
8 |
globalValueSets |
9 |
installedPackages |
10 |
licenseUsage |
11 |
lwc |
12 |
objects |
13 |
pages |
14 |
permissionSets |
15 |
profiles |
16 |
reports |
17 |
securityHealthCheckRisks |
18 |
system |
19 |
triggers |
20 |
workflows |
Priorities
URI: hubbl://issue-priorities
List of all valid 'priority' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the list_org_issues tool.
| Value | Name |
|---|---|
1 |
Low |
2 |
Medium |
3 |
High |
Well-Architected Categories
URI: hubbl://issue-well-architected-categories
List of all valid 'wellArchitectedCategoryLevelX' (1-4) string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the list_org_issues tool. Source information: https://architect.salesforce.com/docs/architect/well-architected/guide
| Value | Name | URL |
|---|---|---|
1 |
Adaptable | Link |
2 |
App Lifecycle Management | Link |
3 |
Authentication | Link |
4 |
Authorization | Link |
5 |
Automated | Link |
6 |
Composable | Link |
7 |
Data Model Optimization | Link |
8 |
Data Security | Link |
9 |
Data Volume Management | Link |
10 |
Design Standards | Link |
11 |
Documentation | Link |
12 |
Easy | Link |
13 |
Efficiency | Link |
14 |
Functional Units | Link |
15 |
Intentional | Link |
16 |
KPIs | Link |
17 |
Maintainability | Link |
18 |
Organizational Security | Link |
19 |
Readability | Link |
20 |
Reliable | Link |
21 |
Resilient | Link |
22 |
Scalability | Link |
23 |
Secure | Link |
24 |
Separation of Concerns | Link |
25 |
Session Management | Link |
26 |
Session Security | Link |
27 |
Sharing and Visibility | Link |
28 |
Simple | Link |
29 |
Technical Debt | Link |
30 |
Testing Strategy | Link |
31 |
Threat Detection and Response | Link |
32 |
Trusted | Link |
33 |
Use of Encryption | Link |
Well-Architected Hierarchy
URI: hubbl://issue-well-architected-hierarchy
Hierarchy definitions of valid paths (levels 1 through 4) for well-architected categories. Agents MUST review this hierarchy to ensure they query valid category combinations for the list_org_issues tool.
| Path Details | Path Array (Levels 1-4) |
|---|---|
| Adaptable -> Composable -> Separation of Concerns -> Functional Units | [1, 6, 24, 14] |
| Adaptable -> Resilient -> App Lifecycle Management -> Testing Strategy | [1, 21, 2, 30] |
| Easy -> Automated -> Efficiency -> KPIs | [12, 5, 13, 16] |
| Easy -> Intentional -> Maintainability -> Technical Debt | [12, 15, 17, 29] |
| Easy -> Intentional -> Readability -> Design Standards | [12, 15, 19, 10] |
| Easy -> Intentional -> Readability -> Documentation | [12, 15, 19, 11] |
| Easy -> Simple -> Maintainability -> Technical Debt | [12, 28, 17, 29] |
| Easy -> Simple -> Readability -> Documentation | [12, 28, 19, 11] |
| Trusted -> Reliable -> Scalability -> Data Model Optimization | [32, 20, 22, 7] |
| Trusted -> Reliable -> Scalability -> Data Volume Management | [32, 20, 22, 9] |
| Trusted -> Secure -> Data Security -> Sharing and Visibility | [32, 23, 8, 27] |
| Trusted -> Secure -> Data Security -> Use of Encryption | [32, 23, 8, 33] |
| Trusted -> Secure -> Organizational Security -> Authentication | [32, 23, 18, 3] |
| Trusted -> Secure -> Organizational Security -> Authorization | [32, 23, 18, 4] |
| Trusted -> Secure -> Session Security -> Session Management | [32, 23, 26, 25] |
| Trusted -> Secure -> Session Security -> Threat Detection and Response | [32, 23, 26, 31] |
License Usage Statuses
URI: hubbl://license-usage-status
List of all valid licenseUsage 'status' string values. Use these values when constructing RQL filters for the list_org_license_usages tool.
| Value | Name |
|---|---|
1 |
Active |
2 |
Disabled |
License Usage Types
URI: hubbl://license-usage-type
List of all valid licenseUsage 'type' string values. Use these values when constructing RQL filters for the list_org_license_usages tool.
| Value | Name |
|---|---|
1 |
User Licenses |
2 |
Permission Set Licenses |
3 |
Feature Licenses |
Mobile Device Types
URI: hubbl://mobile-device-type
List of all valid 'mobileDeviceType' string values for Salesforce connected apps.
| Value | Name |
|---|---|
1 |
phone |
2 |
tablet |
3 |
mini |
Mobile Platforms
URI: hubbl://mobile-platform
List of all valid 'mobilePlatform' string values for Salesforce connected apps.
| Value | Name |
|---|---|
1 |
ios |
2 |
android |
Custom Setting Types
URI: hubbl://object-custom-setting-type
List of all valid 'customSettingType' string values on Salesforce objects. Use these values when constructing RQL filters for the list_org_objects tool.
| Value | Name |
|---|---|
1 |
Hierarchy |
2 |
List |
Object Types
URI: hubbl://object-type
List of all valid Salesforce object 'type' string values. Use these values when constructing RQL filters for the list_org_objects tool.
| Value | Name |
|---|---|
1 |
Big Object |
2 |
Custom Metadata |
3 |
Custom Object |
4 |
Custom Setting |
5 |
External Object |
6 |
Platform Event |
7 |
Standard Object |
8 |
Unknown Type |
Package Types
URI: hubbl://package-type
List of all valid 'packageType' string values. Use these values when constructing RQL filters for the list_org_installed_packages tool.
| Value | Name |
|---|---|
1 |
Managed |
2 |
Unlocked |
3 |
Unmanaged |
Field Security Classifications
URI: hubbl://security-classification
List of all valid 'securityClassification' string values for Salesforce field Data Classification. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
Public |
2 |
Internal |
3 |
Confidential |
4 |
Restricted |
5 |
MissionCritical |
Workflow Trigger Types
URI: hubbl://workflow-trigger-type
List of all valid Salesforce workflow 'triggerType' string values. Use these values when constructing RQL filters for the list_org_workflows tool.
| Value | Name |
|---|---|
1 |
onCreateOnly |
2 |
onCreateOrTriggeringUpdate |
3 |
onAllChanges |
Tools
To execute these tools over the Model Context Protocol HTTP transport, the body of your request must contain a
JSON payload like the following example. By replacing the name and arguments values
with the desired tool's details.
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_org_info",
"arguments": {
"orgId": "your-org-id"
}
},
"id": 2346
}
Get Account Quota
Name: get_account_quota
Return the calling account's rate-limit state: daily and monthly request limits, how many requests remain in each window, and when each resets. Quota is account-level and is resolved from your credentials, so it takes no arguments and covers every org under the account. Use as a pre-flight check before fan-out workflows so you can pace requests; the check itself is free.
Input Schema
No arguments required
Response Schema
The calling account's rate-limit state. Quota is account-level — every user and every org under the account draws on the same windows.
Rate-limit state for a single window.
Hard request ceiling for the window.
Requests remaining in the window.
When the window resets.
Rate-limit state for a single window.
Hard request ceiling for the window.
Requests remaining in the window.
When the window resets.
Get Org Cloud Usage
Name: get_org_cloud_usage
Get an org's cloud-usage summary: per-cloud record counts, record %, and object-utilization %, plus overall active users, object/record counts, last-used date. Use list_org_object_usages for per-object metrics.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Response Schema
Cloud-usage summary for an org's latest scan — a per-cloud adoption breakdown plus an overall usage summary. Computed, read-only.
Adoption breakdown for a single cloud classification.
Cloud classification — one of Sales Cloud,
Service Cloud, Commerce Cloud,
Platform, Packages,
Custom Objects, Unclassified.
Total records held by this cloud's objects.
This cloud's share of the org's total records, 0–100.
Percentage of this cloud's objects that hold at least one record, 0–100 (object utilization across all of the cloud's objects).
Overall usage summary across the org's adoption-relevant objects.
Distinct users active across the org's objects.
Most recent last-used date across the org's objects.
Number of adoption-relevant objects in the org.
Total records across the org's adoption-relevant objects.
Get Org Code Count
Name: get_org_code_count
Get a single code-count record by id, with the full per-line-type breakdown. Use list_org_code_counts to discover an id; that tool is the way to search or filter by file.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Code-count record ID (matches the id returned by list_org_code_counts)
Response Schema
A full representation of per-item code line-count metrics scanned in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the code item (file) these counts belong to.
Number of source (executable) lines.
Number of comment lines.
Number of TODO-comment lines.
Number of block-comment lines.
Number of empty lines within block comments.
Number of empty (blank) lines.
Number of lines containing both code and a comment.
Number of single-line comment lines.
Total number of lines.
Name of the code item (file).
Get Org Connected App
Name: get_org_connected_app
Get a single connected app by id. Returns the full record (Canvas/mobile/OAuth/options config not in list_org_connected_apps). Use list_org_connected_apps to find an id; to fetch several, filter that list with in(id,1,2,3) rather than calling this once per id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Connected app ID (matches the id returned by list_org_connected_apps)
Response Schema
A full representation of a connected app including mobile and canvas configuration.
Internal Hubbl primary key ID.
Indicates if the app is currently installed in the org.
The 18-character Salesforce ID of the app record.
The Salesforce application identifier.
The display name (UI Label) of the connected app.
The developer name (API Name) of the connected app.
The namespace prefix associated with the connected app.
A brief description of the app's purpose.
The timestamp the app was created in Salesforce.
The timestamp the app was last modified in Salesforce.
Number of users who have authorized this app.
Total number of times this app has been used.
The timestamp of the first recorded use.
The timestamp of the most recent use.
The method used to access the canvas app (e.g., Get, Post).
Indicates if canvas functionality is enabled.
Configuration options for the canvas app.
External reference ID for canvas integration.
Locations where the canvas app is exposed (e.g., Layout, Mobile).
The secure URL for the canvas app.
URL for the app icon.
URL for additional information about the app.
Indicates if access is restricted to registered devices.
Indicates if the app uses admin-preauthorized OAuth scopes.
URL for the app logo.
Identifier for the mobile app binary.
URL to install the mobile app.
Date the mobile app was installed.
The specific version of the mobile app currently installed.
The version string of the mobile app.
The targeted device type for the mobile app.
The minimum OS version required for the mobile app.
The mobile platform (iOS, Android).
Session timeout configuration for the mobile app.
The starting URL for the mobile app experience.
Timeout for named user UVIDs.
Indicates if full content push notifications are enabled.
Indicates if session-level policies are applied.
Metric for refresh token validity.
Required PIN length for mobile access.
The period for which a refresh token remains valid.
URL to the app's setup page in Salesforce.
The starting URL for the web app experience.
Timeout for UVIDs.
Indicates if the app was created locally in the org.
Indicates if the app has been blocked by an administrator.
The consumer key (Client ID) for the connected app.
Get Org ESLint Finding
Name: get_org_es_lint
Get a single ESLint (LWC/Aura JS) finding by id, with rule doc URL, engine, and column. Use list_org_es_lints to discover an id; that tool is the way to search or filter findings.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
ESLint finding ID (matches the id returned by list_org_es_lints)
Response Schema
A full representation of an ESLint finding reported against LWC / Aura JavaScript source in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the code item (file) the finding was reported against.
Internal Hubbl ID of the metadata record the finding is associated with.
Name of the associated metadata record.
Name of the scan the finding belongs to.
Name of the code item (file) the finding was reported against.
The source type the finding applies to (e.g. lwc, aura).
The ESLint rule that produced the finding (e.g. no-undef).
The rule category (e.g. problem, suggestion).
The lint engine that produced the finding (e.g. eslint-lwc).
Numeric severity of the finding (higher is more severe).
Human-readable description of the finding.
Line number in the source file where the finding was reported.
Column number in the source file where the finding was reported.
Internal problem code associated with the finding.
URL to the rule documentation.
Name of the code item the finding was reported against.
Label of the code item the finding was reported against.
Get Org Field
Name: get_org_field
Get a single Salesforce field by id. Returns the full record (picklist, formula, encryption, compliance, security classification), with type, complianceGroup, securityClassification, businessStatus, encryptedScheme, and allowOrPreventDelete as display strings. Use list_org_fields to discover ids; to fetch several, filter that list with in(id,1,2,3) — one request instead of one per id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Field ID (matches the id returned by list_org_fields)
Response Schema
A full representation of a Salesforce field record within an organization.
Internal Hubbl primary key ID.
Internal Hubbl ID linking this field to its parent item record.
The user-facing display label of the field.
The Salesforce API name of the field.
The Salesforce field type (e.g., Checkbox, Text, Picklist).
The maximum length of the field value.
Comma-separated list of picklist API values.
Comma-separated list of picklist display labels.
Comma-separated list indicating which picklist values are active.
The name of the global picklist this field references, if any.
Indicates whether the picklist is single-select or multi-select.
Indicates whether this is a master-detail relationship field.
Indicates whether this is a lookup relationship field.
Defines the delete behavior for related records (e.g., SetNull, Restrict, Cascade).
The API name of the object this field references.
The API name of the Salesforce object this field belongs to.
Indicates whether this is a custom field as opposed to a standard field.
The number of records that have a non-null value for this field.
Indicates whether this field can be used in aggregate functions.
Indicates whether this field is available for use in queries.
The namespace prefix of the package that installed this field, if any.
A description of the field's purpose.
Internal Hubbl ID of the parent SObject record.
The total number of records in the parent object.
The percentage of records that have a non-null value for this field.
Indicates whether this field is encrypted using Salesforce Shield.
Indicates whether the usage data query for this field failed.
The direct URL to this field's configuration page in Salesforce Setup.
Indicates whether this field is a formula field.
Indicates whether this field is a roll-up summary field.
The compliance classification group assigned to this field (e.g., PII, HIPAA).
The security classification assigned to this field (e.g., Public, Confidential).
The business status of this field (e.g., Active, Deprecated).
The encryption scheme used if this field is encrypted with Shield Platform Encryption.
Get Org Flow
Name: get_org_flow
Get a single Salesforce Flow by id. Returns the full record (description, interviewLabel), with status, triggerType, recordTriggerType, processType, and builderType as display strings. Use list_org_flows to discover ids. For legacy workflow rules, use get_org_workflow.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Flow ID (matches the id returned by list_org_flows)
Response Schema
A full representation of a Salesforce flow record within an organization.
Internal Hubbl primary key ID.
Hubbl item identifier.
Display label of the flow.
Description text of the flow.
Interview label (largely mirrors the flow label).
Flow status (e.g. Active, Draft, Obsolete).
Whether the flow is currently active.
API name of the object the flow runs against.
The flow trigger type (e.g. onCreateOnly, onAllChanges).
Record-trigger timing (e.g. Create, Update).
The flow process type (e.g. Flow, AutoLaunchedFlow, Workflow).
The builder that produced the flow (e.g. LightningFlowBuilder).
Developer/API name of the flow.
Namespace prefix for managed-package flows.
Internal Hubbl ID of the parent SObject.
Get Org Info
Name: get_org_info
Get an org's health summary by orgId: name, userName, hubblScore, complexityScore, lastScanDate, totalIssueCount, highSeverityIssueCount. Use list_orgs to resolve an orgId and for its edition, instanceUrl, and isSandbox.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Response Schema
The unique Salesforce identifier for the organization
The name of the organization
The username associated with the organization connection
The Hubbl score for the organization
The complexity score for the organization
The date and time of the last scan
The total number of issues found in the organization
The number of high severity issues found in the organization
Get Org Installed Package
Name: get_org_installed_package
Get a single installed package by id. Returns the full record including version segments, package version metadata, and container options. To find an id, use the list_org_installed_packages tool; to fetch several, filter that list with in(id,1,2,3) rather than calling this once per id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Installed package ID (matches the id returned by list_org_installed_packages)
Response Schema
A full representation of an installed package.
The display label of the package.
Internal Hubbl primary key ID.
The developer name of the package.
A brief description of the package's purpose.
The name of the organization that published the package.
The namespace prefix that identifies this package.
The major version number.
The minor version number.
The patch version number.
The specific build number of the installed version.
The release state (e.g., Released, Beta).
Indicates whether the package version is deprecated.
Indicates whether the package is a managed package.
Indicates whether the package is protected by a password.
Indicates whether the package has passed Salesforce security review.
The 18-character Salesforce ID of the installed package.
The Salesforce ID for this specific package version (starts with 04t).
Indicates whether the package is dependent on the organization's metadata.
Indicates whether the package installation is valid.
Description of the specific package version.
Name of the specific package version.
Container options for the package.
Indicates whether this is a beta version of the package.
The type of the package (e.g., Managed, Unmanaged).
The Hubbl ID of the parent package.
The Hubbl ID of the package version.
The date and time when the package was installed in the org.
Indicates whether a newer version of the package is available.
The version number of the latest available version of the package.
Get Org Metadata Item
Name: get_org_item
Get a single metadata item by id, with the full absolute path, directory, and parent join names. Use list_org_items to discover an id; that tool is the way to search or filter files.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Metadata item ID (matches the id returned by list_org_items)
Response Schema
A full representation of a metadata item (code file or directory) scanned in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the parent item (directory), if any.
Internal Hubbl ID of the top-level ancestor item, if any.
Internal Hubbl ID of the metadata record this item belongs to.
Name of the parent item (directory), if any.
Name of the associated metadata record.
Name of the scan this item belongs to.
Name of the item (file or directory).
The item name with its file extension removed.
The file extension of the item, if any.
The file extension including the -meta.xml suffix, if any.
Whether this item is a directory rather than a file.
The metadata type directory the item belongs to (e.g. lwc, aura, classes).
The Salesforce object this item relates to, if any.
The absolute directory path containing the item.
The absolute path of the item.
Path of the item relative to the scanned source root.
Get Org License Usage
Name: get_org_license_usage
Get one license-usage entry by apiName (type, status, total/used/remaining counts, expiration), with type and status as display strings. Use list_org_license_usages to find an apiName or to search across entries.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Stable license-usage apiName (from list_org_license_usages). e.g. SosUserPsl
Response Schema
A single license usage entry for an org.
A license usage entry — provisioned / used / remaining license counts for one license type in an org.
Internal Hubbl primary key ID (per-scan; not stable across scans).
Stable Salesforce identifier for the license type (e.g. INSIGHTS_INTEGRATION_USER), constant across scans.
Display label of the license type.
License category (e.g. User Licenses, Permission Set Licenses, Feature Licenses).
License status (e.g. Active, Disabled).
Total provisioned license count.
Number of licenses currently in use.
Number of licenses remaining (total minus used).
License expiration date (ISO YYYY-MM-DD), if any.
Get Org Limit
Name: get_org_limit
Get a single org limit by name (e.g. DailyApiRequests): max, remaining, percentUsed. Use list_org_limits to discover names or rank limits by usage.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
The org limit's stable name (from list_org_limits). e.g. DailyApiRequests
Response Schema
A single org limit for an org.
A single Salesforce/Hubbl org limit with its cap, remaining headroom, and derived percent used.
The limit's stable natural key (e.g. DailyApiRequests). The by-name path param on getOrgLimit.
The cap for the limit.
Headroom left for the limit.
Derived server-side as (max - remaining) / max, a number in [0,1]. Null when max is 0 or unknown.
Get Org Login Activity Overview
Name: get_org_login_activity_overview
Get an org's login adoption rollup (total licensed / logged-in / adoption % over 30/90/365 days), optionally scoped by license. Use list_org_login_activity for per-user detail.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Salesforce license names to scope the rollup to (e.g. ["Salesforce", "Salesforce Platform"]). Omit for the org-wide rollup. Valid values are the org's Salesforce license names.
Response Schema
Login-activity adoption rollup for an org's latest scan. When a
license filter is supplied, totalLicensedUsers and every window
count reflect only the selected licenses.
Total licensed users (sum of used User Licenses) for the org's latest scan.
Login adoption for a single trailing time window.
Licensed users who logged in at least once during the window.
Licensed users who did not log in during the window —
max(totalLicensedUsers − loggedInUsers, 0).
Percentage of licensed users who logged in, 0–100 —
round(loggedInUsers / totalLicensedUsers × 100), capped at 100.
Login adoption for a single trailing time window.
Licensed users who logged in at least once during the window.
Licensed users who did not log in during the window —
max(totalLicensedUsers − loggedInUsers, 0).
Percentage of licensed users who logged in, 0–100 —
round(loggedInUsers / totalLicensedUsers × 100), capped at 100.
Login adoption for a single trailing time window.
Licensed users who logged in at least once during the window.
Licensed users who did not log in during the window —
max(totalLicensedUsers − loggedInUsers, 0).
Percentage of licensed users who logged in, 0–100 —
round(loggedInUsers / totalLicensedUsers × 100), capped at 100.
Get Org Object
Name: get_org_object
Get a single Object by id. Returns the full record (sharing models, usage-query state, setup URL), with type and customSettingType as display strings. Use list_org_objects to discover ids; to fetch several, filter that list with in(id,1,2,3) — one request instead of one per id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Object ID (matches the id returned by list_org_objects)
Response Schema
A full representation of a Salesforce object record within an organization.
Internal Hubbl primary key ID.
Hubbl item identifier.
API name of the object.
Lowercased API name of the object (used for case-insensitive lookups).
Display label of the object.
Salesforce object type (e.g. Standard Object, Custom Object).
Custom setting type, if the object is a custom setting.
Whether the object is reportable.
Whether the object is queryable via SOQL.
Description text of the object.
Namespace prefix for managed package objects.
Total number of records in the object at scan time.
Direct URL to the object's configuration page in Salesforce Setup.
Most recent time any record in the object was created or updated.
Count of records created or updated in the last 90 days.
Count of records created or updated in the last 365 days.
Internal sharing model (e.g. Private, Read, ReadWrite).
External sharing model (e.g. Private, Read, ReadWrite).
Indicates whether the usage data query for this object failed.
Indicates whether the 90-day usage query for this object failed.
Indicates whether the 365-day usage query for this object failed.
Indicates whether the last-used-date query for this object failed.
Get Org Permission Set
Name: get_org_permission_set
Get a single permission set by id, with all risky-permission flags, description, user count, and license. Use list_org_permission_sets to find an id; that tool is for search, this one is a single lookup.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Permission set ID (matches the id returned by list_org_permission_sets)
Response Schema
Response containing a single permission set record.
A full permission set record returned by the by-id endpoint — the list subset plus the long
description free text.
Internal Hubbl primary key ID.
Hubbl item identifier.
Permission set name.
Display label of the permission set. Mirrors name (permission sets have
no separate label).
API name of the permission set.
Number of users assigned this permission set.
User license associated with the permission set (e.g. Salesforce).
Whether this is a custom permission set.
Namespace prefix for managed-package permission sets.
Grants Modify All Data.
Grants View All Data.
Grants Reset User Passwords and Unlock Users.
Grants Weekly Data Export.
Grants Export Reports.
Grants Manage Sharing.
Grants Manage Roles.
Grants Manage Users.
Grants Manage Password Policies.
Grants Manage Login Access Policies.
Grants Manage Profiles and Permission Sets.
Grants Edit Read Only Fields.
Grants Modify All permission.
Grants API Enabled.
Grants Author Apex.
Grants approval of uninstalled connected apps.
Long free-text description of the permission set.
Get Org PMD Violation
Name: get_org_pmd_violation
Get a single PMD (Apex static-analysis) violation by id, with rule doc URL, engine, and column. Use list_org_pmd_violations to discover an id; that tool is the way to search or filter violations.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
PMD violation ID (matches the id returned by list_org_pmd_violations)
Response Schema
A full representation of a PMD static-analysis violation reported against Apex source in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the code item (file) the violation was reported against.
Internal Hubbl ID of the metadata record the violation is associated with.
Name of the associated metadata record.
Name of the scan the violation belongs to.
Name of the code item (file) the violation was reported against.
The kind of source element the violation applies to (e.g. class, trigger).
The PMD ruleset the rule belongs to.
The PMD rule that produced the violation.
PMD priority of the violation (1 is highest priority).
Human-readable description of the violation.
Line number in the source file where the violation was reported.
Column number in the source file where the violation was reported.
Internal problem code associated with the violation.
The static-analysis engine that produced the violation (e.g. pmd).
URL to the rule documentation.
Name of the code item the violation was reported against.
Label of the code item the violation was reported against.
Get Org Recommendation
Name: get_org_recommendation
Get the full recommendation detail for one issue by key (from list_org_issues). Returns human-readable text for the fields list_org_issues encodes as numeric IDs — use it for actionable context on a specific issue.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
The unique key for tracking an issue across scans of an org.
Response Schema
The unique rule identifier for the issue
The priority level of the recommendation (Low, Medium, High)
Estimated effort required to implement the recommendation (Low, Medium, High)
Human-readable title of the recommendation
Detailed description or instructions for the recommendation
The top-level category in the Salesforce Well-Architected framework
The second-level category in the Salesforce Well-Architected framework
The third-level category in the Salesforce Well-Architected framework
The fourth-level category in the Salesforce Well-Architected framework
The functional category of the recommendation
URL to the documentation for the level 4 Well-Architected category
The Salesforce object related to the issue
The type of Salesforce metadata
Indicates if the recommendation was first introduced in the current scan
Indicates if the issue was not found in the most recent scan
The date the this issue was first detected by a Hubbl scan.
The date the this issue was most recently detected by a Hubbl scan.
Unique identifier of an issue across all scans of an org
The Salesforce namespace where the issue was found
A human-readable label for the metadata or component
The API name of the Salesforce component or metadata item
The line number where the issue was identified
Indicates whether this is a basic health check recommendation
The sub-score area this recommendation affects natively
URL to documentation on how a developer can resolve this issue
URL to documentation on how an administrator can resolve this issue
Relative path from repository root to the related component
Get Org SF Profile
Name: get_org_sf_profile
Get a single Salesforce profile by id, with all risky-permission flags, user count, and license. Use list_org_sf_profiles to find an id; that tool is for search, this one is a single lookup.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Profile ID (matches the id returned by list_org_sf_profiles)
Response Schema
Response containing a single Salesforce profile record.
A full Salesforce profile record returned by the by-id endpoint. For this resource the full record is identical to the list subset (no extra columns).
Internal Hubbl primary key ID.
Hubbl item identifier.
Profile name (e.g. System Administrator).
Display label of the profile. Mirrors name (profiles have no separate
label).
Number of users assigned to this profile.
User license associated with the profile (e.g. Salesforce).
Whether this is a custom profile.
Grants Modify All Data.
Grants View All Data.
Grants Reset User Passwords and Unlock Users.
Grants Weekly Data Export.
Grants Export Reports.
Grants Manage Sharing.
Grants Manage Roles.
Grants Manage Users.
Grants Manage Password Policies.
Grants Manage Login Access Policies.
Grants Manage Profiles and Permission Sets.
Grants Edit Read Only Fields.
Grants Modify All permission.
Grants API Enabled.
Grants Author Apex.
Grants approval of uninstalled connected apps.
Get Org Trigger
Name: get_org_trigger
Get a single Apex trigger by id. Returns DML-event flags, apiVersion, namespace (the same fields as list_org_triggers). Use list_org_triggers to discover ids.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Trigger ID (matches the id returned by list_org_triggers)
Response Schema
A full representation of an Apex trigger scanned in an org.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the object the trigger runs against (e.g. Account, Opportunity).
Developer/API name of the trigger.
Display label of the trigger (populated with name).
Whether the trigger is currently active.
Whether this trigger runs before insert.
Whether this trigger runs after insert.
Whether this trigger runs before update.
Whether this trigger runs after update.
Whether this trigger runs before delete.
Whether this trigger runs after delete.
Whether this trigger runs after undelete.
Salesforce API version of the trigger.
Namespace prefix for managed-package triggers.
Get Org Workflow
Name: get_org_workflow
Get a single Salesforce workflow rule by id. Returns the full record (description, objectName, label, triggerType, isActive, namespace), with triggerType as a display string. Use list_org_workflows to discover ids. For Flows, use get_org_flow.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Workflow ID (matches the id returned by list_org_workflows)
Response Schema
A full representation of a Salesforce workflow rule record within an organization.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the object the workflow runs against.
Display label of the workflow rule.
The workflow trigger type (e.g. onCreateOnly, onCreateOrTriggeringUpdate, onAllChanges).
Whether the workflow rule is currently active.
Namespace prefix for managed-package workflows.
Description text of the workflow rule.
List Org Class Types
Name: list_org_class_types
List Apex class-type classifications for an org — the controller/model/test family per Apex item. Filter by classFamily/classType (string enums — read hubbl://class-family and hubbl://class-type for valid values) or scope to an itemId. Every class-type lookup goes through this tool — filter to narrow to one.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
classFamily and classType are string enums; read the hubbl://class-family and hubbl://class-type resources for the valid values.
Example: eq(classFamily,controller) · in(classType,batch,queueable)
Fields: id, itemId, classFamily, classType, dependentId
Operators: and(), or(), not(), eq(), in(), ne(), contains().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
classFamily.
Response Schema
Paginated response containing Apex class-type classifications scanned in an org.
An Apex class-type classification (the controller / model / test / etc. family assigned to a scanned Apex item).
Internal Hubbl primary key ID.
Internal Hubbl ID of the code item (Apex class) being classified.
The high-level class family (e.g. controller, model, test, service).
The specific class-type label (e.g. aura controller, batch, queueable).
Internal Hubbl ID of a related code item this classification depends on, if any.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Code Counts
Name: list_org_code_counts
List code line-count metrics per code file for an org (source/comment/blank/total lines). Use get_org_code_count for one record's full per-type breakdown. Line metrics only — not lint (list_org_es_lints) or static-analysis (list_org_pmd_violations) findings.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: gte(total,100) · contains(name,Controller)
Fields: id, itemId, name, total, source, comment
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to -total.
Response Schema
Paginated response containing per-item code line-count metrics scanned in an org.
A minimal representation of per-item code line-count metrics scanned in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the code item (file) these counts belong to.
Name of the code item (file).
Number of source (executable) lines.
Number of comment lines.
Number of empty (blank) lines.
Number of block-comment lines.
Total number of lines.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Connected App Assignments
Name: list_org_connected_app_assignments
List connected-app assignments for an org: junction rows linking a connected app to a profile or permission set. Use list_org_connected_apps for the apps themselves, not these assignment rows.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 50, max 200)
Number items to skip
RQL filter — https://docs.hubbl.com/rql
Example: eq(connectedAppId,255958)
Fields: id, connectedAppId, profileId, permissionSetId
Operators: and(), or(), not(), eq(), in().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
connectedAppId.
Response Schema
Paginated response containing a list of connected-app assignments for an organization.
A connected-app assignment — a junction row linking a connected app to exactly one
target: profileId XOR permissionSetId is set (the other is
null).
Internal Hubbl primary key of the junction row.
FK to the connected app the assignment grants.
FK to the assigned profile; null when the assignment targets a permission set.
FK to the assigned permission set; null when the assignment targets a profile.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Connected Apps
Name: list_org_connected_apps
List connected apps connected to the given org. Returns the app name, usage counts, install and last used dates. For further details about a given app, use the get_org_connected_app tool.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 50, max 200)
Number items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(eq(isInstalled,true),gte(usageCount,2))
Fields: id, name, label, namespacePrefix, salesforceId, clientId, isInstalled, isLocal, isBlocked, userCount, usageCount, createdDate, lastModifiedDate, firstUsedDate, lastUsedDate
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-lastUsedDate.
Response Schema
Paginated response containing a list of connected apps registered against an organization.
A minimal representation of a connected app.
Internal Hubbl primary key ID.
Indicates if the app is currently installed in the org.
The 18-character Salesforce ID of the app record.
The Salesforce application identifier.
The display name (UI Label) of the connected app.
The developer name (API Name) of the connected app.
The namespace prefix associated with the connected app.
A brief description of the app's purpose.
The timestamp the app was created in Salesforce.
Number of users who have authorized this app.
Total number of times this app has been used.
The timestamp of the first recorded use.
The timestamp of the most recent usage of this app in the org.
URL for additional information about the app.
Indicates if the app uses admin-preauthorized OAuth scopes.
Indicates if the app has been blocked by an administrator.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org ESLint Findings
Name: list_org_es_lints
List ESLint findings for LWC/Aura JS in an org (rule, category, severity, line). This is JS lint — use list_org_pmd_violations for Apex static analysis. Use get_org_es_lint for one finding's full record (rule doc URL, engine).
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(eq(type,lwc),eq(category,problem)) · gte(severity,2)
Fields: id, itemId, metadataId, type, rule, category, engine, severity, name, label
Operators: and(), or(), not(), eq(), in(), ne(), contains(), gte(), lte().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-severity.
Response Schema
Paginated response containing ESLint findings reported against LWC / Aura JavaScript source in an org.
A minimal representation of an ESLint finding reported against LWC / Aura JavaScript source in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the code item (file) the finding was reported against.
The source type the finding applies to (e.g. lwc, aura).
The ESLint rule that produced the finding (e.g. no-undef).
The rule category (e.g. problem, suggestion).
Numeric severity of the finding (higher is more severe).
Human-readable description of the finding.
Line number in the source file where the finding was reported.
Label of the code item the finding was reported against.
Name of the code item the finding was reported against.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Fields
Name: list_org_fields
List Salesforce fields in an org. Returns id/apiName/label/type, object, custom/usable flags, recordCount, percentPopulated. Use get_org_field for the full record.
The type field is returned as a numeric ID. Read the hubbl://field-type resource to map IDs back to string values.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Note: The filter accepts both numeric IDs and string values for the type field
interchangeably.
Example: and(eq(isCustomField,true),gte(percentPopulated,50)) ·
in(type,Text,2) — mixes string and numeric type values
Fields: id, apiName, label, type, objectApiName, isCustomField, isFormula, isLookup, recordCount, percentPopulated
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort — https://jsonapi.org/format/#fetching-sorting
Fields: id, apiName, label, type, objectApiName, recordCount, percentPopulated
Prepend - for descending. Defaults to -percentPopulated.
Response Schema
Paginated response containing a list of Salesforce fields scanned in an org.
A minimal representation of a Salesforce field scanned in an org.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the parent object (e.g. Account, Contact).
API name of the field (e.g. FirstName, Custom_Field__c).
Display label of the field.
Salesforce field data type (e.g. Text, Number, Checkbox).
Description text of the field.
Whether this is a custom field (__c suffix).
Whether the field is usable for querying.
Number of records where this field is populated.
Total number of records in the parent object.
Percentage of records where this field is populated.
Namespace prefix for managed package fields.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Flows
Name: list_org_flows
List Salesforce Flows (Flow Builder, Process Builder). Returns id/apiName/label, object, status, processType, builderType, triggerType. Use get_org_flow for the full record.
The status, triggerType, recordTriggerType, processType, and builderType fields are returned as numeric IDs. Read the corresponding hubbl:// resources (e.g. hubbl://flow-status) to map IDs back to string values. For legacy workflow rules, use list_org_workflows.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Note: The filter accepts both numeric IDs and string values for all enum fields (status, triggerType, recordTriggerType, processType, builderType) interchangeably.
Example: and(eq(isActive,true),eq(objectName,Account)) ·
and(eq(status,Active),eq(builderType,1))
Fields: id, itemId, sobjectId, objectName, apiName, label, status, isActive, triggerType, recordTriggerType, processType, builderType
Operators: and(), or(), not(), eq(), ne(), in(), contains().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter, plus updatedAt. Prepend - for descending. Defaults to
-updatedAt.
Response Schema
Paginated response containing a list of Salesforce flows scanned in an org.
A minimal representation of a Salesforce flow scanned in an org. The subset of fields returned by the flows list endpoint.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the object the flow runs against (e.g. Account, Opportunity).
Developer/API name of the flow.
Display label of the flow.
Flow status (e.g. Active, Draft, Obsolete).
Whether the flow is currently active.
The flow trigger type (e.g. onCreateOnly, onAllChanges).
Record-trigger timing (e.g. Create, Update).
The flow process type (e.g. Flow, AutoLaunchedFlow, Workflow).
The builder that produced the flow (e.g. LightningFlowBuilder).
Namespace prefix for managed-package flows.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Installed Packages
Name: list_org_installed_packages
Returns a list of managed and unmanaged packages installed in a Salesforce organization.
The packageType filter accepts either numeric IDs or string values (see the hubbl://package-type resource); it is returned as a string by get_org_installed_package.
For the full record (version segments, package version metadata), use the get_org_installed_package tool with the id returned by this tool.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Note: The filter accepts both numeric IDs and string values for the
packageType field interchangeably.
Example: and(eq(isManaged,true),eq(isOutdated,true)) ·
in(packageType,Managed,2) — mixes string and numeric packageType values
Fields: id, name, publisherName, namespacePrefix, salesforceId, salesforceVersionId, packageType, releaseState, isManaged, isDeprecated, isSecurityReviewed, isBeta, isOutdated, installDate
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-installDate.
Response Schema
Paginated response containing a list of installed packages in an organization.
Internal Hubbl primary key ID.
The developer name of the package.
The display label of the package.
A brief description of the package's purpose.
The name of the organization that published the package.
The namespace prefix that identifies this package.
The specific build number of the installed version.
The release state (e.g., Released, Beta).
Indicates whether the package version is deprecated.
Indicates whether the package is a managed package.
Indicates whether the package is protected by a password.
Indicates whether the package has passed Salesforce security review.
The 18-character Salesforce ID of the installed package.
The Salesforce ID for this specific package version (starts with 04t).
Indicates whether the package is dependent on the organization's metadata.
Indicates whether the package installation is valid.
Indicates whether this is a beta version of the package.
The date and time when the package was installed in the org.
Indicates whether a newer version of the package is available.
The version number of the latest available version of the package.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Issues
Name: list_org_issues
List issues found in an org's scan: key, category, priority, effort, metadataType, wellArchitectedCategoryLevel1-4, and more. Those enum fields are returned as numeric IDs to save tokens — read hubbl://issue-categories, hubbl://issue-priorities, hubbl://issue-efforts, hubbl://issue-metadata-types, and hubbl://issue-well-architected-categories to decode them. Filters accept numeric or string forms; responses are always numeric. Supports a fields parameter (this tool only) to select returned fields — filter/sort still accept fields you exclude. Use get_org_recommendation with an issue's key for full human-readable detail.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 50, max 200)
Number items to skip
A comma-separated list of fields to include in the response. If omitted, all fields are
returned. Example: priority,effort,title
RQL filter — https://docs.hubbl.com/rql
Note: The filter will accept either the numeric or string values for the priority,
effort, metadataType, category, and all
wellArchitectedCategoryLevel fields.
Example:
and(eq(priority,high),eq(effort,1),in(metadataType,profiles,17),contains(wellArchitectedCategoryLevel3,security))
Fields: priority, effort, wellArchitectedCategoryLevel1, wellArchitectedCategoryLevel2, wellArchitectedCategoryLevel3, wellArchitectedCategoryLevel4, metadataType, namespace, relatedObject, category, apiName, rule, title, label, content
Operators: and(), or(), not(), eq(), ne(), gt(), gte(), lt(), lte(), in(), out(), like(), ilike(), contains(), isNull(), isNotNull().
Defaults to eq(namespace,null).
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-priority,effort.
Response Schema
Unique identifier of an issue across all scans of an org
The priority level of the recommendation (Low, Medium, High)
Estimated effort required to implement the recommendation (Low, Medium, High)
Human-readable title of the recommendation
The top-level category in the Salesforce Well-Architected framework
The second-level category in the Salesforce Well-Architected framework
The third-level category in the Salesforce Well-Architected framework
The fourth-level category in the Salesforce Well-Architected framework
The functional category of the recommendation
The Salesforce namespace where the issue was found
The API name of the Salesforce component or metadata item
The Salesforce object related to the issue
The type of Salesforce metadata
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Metadata Items
Name: list_org_items
List metadata items (raw code files/dirs) in an org: name, extension, type, relative path. These are the source files; findings about them live in list_org_es_lints/list_org_pmd_violations. Use get_org_item for full paths.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(eq(typeDirectory,classes),eq(isDirectory,false)) ·
contains(name,Modal)
Fields: id, parentId, ultimateParentId, metadataId, typeDirectory, isDirectory, name
Operators: and(), or(), not(), eq(), in(), ne(), contains().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to name.
Response Schema
Paginated response containing metadata items (code files and directories) scanned in an org.
A minimal representation of a metadata item (code file or directory) scanned in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the parent item (directory), if any.
Internal Hubbl ID of the metadata record this item belongs to.
Name of the item (file or directory).
The item name with its file extension removed.
The file extension of the item, if any.
The metadata type directory the item belongs to (e.g. lwc, aura, classes).
Whether this item is a directory rather than a file.
Path of the item relative to the scanned source root.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org License Usages
Name: list_org_license_usages
List license usage for an org: id/apiName, name, type, status, total/used/remaining license counts, expirationDate. Use this to audit license consumption — unused licenses (eq(usedLicenses,0)), over-provisioned or expiring licenses. Use get_org_license_usage for a single entry by apiName.
The type and status fields are returned as numeric IDs. Read the hubbl://license-usage-type and hubbl://license-usage-status resources to map IDs back to string values.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Note: The filter accepts both numeric IDs and string values for the type and
status fields interchangeably.
Example: eq(usedLicenses,0) · in(type,User Licenses,3) — mixes string
and numeric type values
Fields: id, apiName, name, type, status, totalLicenses, usedLicenses, remainingLicenses, expirationDate
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to name.
Response Schema
Paginated response containing a list of license usage entries for an org.
A license usage entry — provisioned / used / remaining license counts for one license type in an org.
Internal Hubbl primary key ID (per-scan; not stable across scans).
Stable Salesforce identifier for the license type (e.g. INSIGHTS_INTEGRATION_USER), constant across scans.
Display label of the license type.
License category (e.g. User Licenses, Permission Set Licenses, Feature Licenses).
License status (e.g. Active, Disabled).
Total provisioned license count.
Number of licenses currently in use.
Number of licenses remaining (total minus used).
License expiration date (ISO YYYY-MM-DD), if any.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Limits
Name: list_org_limits
List an org's limits with max, remaining, and percentUsed (0-1). Find limits near capacity. Use get_org_limit for a single limit by name (e.g. DailyApiRequests).
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: gte(percentUsed,0.8) ·
in(name,DailyApiRequests,PermissionSets)
Fields (operators): name (eq, in, contains), percentUsed, max, remaining (gte, lte)
Combine with and(), or(), not().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-percentUsed.
Response Schema
Paginated response containing a list of org limits for an org.
A single Salesforce/Hubbl org limit with its cap, remaining headroom, and derived percent used.
The limit's stable natural key (e.g. DailyApiRequests). The by-name path param on getOrgLimit.
The cap for the limit.
Headroom left for the limit.
Derived server-side as (max - remaining) / max, a number in [0,1]. Null when max is 0 or unknown.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Login Activity
Name: list_org_login_activity
List per-user login activity for an org: user id, license, and 30/90/365-day login counts. Find inactive users. Use get_org_login_activity_overview for the org-wide adoption rollup.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: eq(last365DaysLoginCount,0) — users who never logged in this year ·
in(userLicense,Salesforce,Salesforce Platform)
Fields: userLicense, last30DaysLoginCount, last90DaysLoginCount, last365DaysLoginCount, userCreatedDate
Operators: and(), or(), not(), eq(), ne(), in(), gt(), gte(), lt(), lte(), between(), contains(), isNull(), isNotNull().
JSON:API sort — https://jsonapi.org/format/#fetching-sorting
Fields: salesforceUserId, userLicense, last30DaysLoginCount, last90DaysLoginCount, last365DaysLoginCount, userCreatedDate
Prepend - for descending. Defaults to -last30DaysLoginCount.
Response Schema
Paginated response containing per-user Salesforce login activity for an org.
Per-user Salesforce login activity within an org — one row per user.
The Salesforce user id.
The user's license, resolved from sfProfiles. Falls back to the
raw user type in parentheses (e.g. (Guest)) when there is no
profile match.
Number of logins over the trailing 30 days.
Number of logins over the trailing 90 days.
Number of logins over the trailing 365 days.
When the user was created.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Object Fields
Name: list_org_object_fields
List fields belonging to one Salesforce Object (id = the Object's id, from list_org_objects). Returns id/apiName/label/type, flags, recordCount, percentPopulated. Use get_org_field for the full record. The type field is returned as a numeric ID — read hubbl://field-type to map IDs back to string values.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Object ID (matches the id returned by list_org_objects)
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Note: The filter accepts both numeric IDs and string values for the type field
interchangeably.
Example: and(eq(isCustomField,true),gte(percentPopulated,50)) ·
in(type,Text,2) — mixes string and numeric type values
Fields: id, itemId, apiName, label, type, namespace, isCustomField, isFormula, isRollupSummary, isLookup, isMasterDetail, isEncrypted, isUsable, isAggregatable, recordCount, percentPopulated, complianceGroup, securityClassification
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-percentPopulated.
Response Schema
Paginated response containing a list of Salesforce fields scanned in an org.
A minimal representation of a Salesforce field scanned in an org.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the parent object (e.g. Account, Contact).
API name of the field (e.g. FirstName, Custom_Field__c).
Display label of the field.
Salesforce field data type (e.g. Text, Number, Checkbox).
Description text of the field.
Whether this is a custom field (__c suffix).
Whether the field is usable for querying.
Number of records where this field is populated.
Total number of records in the parent object.
Percentage of records where this field is populated.
Namespace prefix for managed package fields.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Object Usages
Name: list_org_object_usages
List an org's per-object usage/adoption metrics: record counts, active users, automations, field/empty-field counts, last-used date. For raw object metadata (not usage) use list_org_objects.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(gte(recordCount,1000),in(cloud,Sales Cloud,Service Cloud))
Fields: objectName, apiName, cloud, recordCount, lastUsedDate, activeUsers, automations, fields, emptyFields
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort — https://jsonapi.org/format/#fetching-sorting
Fields: objectName, apiName, recordCount, lastUsedDate, activeUsers, automations, fields, emptyFields
Prepend - for descending. Defaults to -recordCount.
Response Schema
Paginated response containing per-object adoption/usage metrics for an org.
Per-object adoption/usage metrics for a Salesforce object in an org's scan.
Display label of the object.
API name of the object (e.g. Account, Custom_Object__c).
Cloud classification of the object: one of Sales Cloud, Service Cloud, Commerce Cloud, Platform, Packages, Custom Objects, or Unclassified.
Total number of records in the object at scan time.
Most recent time any record in the object was created or updated.
Count of distinct users active on the object.
Count of automations (triggers, workflows, flows) on the object.
Count of fields defined on the object.
Count of unpopulated fields (percent populated is zero) on the object.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Objects
Name: list_org_objects
List Salesforce objects (Objects) in an org. Returns id/apiName/label/type, namespace, recordCount, last-used date. Use get_org_object for the full record.
The type field is returned as a numeric ID; read the hubbl://object-type resource to map IDs back to string values. The customSettingType filter accepts either numeric IDs or string values (see hubbl://object-custom-setting-type).
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Note: The filter accepts both numeric IDs and string values for the type and
customSettingType fields interchangeably. The numeric form is recommended because
the string values contain spaces (e.g. "Custom Object").
Example: and(eq(type,3),gte(recordCount,1)) — numeric (3 = Custom Object) ·
in(type,Custom Object,Standard Object) — string form, mixes also allowed ·
eq(customSettingType,2) — numeric (2 = List)
Fields: id, itemId, apiName, label, type, namespace, customSettingType, isReportable, isQueryable, usageQueryFailed, recordCount, lastUsedDate
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-lastUsedDate.
Response Schema
Paginated response containing a list of Salesforce objects scanned in an org.
A minimal representation of a Salesforce object scanned in an org.
Internal Hubbl primary key ID.
Hubbl item identifier.
API name of the object (e.g. Account, Custom_Object__c).
Display label of the object.
Salesforce object type (e.g. Standard Object, Custom Object).
Description text of the object.
Namespace prefix for managed package objects.
Total number of records in the object at scan time.
Count of records created or updated in the last 90 days.
Count of records created or updated in the last 365 days.
Most recent time any record in the object was created or updated.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Permission Sets
Name: list_org_permission_sets
List permission sets for an org with risky-permission flags (Modify All Data, Reset Passwords, Data Export, etc.), assigned-user count, and license. Use get_org_permission_set for one by id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 50, max 200)
Number items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(eq(modifyAllData,true),gte(count,1))
Fields: id, itemId, name, label, apiName, count, userLicense, isCustom, modifyAllData, viewAllData, resetPasswords, dataExport, exportReport, manageSharing, manageRoles, manageUsers, managePasswordPolicies, manageLoginAccessPolicies, manageProfilesPermissionsets, editReadonlyFields, modifyAllPermission, apiEnabled, authorApex, canApproveUninstalledApps
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), ne().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to -count.
Response Schema
Paginated response containing a list of permission sets scanned in an org.
A permission set scanned in an org, with its risky-permission flags. The list subset
omits the long description free text.
Internal Hubbl primary key ID.
Hubbl item identifier.
Permission set name.
Display label of the permission set. Mirrors name (permission sets
have no separate label).
API name of the permission set.
Number of users assigned this permission set.
User license associated with the permission set (e.g. Salesforce).
Whether this is a custom permission set.
Namespace prefix for managed-package permission sets.
Grants Modify All Data.
Grants View All Data.
Grants Reset User Passwords and Unlock Users.
Grants Weekly Data Export.
Grants Export Reports.
Grants Manage Sharing.
Grants Manage Roles.
Grants Manage Users.
Grants Manage Password Policies.
Grants Manage Login Access Policies.
Grants Manage Profiles and Permission Sets.
Grants Edit Read Only Fields.
Grants Modify All permission.
Grants API Enabled.
Grants Author Apex.
Grants approval of uninstalled connected apps.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org PMD Violations
Name: list_org_pmd_violations
List PMD violations (Apex static analysis) for an org: ruleset, rule, priority, line. This is Apex — use list_org_es_lints for LWC/Aura JS lint. Use get_org_pmd_violation for one finding's full record (rule doc URL).
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: eq(priority,1) · and(eq(type,class),ne(engine,pmd))
Fields: id, itemId, metadataId, priority, type, engine, name, label
Operators: and(), or(), not(), eq(), in(), ne(), contains().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to priority.
Response Schema
Paginated response containing PMD static-analysis violations reported against Apex source in an org.
A minimal representation of a PMD static-analysis violation reported against Apex source in an org.
Internal Hubbl primary key ID.
Internal Hubbl ID of the code item (file) the violation was reported against.
The kind of source element the violation applies to (e.g. class, trigger).
The PMD ruleset the rule belongs to.
The PMD rule that produced the violation.
PMD priority of the violation (1 is highest priority).
Human-readable description of the violation.
Line number in the source file where the violation was reported.
Label of the code item the violation was reported against.
Name of the code item the violation was reported against.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org SF Profiles
Name: list_org_sf_profiles
List Salesforce profiles for an org with risky-permission flags (Modify All Data, Reset Passwords, Data Export, etc.), assigned-user count, and license. Use get_org_sf_profile for a single profile by id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 50, max 200)
Number items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(eq(modifyAllData,true),gte(count,1))
Fields: id, itemId, name, label, count, userLicense, custom, modifyAllData, viewAllData, resetPasswords, dataExport, exportReport, manageSharing, manageRoles, manageUsers, managePasswordPolicies, manageLoginAccessPolicies, manageProfilesPermissionsets, editReadonlyFields, modifyAllPermission, apiEnabled, authorApex, canApproveUninstalledApps
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), ne().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to -count.
Response Schema
Paginated response containing a list of Salesforce profiles scanned in an org.
A Salesforce profile scanned in an org, with its risky-permission flags.
Internal Hubbl primary key ID.
Hubbl item identifier.
Profile name (e.g. System Administrator).
Display label of the profile. Mirrors name (profiles have no
separate label).
Number of users assigned to this profile.
User license associated with the profile (e.g. Salesforce).
Whether this is a custom profile.
Grants Modify All Data.
Grants View All Data.
Grants Reset User Passwords and Unlock Users.
Grants Weekly Data Export.
Grants Export Reports.
Grants Manage Sharing.
Grants Manage Roles.
Grants Manage Users.
Grants Manage Password Policies.
Grants Manage Login Access Policies.
Grants Manage Profiles and Permission Sets.
Grants Edit Read Only Fields.
Grants Modify All permission.
Grants API Enabled.
Grants Author Apex.
Grants approval of uninstalled connected apps.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Triggers
Name: list_org_triggers
List Apex triggers in an org. Returns id/name/label, object, isActive, DML-event flags (beforeInsert, afterUpdate, etc.), apiVersion. Use get_org_trigger to fetch a single trigger by id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(eq(isActive,true),eq(objectName,Case)) ·
contains(name,Attachment)
Fields: id, itemId, sobjectId, objectName, name, isActive, beforeInsert, afterInsert, beforeUpdate, afterUpdate, beforeDelete, afterDelete, afterUndelete, apiVersion
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter, plus updatedAt. Prepend - for descending. Defaults to
-updatedAt.
Response Schema
Paginated response containing a list of Apex triggers scanned in an org.
A minimal representation of an Apex trigger scanned in an org.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the object the trigger runs against (e.g. Account, Opportunity).
Developer/API name of the trigger.
Display label of the trigger (populated with name).
Whether the trigger is currently active.
Whether this trigger runs before insert.
Whether this trigger runs after insert.
Whether this trigger runs before update.
Whether this trigger runs after update.
Whether this trigger runs before delete.
Whether this trigger runs after delete.
Whether this trigger runs after undelete.
Salesforce API version of the trigger.
Namespace prefix for managed-package triggers.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Workflows
Name: list_org_workflows
List Salesforce workflow rules in an org. Returns id/itemId/sobjectId, objectName, label, triggerType, isActive, namespace. Covers legacy workflow rules; for Flows, use list_org_flows. Use get_org_workflow for a single rule.
The triggerType field is returned as a numeric ID. Read the hubbl://workflow-trigger-type resource to map IDs back to string values.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Note: The filter accepts both numeric IDs and string values for the
triggerType field interchangeably.
Example: and(eq(isActive,true),eq(objectName,Account)) ·
in(triggerType,onAllChanges,1) — mixes string and numeric triggerType values
Fields: id, itemId, sobjectId, objectName, label, triggerType, isActive
Operators: and(), or(), not(), eq(), in(), contains(), gte(), lte(), between(), isNull(), isNotNull().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter, plus updatedAt. Prepend - for descending. Defaults to
-updatedAt.
Response Schema
Paginated response containing a list of Salesforce workflow rules scanned in an org.
A minimal representation of a Salesforce workflow rule scanned in an org. The subset of fields returned by the workflows list endpoint.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the object the workflow runs against (e.g. Account, Opportunity).
Display label of the workflow rule.
The workflow trigger type (e.g. onCreateOnly, onCreateOrTriggeringUpdate, onAllChanges).
Whether the workflow rule is currently active.
Namespace prefix for managed-package workflows.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Orgs
Name: list_orgs
List/search the Salesforce orgs the caller can access. Returns salesforceId, name, edition, instanceUrl, isSandbox, lastScanDate, lastScanStatus, scanCount, hubblScore. The entry point for resolving an orgId. Use get_org_info for an org's health summary: scores and issue counts.
Input Schema
Number of items to return (default 50, max 200)
Number of items to skip
RQL filter — https://docs.hubbl.com/rql
Example: and(eq(isSandbox,false),contains(name,Acme))
Fields (operators): name (eq, contains), salesforceId (eq, in), edition (eq, in — use the display string, e.g. eq(edition,Enterprise Edition)), isSandbox (eq), lastScanDate (gte, lte, between), hubblScore (gte, lte)
Logical operators: and(), or(), not().
JSON:API sort —
https://jsonapi.org/format/#fetching-sorting
Same fields as filter. Prepend - for descending. Defaults to
-lastScanDate.
Response Schema
Paginated response containing a list of Salesforce orgs the caller can access.
A minimal representation of a Salesforce org the caller can access.
The unique Salesforce identifier for the organization.
The name of the organization.
The Salesforce edition of the organization (e.g. Enterprise Edition).
The Salesforce instance URL for the organization.
Whether this org is a sandbox.
Completion date of the org's most recent completed scan, or null if it has none.
Status of the org's most recent completed scan (always "Completed" when present), or null if it has none.
Total number of scans the caller is entitled to for this org, of any status.
The Hubbl score from the org's most recent completed scan, or null if it has none.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
Server Info
Name: server_info
Returns metadata about this Hubbl MCP server, including the list of supported MCP API versions and each version's deprecation status. Call this to discover the canonical version contract — distinct from the MCP protocol handshake's software version.
Input Schema
No arguments required
Prompts
Prompts are one-click, no-argument starting points. List them with prompts/list; fetch a single
prompt's text with prompts/get by replacing the name with one from the list. The
response is a single user message you can send straight to the model.
{
"jsonrpc": "2.0",
"method": "prompts/get",
"params": {
"name": "top_priority_fixes"
},
"id": 2347
}
Connected App Review
Name: connected_app_review
Unused, over-permissioned, or risky connected apps.
Prompt Text
Review the connected apps in this Salesforce org using Hubbl.
1. Call list_org_connected_apps.
2. Flag apps that are unused, have broad OAuth scopes, or allow risky canvas/mobile access. Use get_org_connected_app for detail on the riskiest.
Return a cleanup list, highest risk first: the app, why it's flagged, and whether to revoke, restrict, or review. Lead with the ones to revoke now.
Legacy Automation Cleanup
Name: legacy_automation_cleanup
Old Workflow Rules and automation to migrate to Flow.
Prompt Text
Find legacy automation to modernize in this Salesforce org using Hubbl.
1. Call list_org_workflows for active Workflow Rules.
2. Call list_org_issues filtered to automation entity types (workflows, flows, triggers) for complexity and migration findings.
Return the legacy automation to migrate to Flow, ranked by impact-per-effort, with a suggested migration order. Lead with what to tackle first.
Security Risk Audit
Name: security_risk_audit
Your highest-risk security findings, with fixes.
Prompt Text
Find the most serious security risks in this Salesforce org using Hubbl.
1. Call list_org_issues filtered to the Secure category at high priority (entity types: profiles, permissionSets, securityHealthCheckRisks).
2. Call list_org_connected_apps and flag any with broad OAuth scopes.
Return one risk-ranked list, highest first. For each: the risk and the remediation. End with the three things to fix first.
Top Priority Fixes
Name: top_priority_fixes
The highest-impact issues to fix in this org, ranked.
Prompt Text
List the most important issues to fix in this Salesforce org using Hubbl.
1. Call list_org_issues sorted by priority, limited to the top 10.
2. Call get_org_recommendation for the top 3 to get remediation detail.
Return a ranked list. For each: the issue, why it matters, and the fix. Order by impact-per-effort, not raw priority. Lead with the single most important action.
Unused Field Cleanup
Name: unused_field_cleanup
Low-usage custom fields that are safe to retire.
Prompt Text
Find unused custom fields to clean up in this Salesforce org using Hubbl.
1. Call list_org_fields sorted by populated percentage, focusing on custom fields with very low usage.
Return the 20 highest-impact fields to retire, grouped by object, each with its populated percentage. Order by lowest risk to remove first. Give a cleanup plan, not a raw list.
Was this page helpful?