Skip to content

Enterprise Integrations Setup (Integrations & Skills)

This page is for enterprise admins: how to configure third-party Integrations in the Admin Console and enable the matching Skills. For how members create their own personal Connectors, see Enterprise & Team.

Most third-party consoles below are shown with their Chinese UI in the screenshots (Salesforce and Azure are in English); the steps in the text apply regardless of UI language.

Admin Console Entry

All Integrations / Skills configuration happens in the MuleRun Enterprise admin pages (the domestic edition is branded Xiaoluozi / 骡子快跑).

Enterprise admins open the admin console at mulerun.com/admin/ (international) or xiaoluozi.com/admin/ (domestic), and find the integration and skill settings under Integrations and Skills in the left nav.

In most cases an Integration needs a Skill to run: the Integration provides the connection MuleRun uses to reach an enterprise app, while the Skill tells the Agent how to use that connection to get a task done.

Salesforce

Configure the enterprise Salesforce app

  1. The Salesforce admin creates an external app in External Client App Manager.

Salesforce setup left nav → External Client App Manager

  1. Record the Consumer Key and Consumer Secret.

Consumer Key and Consumer Secret of the external app

  1. Add MuleRun's callback URL to Callback URL:

    • Domestic: https://nango.xiaoluozi.cn/oauth/callback
    • International: https://nango.mulerun.com/oauth/callback

Entering the Callback URL in the Salesforce external app

  1. Add the OAuth scopes MuleRun is allowed to use.

Selecting allowed OAuth scopes for the app

Follow least-privilege: grant only the scopes you need and avoid full. Common scopes for an enterprise Salesforce app:

  • Access the identity URL service (id, profile, email, address, phone)
  • Manage user data via APIs (api)
  • Manage user data via Web browsers (web)
  • Access Visualforce applications (visualforce)
  • Perform requests at any time (refresh_token, offline_access)
  • Access Lightning applications (lightning)
  • Access the Salesforce API Platform (sfap_api)
  • Access Interaction API resources (interaction_api)
  • Access Einstein GPT services (einstein_gpt_api)

Configure the MuleRun Salesforce Integration

  1. Add the integration: Admin Console left nav Integrations+ Add Integration → choose Salesforce.

Adding a Salesforce integration in the MuleRun Admin Console

  1. Fill in the Salesforce Integration:

Salesforce Integration configuration form

  • Integration Key: a unique integration identifier within your org.
  • Display Name: the name shown to enterprise users.
  • Client ID: the Salesforce Consumer Key (step 2 above).
  • Client Secret: the Salesforce Consumer Secret (step 2 above).
  • Scope: the OAuth scopes granted to the app, separated by spaces (step 4 above).
  1. After confirming, click Test Connection and sign in once — the Integration only becomes active after a successful authorization.

Click Test Connection to authorize once

MuleRun also lets the admin set a Salesforce Hostname here, e.g. acme.my.salesforce.com (no leading https://, no trailing /).

  1. Once connected, the Integration is enabled automatically.

Integration enabled automatically after a successful connection

Use Manage Env Mapping to set the integration's environment-variable values — mainly so Skills can reference the integration's variables. No changes are needed by default.

Enable the Salesforce Skill

MuleRun ships several built-in Salesforce Skills. Enabling a Skill lets the Agent use the Salesforce integration smoothly (e.g. update contacts in Salesforce, fetch opportunities, write weekly reports). Each Skill must be linked to an Integration so it knows how to use the integration's variables.

Left nav Skills → select salesforce-skillEnable. Once enabled it looks like this:

Enabling salesforce-skill

Admins can also disable a Skill, or download a Skill, modify it, and re-upload (which bumps the version). Other Salesforce-related Skills can be enabled one by one as needed.

Enabling other Salesforce-related Skills one by one

Tableau

In production, set Skip TLS to False for security.

Configure the Integration

Tableau Integration configuration

You must rename the environment variables, as shown:

Tableau integration requires renaming the environment variables

Enable the Tableau Skill

Click Enable.

Enabling the Tableau Skill

SAP

  • Skill: sap-odata-mcp
  • Connection: OData Basic Auth (username + password)

SAP Integration configuration (1)

SAP Integration configuration (2)

If the admin parameter is left blank, the user fills it in when connecting; client can also be left for the user to fill in. In production, set Skip TLS to False for security.

SAP integration parameter notes

Then enable the sap-odata-mcp Skill.

Enabling the sap-odata-mcp Skill

DingTalk

Configure the enterprise DingTalk app

  1. The DingTalk admin opens the developer backend at open-dev.dingtalk.com, goes to App Development → Create App, and obtains the Client ID and Client Secret. Under the app's Security Settings → Redirect URL, set the callback:

    • Domestic: https://nango.xiaoluozi.cn/oauth/callback
    • International: https://nango.mulerun.com/oauth/callback

    To use API access, enable the relevant permissions under Permission Management, e.g. Contact.User.Read.

  2. In the top nav, More → Basic Info → Developer Settings → CLI Management: allow members to access personal data via CLI; under Scope Management, set it to all members.

DingTalk developer settings: CLI management and scope

  1. More → Basic Info → Personal Data Authorization → app name → Edit: set each option (e.g. "send messages as the user") to "Always allow".

DingTalk personal data authorization set to Always allow

Configure the MuleRun DingTalk Integration

  1. Add the integration: Admin Console left nav Integrations+ Add Integration → choose dingtalk.
  2. Fill in the DingTalk Integration:

MuleRun DingTalk Integration configuration

  • Integration Key: a unique integration identifier within your org.
  • Display Name: the name shown to enterprise users.
  • Client ID: the Client ID from the DingTalk backend (step 1 above).
  • Client Secret: the Client Secret from the DingTalk backend (step 1 above).
  • Scope: set to openid,corpid.
  1. After confirming, click Test Connection and sign in once; the Integration only becomes active after a successful authorization, and is enabled automatically once connected.

Enable the DingTalk DWS Skill

MuleRun ships the dingtalk-workspace-cli Skill. Left nav Skills → select dingtalk-workspace-cliEnable. The DWS Skill must be linked to the DingTalk Integration.

Enabling dingtalk-workspace-cli and linking the DingTalk integration

Feishu / Lark

Feishu has an international and a domestic edition:

Configure the Feishu app

Prerequisite: create the Feishu organization first and invite members to join.

Feishu Open Platform — create app (1)

Feishu Open Platform — create app (2)

Feishu app configuration (3)

Feishu app configuration (4)

Feishu app permission configuration (5)

Request these permission scopes:

offline_access
contact:user:search
im:chat
im:message
im:message.send_as_user
im:chat:read

Feishu permission scope configuration (6)

Feishu permission scope configuration (7)

Click Publish to reach the following page:

Feishu publish version (8)

Feishu publish version (9)

Then set the callback URL:

  • Domestic: https://nango.xiaoluozi.cn/oauth/callback
  • International: https://nango.mulerun.com/oauth/callback

Feishu set callback URL (10)

Click Save to store a version. Any change must be published as a new version, and publishing requires approval from an org admin.

Feishu version publishing requires admin approval (11)

Enterprise config (fill into MuleRun)

Feishu enterprise configuration (1)

Copy this version's Client ID, Client Secret, and the Scopes configured above, and paste them into the MuleRun Integration edit dialog.

Copy Feishu Client ID/Secret into MuleRun (2)

MuleRun Feishu Integration configuration (3)

After Test Connection passes, enable the lark cli Skill. Note the lark cli skill also supports the Feishu domestic site.

Enabling the lark cli Skill (4)

WeCom (WeChat Work)

Note: WeCom is not configured centrally in the admin backend. Instead, every WeCom user must create their own bot and, when chatting, connect and enter their own bot's Bot ID and Secret — only then can the Agent act on their behalf to chat and manage docs, messages, schedules, meetings, contacts, etc.

WeCom also imposes extra limits on most permissions (currently messages, schedules, meetings, contacts): the current policy is that only orgs with fewer than 10 people can let a bot use these permissions (whether this changes later is unknown).

Create a WeCom bot

Create a bot in the WeCom app or desktop client. Every user must do this themselves.

Path: WeCom (latest version) → Workbench → Bots → Create Bot → Create in API mode (at the bottom of the page) → use long connection → obtain the Bot ID and Secret.

Create a WeCom bot (1)

Create a WeCom bot (2)

Create a WeCom bot (3)

Note: on mobile, the available permissions only let you enable user info; on the desktop client you can also choose document and other permissions. Currently a WeCom org needs fewer than 10 people to get more permissions (messages, schedules, calendar, meetings, etc.) — within WeCom this feature is positioned for small businesses.

WeCom bot available permissions (4)

Configure the MuleRun WeCom Integration

In Integrations choose WeCom, and be sure to leave Bot ID and Bot Secret blank.

MuleRun WeCom integration with Bot ID/Secret left blank

Choose Test Connection and enter the ID and Secret of the WeCom bot you created.

Test Connection with your personal bot ID/Secret

Enable the WeCom CLI Skill

MuleRun ships the wecom-cli-skill Skill. Left nav Skills → select wecom-cli-skillEnable. The Skill must be linked to the WeCom Integration.

Enabling wecom-cli-skill and linking the WeCom integration

Using WeCom as a member

WeCom does not use OAuth; each user must configure their own personal bot and enter the Bot ID and Bot Secret when connecting. When a user connects the WeCom Integration, the following dialog appears — fill in your own bot's ID and Secret.

User enters their personal Bot ID/Secret when connecting WeCom

The Agent can then act with the permissions the user's WeCom authorized — e.g. read user info, work with docs, send messages (for small WeCom orgs), and so on.

Microsoft

Supported services include:

CategoryService / Capability
CoreUsers, Groups
Identity & network accessMicrosoft Entra
ProductivityCalendar (Outlook), Files (OneDrive/SharePoint), Mail (Outlook), Notes (OneNote), Personal Contacts (Outlook), To-Do Tasks, Workbooks & Charts (Excel)
Teamwork & employee growthCalls & Online Meetings (Teams/Skype), Employee Engagement (Viva Engage), Employee Learning (Viva Learning), Shift Management (Shifts), Sites & Lists (SharePoint), Tasks & Plans (Planner), Teamwork & Messaging (Teams)
People & workplace intelligencePeople, Profile (preview), Profile Card Customization, Document Insights (Delve), Analytics (Viva Insights, preview)
Device & app managementBrowser Management (Edge), Cloud Printing (Universal Print), Devices & Apps (Intune), Cloud PC (Windows 365), Device Updates (preview), Multitenant Management (M365 Lighthouse, preview), Service Health & Communications
SecuritySecurity Integration (Entra ID Protection / Purview / Defender XDR / Security Copilot), eDiscovery (Purview Premium), AI-powered Security (Security Copilot)
Cross-device experienceActivity Feed, Device Relay
Usage reportsReports (Teams, OneDrive, Outlook, SharePoint, Skype for Business, Yammer)
EducationEducation (Entra ID + Education), Industry Data ETL (Azure Data Lake, preview)
Business appsCustomer Booking (Bookings), Financials (Dynamics 365 Business Central, preview), Backup Storage (preview)

Register an app in Azure / Entra

  1. Sign in to portal.azure.com with an enterprise Microsoft Entra ID global admin account → search "App registrations" at the top → New registration.

Azure portal → App registrations (1)

  1. Fill in the registration form:
    • Name: custom, e.g. MuleRun-M365.
    • Supported account types: choose Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (recommended, widest coverage).
    • Redirect URI: platform Web, URL per environment:
      • Domestic: https://nango.xiaoluozi.cn/oauth/callback
      • International: https://nango.mulerun.com/oauth/callback
    • Click Register.

Azure app registration form (2)

  1. After creation, record the Application (client) ID on the Overview page — the MuleRun integration needs it.

Record Application (client) ID on the Overview page (3)

  1. To adjust the Redirect URI later, edit it under Authentication (Preview) in the left nav (skip if already set during registration).

Edit Redirect URI under Authentication (4)

Add Microsoft Graph API permissions

  1. Left menu API permissions+ Add a permission.

Azure add API permission entry (1)

  1. Choose Microsoft GraphDelegated permissions, expand by category, then search and select permissions.

Recommended all-in-one read/write M365 permissions (Delegated):

CategoryScopeNotes
Basicoffline_accessRequired, for refreshing tokens
BasicUser.ReadIncluded by default, reads the current user
SharePoint / OneDriveSites.Read.AllRead all sites (required by the File Picker)
SharePoint / OneDriveFiles.Read.AllRead all files the user can access
SharePoint / OneDriveSites.ReadWrite.All / Files.ReadWrite.AllWrite (as needed)
OutlookMail.Read / Mail.SendRead mail / send mail on behalf
TeamsChat.ReadRead the user's chat messages
TeamsChannelMessage.Read.AllRead all channel messages the user can access
TeamsTeam.ReadBasic.AllRead basic team info

Select Microsoft Graph Delegated permissions (2)

  1. Click Add permissions to submit. Permissions that need admin consent (e.g. ChannelMessage.Read.All) will show "Not granted for …" in the status column.
  2. Key step: click Grant admin consent for [tenant]Yes in the dialog to complete tenant-level admin consent. The Status column turning green ✓ means success.

Status turns green after Grant admin consent (3)

Create a Client Secret

  1. Left menu Certificates & secretsClient secrets tab → + New client secret.

Azure create Client Secret entry (1)

  1. Fill in Description (e.g. MuleRun integration) + Expires (24 months recommended) → Add.

Fill in Client Secret description and expiry (2)

  1. Copy the Value column immediately. The Value is only fully visible right after creation; once you leave the page only the first few characters show.

    Note: do not copy the Secret ID on the right — copy the Value (this goes into the Client Secret that MuleRun's Integration needs).

Copy the Client Secret Value immediately (3)

Configure the MuleRun Microsoft 365 Integration

  1. Admin Console left nav Integrations+ Add Integration.

MuleRun add integration (1)

  1. Choose Microsoft in the provider list.

Choose the Microsoft provider (2)

  1. Fill in the configuration:
    • Integration Key: a unique identifier within your org, e.g. microsoft-m365.
    • Display Name: the name shown to users, e.g. Microsoft 365.
    • Credentials Type: locked to OAUTH2.
    • Client ID: the Application (client) ID from the Azure app Overview page.
    • Client Secret: the Value you copied above.
    • Scopes: keep the default offline_access, .default. .default means "use all the permissions statically registered on the Azure app", i.e. it brings over the full set of permissions checked on the Azure side at once, so a single integration covers SharePoint / Teams / Outlook scenarios.

Fill in the Microsoft 365 integration configuration (3)

  1. Click Confirm to create the integration; the Manage dialog appears.

Manage dialog after creation (4)

  1. Click Test ConnectionConnect in the dialog → sign in and authorize with an enterprise account in the Microsoft popup (on first connect, if Azure-side admin consent is not yet done, an admin will be asked to authorize first).

Test Connection sign-in authorization (5)

  1. After authorizing, back in the Manage dialog you'll see ✓ Connection tested, and Enable Integration flips to on by default.

Authorization successful — Connection tested (6)

  1. Back in the Integration list, Microsoft 365 showing Enabled means the integration is in place.

Enable the Microsoft Skill

  1. Admin Console left nav SkillsBuilt-in → find the Microsoft skill.

Find the Microsoft skill under Built-in (1)

  1. Click Enable.

Enable the Microsoft Skill (2)

Note 1: Reset Connections after changing scopes

OAuth-type Integrations often need scopes adjusted more than once. If you've configured new scopes but the Agent still errors with a permissions problem, click Reset Connections.

Click Reset Connections after changing scopes

Note 2: IP allowlisting

Take a self-hosted Tableau service on Alibaba Cloud ECS as an example. In the ECS security group → inbound rules, allowlist TCP access from the following IPs:

Domestic site

  • MuleRun auth service: 139.196.113.227 (fixed) → Tableau self-hosted service
  • Super Agent calling Tableau MCP/CLI/OpenAPI: 47.101.63.227 (fixed) → Tableau self-hosted service

International site

  • auth service: 47.236.192.97 (fixed) → Tableau self-hosted service
  • Super Agent calling Tableau MCP/CLI/OpenAPI: IP not fixed → Tableau self-hosted service
    • You can prompt the Agent: "Visit https://myip.ipip.net/"
    • The Agent prints the sandbox IP, giving you the temporary IP address

Note 3: Skill version management

Older Skill versions may have quality / stability issues or errors. Always keep MuleRun's latest official Skill version enabled: when an official Skill ships a new version, every org's admin must open the Skill edit dialog, switch to the latest version, and click Enable.

Appendix: Integration FAQ

Q: How do Team / Enterprise connect to a customer's business systems like Salesforce or SAP?

A: Via MCP. Direct integration with IM platforms (DingTalk, Feishu, etc.) for in-group use is also supported.

Q: After MuleRun connects to Salesforce, how is employee-identity-based data access controlled?

A: MuleRun connects to Salesforce via OAuth — each user authorizes with their own Salesforce identity, and the data they can reach in MuleRun fully follows that user's own Salesforce permission model. It does not bypass any of Salesforce's existing access controls.

MuleRun Help Center