This guide provides detailed instructions on how to connect your Mingleego assistant to external services such as calendars, email platforms, communication tools, and e-commerce systems to enhance its functionality. Integrations allow your assistant to automate tasks, access external data, and provide seamless user experiences.
For example, your assistant can schedule meetings via Google Calendar or Outlook, send and manage emails through Gmail or Outlook, notify teams in Slack, manage store operations in Shopify, or handle listings and orders on eBay based on user requests.
This guide covers enabling and setting up integrations, with a focus on Google Calendar, while other integrations such as Gmail, Outlook, Slack, Shopify, and eBay are in development.
Note: This guide assumes you have an account on the Mingleego platform. If not, please sign up here before proceeding.
The Mingleego platform supports the following integrations. Select an integration to learn more about its setup and capabilities:
Automate appointment booking with working hours and time slots.
Let the assistant read, create, and delete events in your personal calendar.
Automate email sending and management (in development).
Automate email communication and calendar management.
Enable real-time team communication and notifications.
Manage store operations and automate customer interactions.
Manage listings and automate marketplace interactions.
Manage contacts, deals, and companies through your assistant.
Create contacts, companies, leads, and tasks in Bitrix24.
Integrating your assistant with google calendar allows it to create, manage, and retrieve calendar events based on user requests. For example, a user might say, “Book an appointment for tomorrow at 10 AM”, and the assistant will create a corresponding event in your google calendar.
To enable Google calendar integration, follow these steps:
After authentication, a configuration form will appear. Fill in the following fields to set up how your assistant manages calendar events:
Event Summary:
Enter a default title for events created by the assistant (e.g., “Client Meeting”). This will appear as the event title in the Google calendar.
Event Description:
Add details for the event, such as a phone number, email, address, or preparation instructions (e.g., “Please bring project documents”). These will be visible in the calendar event description.
Timezone:
Select the timezone that matches your Google calendar. This ensures events are scheduled correctly.
Time Slot Duration:
Specify the default duration of each event in minutes (e.g., 30 minutes for a consultation).
Working Hours:
Set the start and end times for your availability (e.g., 9:00 AM to 5:00 PM). The assistant will only schedule events within these hours.
Calendar Instructions:
The system automatically generates instructions for managing calendar events based on your input in fields like timezone, time slot duration, and working hours. After generation, you can review and edit these instructions to include business-specific details, such as “Avoid scheduling on weekends” or “Include a 15-minute buffer between meetings”.
Note: Any manual changes to the calendar Instructions will be overwritten if you modify timezone, time slot duration, or working hours. To add custom settings, such as non-working days or breaks, edit the instructions after they are generated. For more details on customizing instructions, refer to the system instructions guide.
The classic Google Calendar integration is the simpler, personal counterpart to the business calendar above. Instead of configuring booking rules, working hours, and meeting templates, you simply connect your Google account and choose which calendar actions the assistant may perform. It is ideal for managing your own day — reading your schedule, checking availability, and creating or removing events on request.
Business vs personal: the business calendar is built for appointment booking with fixed working hours, time slots, and branded events shown to your clients. The personal calendar has no booking configuration — it just exposes a set of tools that act on your own calendar. You can connect either one, or both, on the same assistant.
Connecting the personal calendar uses Google OAuth — there are no credentials to copy or apps to register.
Once connected, choose which tools the assistant is allowed to use in the personal-calendar configuration. See Google Calendar tools below for what each tool does. The assistant always reads live calendar data and detects your timezone automatically from your Google Calendar settings — it never asks you for it.
Each tool below is a specific capability the assistant uses when working with your personal Google Calendar. Enable only the ones you need — for example, a read-only assistant might enable viewing and availability but not creation or deletion.
google_calendar_create_event
Creates a new event in your Google Calendar — meetings, appointments, reminders, and calls — directly from the conversation, without opening Google Calendar separately. The assistant accepts natural-language dates and times in any format ("Book a call with Anna next Friday at 3pm") and uses the timezone configured in your Google Calendar account automatically.
google_calendar_get_events
Shows what's on your calendar during a selected period, answering questions like "What do I have tomorrow?" or "Show me my Friday schedule" with real, live data. The assistant presents event names, times, and relevant details in plain language so you get a clear picture of your day without switching apps.
google_calendar_get_availability
Checks whether you are free or busy during a specific time window. When you ask "Am I available Thursday afternoon?" or "Do I have anything at 2pm?", the assistant reads your live calendar and returns a clear answer — free or busy, and which slots are taken — useful before proposing a meeting time.
google_calendar_delete_events
Removes events within a selected time range. When you want to clear your schedule — "Cancel everything tomorrow morning" or "Delete my Friday meetings" — the assistant finds the matching events and removes them, confirming which events will be affected before deleting so nothing is removed by accident.
Integrating your assistant with outlook allows it to send and manage emails, as well as create and manage calendar events based on user requests. For example, a user might say, "Send a follow-up email and schedule a check-in for next week", and the assistant will perform both actions through your outlook account.
To enable Outlook integration, follow these steps:
After authentication, a configuration panel will appear with selectable tools. Enable only the tools your assistant needs for your workflow.
Search tools:
Action tools:
Note: Enable only the tools required for your use case. Limiting enabled tools helps reduce unintended actions and keeps assistant behavior predictable.
Integrating your assistant with slack allows it to search conversations, retrieve messages, and perform channel actions based on user requests. For example, a user might say, "Find the latest incident update in #ops and reply with an acknowledgment", and the assistant will complete these actions in your Slack workspace.
Connecting Slack takes just a few clicks. Mingleego uses a managed OAuth application, so you do not need to create your own Slack app or copy any bot tokens — you only need to authorize access to your Slack workspace.
Once connected, choose which tools the assistant is allowed to use in the Search tools and Action tools sections of the Slack configuration. See Slack tools below for what each tool does. To verify everything works, open the Playground and try a command such as "Search messages in #support for password reset and reply with the help center link".
Each tool below is a specific capability the assistant uses when working with Slack. All tools require a connected Slack integration. The assistant has no built-in knowledge of your workspace structure — channel IDs, user IDs, and message timestamps are either provided directly or first obtained through the lookup tools (Find public channel, Find user by email, Search messages).
slack_find_user_by_email
Looks up a Slack user by email address or username and returns their basic profile — user ID, display name, and email. This is the starting point for any action targeting a specific person: you need their user ID before you can message them, check their memberships, or remove them from a channel.
The value is sent directly to the Slack API — no fuzzy matching is applied. If the user is not found, the lookup fails without retrying.
slack_find_public_channel
Resolves a public channel name into its Slack channel ID. Since every other tool works with channel IDs rather than names, this is usually the first step whenever a channel is referenced by name.
Performs an exact name lookup (do not include the # symbol). Private channels cannot be discovered this way — their IDs must be provided directly.
slack_get_message
Fetches a single specific message using its channel ID and timestamp. Returns the message text, the author's user ID, and the timestamp. This is an exact lookup — it does not browse history or search by content.
Requires both the channel ID and the message timestamp. System messages (bot events, join notices) are not supported. Use Search messages if you don't have the exact timestamp.
slack_get_message_permalink
Returns a permanent, shareable URL pointing to a specific Slack message — useful for referencing messages in documents, emails, or other channels.
Returns the link only, not the message text. If you need both, this tool and Get message are called separately.
slack_get_conversation
Retrieves basic metadata about a Slack channel by its channel ID — the channel ID, name, and whether it is public or private. A background utility used to verify channel details before performing an action.
Exact lookup by channel ID only — it does not accept channel names. Use Find public channel first if you only have the name.
slack_get_conversation_members
Returns a list of user IDs for the members of a channel or direct message.
Returns up to 50 user IDs per call; additional pages must be requested explicitly. User IDs are not resolved to names automatically — use Find user by email for that.
slack_search_messages
Searches the whole Slack workspace for messages matching a text query. Each result includes the author's username, message text, timestamp, and a direct permalink. This is the right tool when you don't know the exact message location — for example, "find messages about the budget approval".
Requires a user token with the search:read scope — a bot token alone is not sufficient.
slack_send_message
Posts a single new message to a public Slack channel. Each call sends exactly one standalone message.
Requires the channel ID (not the channel name). Does not create or continue threads — use Reply to message for that, or Send private channel message for private channels.
slack_send_private_channel_message
Posts a single message to a private (invite-only) Slack channel. Works like Send message, but for restricted channels.
The bot must already be a member of the private channel — this tool cannot join channels on its own. The private channel ID must be provided directly.
slack_reply_message
Posts a reply inside an existing Slack thread. Requires the channel ID, the timestamp of the parent message, and the reply text. The message appears as a thread reply, not as a top-level channel message.
Always posts inside the thread. To post a standalone message instead, use Send message.
slack_delete_message
Permanently deletes a specific message from a Slack channel, using its channel ID and timestamp.
This action is permanent and irreversible — there is no confirmation step and no undo. The bot can typically only delete messages it posted itself, unless it has admin-level permissions.
slack_remove_user_from_channel
Removes a specific user from a Slack channel, using the channel ID and the user's Slack user ID.
Requires the user's Slack user ID (not their name or email). Depending on workspace permissions, Slack may return a restricted_action error — a Slack-side restriction that cannot be bypassed by retrying.
Note: Enable only the tools required for your use case. Limiting enabled tools helps reduce unintended actions and keeps assistant behavior predictable.
Note: This section is optional and kept for reference. The standard Mingleego integration uses a managed OAuth application — most users should follow Setting up Slack above and can skip this section entirely. Creating your own Slack app is only relevant for advanced or self-hosted setups.
https://mingleego.com/api/slack/callback and click Add.
| OAuth Scope | Description |
|---|---|
bookmarks:read | Read channel bookmarks |
channels:history | Read messages in public channels |
channels:manage | Create, archive, manage public channels |
channels:read | View list of public channels |
channels:write.invites | Invite users to public channels |
chat:write | Send messages as the bot |
conversations.connect:read | Access shared channel info (Slack Connect) |
groups:history | Read messages in private channels |
groups:read | View private channels the bot is in |
groups:write | Manage private channels |
im:history | Read direct messages |
im:read | View direct message conversations |
im:write | Send direct messages |
mpim:history | Read group direct messages |
mpim:read | View group DM conversations |
mpim:write | Send messages in group DMs |
xoxb-).
Integrating your assistant with shopify allows it to access store data and automate commerce-related workflows based on user requests. For example, a user might say, "Check product availability and prepare an update for the customer", and the assistant will use your Shopify connection to support that request.
To enable Shopify integration, follow these steps:






https://mingleego.com
https://mingleego.com/api/slack/callback
Add the following scopes to your app:
| Scope | Description |
|---|---|
| read_customers | view customer data |
| write_customers | create or update customers |
| read_fulfillments | view fulfillment information |
| read_orders | view orders |
| write_orders | create or update orders |
| read_products | view products |
For proper functionality and seamless integration of this service, all scopes listed above must be added and granted to the application. After adding the required scopes and configuring the redirect URL, you must click the Release button to apply and save the changes.
.myshopify.com domain.
Note: Shopify credentials are tied to a custom app. If you do not have one yet, create a custom app first (see Create a Shopify app) and then use its credentials to connect the integration.
Each tool below is a specific capability the assistant uses when working with Shopify. All tools require a connected Shopify integration and work only with data from your own store.
shopify_find_order_by_number
Finds a specific order by its order number — for example, "#1001". The assistant uses this tool whenever a customer mentions a specific order number, and it returns a single order with full details.
shopify_list_orders
Returns a list of store orders, up to 50 at a time. The assistant uses this tool to browse through all orders in the store, requesting the next page with the cursor from the previous response.
shopify_get_order_info
Returns the essential information about an order — its status, total price, and list of items — using the order's internal Shopify ID.
The internal order ID is different from the human-readable order number. If the assistant only has the number (e.g. "#1001"), it first uses Find order by number to resolve it.
shopify_get_order_tracking
Returns shipment tracking data for a specific order — carrier name, tracking number, and a tracking link when one is available. The assistant uses this tool when a customer asks where their package is.
The assistant never constructs tracking URLs on its own — it only uses the link provided by Shopify in the response.
shopify_client_search_products
Searches for products by a fragment of their title and returns up to 50 matches — partial words work too. The assistant uses this tool when a customer refers to a product by name but doesn't know its ID.
shopify_client_get_product_info
Returns full details for a single product — description, variants, prices, and availability. The assistant uses this tool after a search to show a complete product card to the customer.
Integrating your assistant with ebay allows it to work with marketplace-related workflows using your seller account context. For example, a user might say, "Check listing details and prepare a seller response", and the assistant will use your eBay integration to support that request.
Connecting eBay takes just a few clicks. Mingleego uses a managed OAuth application, so you do not need to create your own eBay developer app or copy any API keys — you only need your eBay seller username and to authorize access to your account.
Once connected, choose which tools the assistant is allowed to use in the eBay configuration. See eBay tools below for what each tool does. To verify everything works, open the Playground and try a command such as "Check the listing status for item 1234567890 and summarize it".
Each tool below is a specific capability the assistant uses when working with eBay. All tools require a connected eBay integration with a valid seller account, and product and order lookups work only with data from your own eBay store.
ebay_client_search_products
Searches your eBay store's listings by keyword and returns matching products with their prices.
Connect this tool so customers can ask the assistant things like "Do you have any red sneakers?" or "Show me laptops under $500" and get real results from your live eBay listings — without leaving the chat. The assistant searches only within your store, so customers only see what you actually sell.
ebay_client_get_product_info
Pulls up the full details of a specific eBay listing — title, price, condition, and seller.
Once a customer finds a product they're interested in, this tool lets the assistant show them the complete listing card right inside the conversation — what it is, what condition it's in, how much it costs, and who's selling it.
ebay_client_get_seller_info
Looks up the public profile of the seller behind a specific eBay listing.
Connect this tool if you want the assistant to answer questions like "Who is selling this?" or "Can I see the seller's profile?". It returns the seller's username, feedback score, and a direct link to their eBay profile — helping customers make a more confident buying decision.
ebay_get_order_info
Retrieves the status and key details of a specific eBay order by its order ID.
Connect this tool so the assistant can answer customer questions like "What's the status of my order?" or "When was my purchase placed?". It shows the order date, current fulfillment status, total amount paid, and the buyer's username — a quick order summary without needing to open eBay separately.
Note: This section is optional and kept for reference. The standard Mingleego integration uses a managed OAuth application — most users should follow Setting up eBay above and can skip this section entirely. Creating your own eBay developer app is only relevant for advanced or self-hosted setups.
After creating your application, eBay will redirect you to the Alerts & Notifications configuration page. You must configure the Event Notification Delivery Method:
https://mingleego.com/api/ebay/account-deletionmcp_production_verification_token_2026_secureNote: eBay requires a successful test notification. Your endpoint must respond correctly and validate the verification token. If the test fails — you will NOT be able to proceed.
https://mingleego.com/api/ebay/callback.
Note: Use credentials from the eBay Developer Program for the same environment (Sandbox or Production) you plan to use in Mingleego.
Integrating your assistant with HubSpot CRM allows it to manage contacts, deals, and companies based on user requests. For example, a user might say, "Create a new contact for John Smith from Acme Corp", and the assistant will add it directly to your HubSpot CRM.
Connecting HubSpot takes just a few clicks. Mingleego uses a managed OAuth application, so you do not need to create your own HubSpot app or copy any API keys — you only need to authorize access to your HubSpot account.
Once connected, choose which tools the assistant is allowed to use in the Customer and User sections of the HubSpot configuration. See HubSpot tools below for what each tool does.
Each tool below is a specific capability the assistant uses when working with HubSpot. Some run automatically in the background, others are triggered naturally during a conversation. In every case the goal is the same: keep the CRM clean, accurate, and well-structured — without burdening the user with technical details.
In the HubSpot configuration, related tools are grouped together. Enabling a Search tool also enables its matching "view record" and "explore relationships" tools, since they are used together.
hubspot_create_contact
Creates a contact record in HubSpot, or reuses an existing one if the person has been in touch before. Before creating anything, the assistant searches by first name, last name, or email and tries different variations — a new contact is created only when no match is found.
The assistant never behaves like a registration form. Details are gathered naturally over the conversation — the name early on, the email only when a follow-up is needed, the phone number only when it is genuinely useful.
hubspot_create_company
Creates an organization record, or finds and reuses an existing one. Used whenever the conversation has a business dimension — sales, B2B onboarding, partnerships, or corporate support. The assistant searches by company name, abbreviation, domain, or partial match before creating a new record.
The assistant asks for company details only when the business context is clear. If it is unsure, it may simply ask whether the person is reaching out individually or on behalf of an organization.
hubspot_create_deal
Creates a deal, support request, onboarding case, or any other matter that needs follow-up. The assistant decides on its own when a conversation has become significant enough to track — a serious problem, a business opportunity, or a situation that may need human involvement.
Before creating a deal, the assistant finds the related contact and company, links them together, and checks for a similar open case — all in the background.
hubspot_create_full_lead
The full-cycle CRM tool: it creates a contact, a company, and a deal at once, links them all together, and ensures a clean data structure from the start. Best used when a new lead or customer needs to be fully onboarded into the system.
The assistant searches for existing records, creates whatever is missing, builds all the associations, and sends notifications if configured. The user simply explains the situation — everything else happens automatically.
hubspot_update_contact
Updates an existing contact's information. When the new data differs from what is already on file — a changed phone number, a corrected surname, a new email — the assistant explains exactly what is different and asks for confirmation before applying any change.
This tool never silently overwrites data. Only the fields that actually changed are updated, which keeps CRM records accurate and trustworthy.
hubspot_link_contact_to_company · hubspot_link_deal_to_contact · hubspot_link_deal_to_company
These tools manage the internal relationships in your CRM: connecting contacts to companies, deals to people, and deals to organizations. They usually work automatically in the background, and the user never interacts with them directly.
When the context is clear — someone mentions the company they work for, or a conversation clearly belongs to a specific deal — the assistant builds the necessary associations on its own, without asking the user to manage CRM relationships manually.
hubspot_customer_search_contacts
Searches contacts by first name, last name, email, or partial values. The search is not limited to exact matches — the assistant can split a full name into separate parts, try different spellings, and fall back to an email lookup, all without asking the user to refine their input.
hubspot_customer_search_companies
Searches companies by name, abbreviation, domain, or partial match. It recognizes that the same organization may be referred to in different ways — "Acme Corp", "Acme", "acme.io" — and tries several variations before concluding that no matching record exists.
hubspot_customer_search_deals
Searches deals, support requests, onboarding cases, and other business records. The assistant understands conversational queries such as "find the Acme onboarding" or "show open support tickets" and translates them into accurate CRM searches.
hubspot_customer_get_contact_by_id · hubspot_customer_get_company_by_id · hubspot_customer_get_deal_by_id
Retrieve a complete record when its ID is already known. Used to open a full customer profile, company page, or deal card rather than just a short line from search results.
hubspot_customer_get_contact_associations · hubspot_customer_get_company_associations · hubspot_customer_get_deal_associations
Show which records are connected to a given contact, company, or deal. Useful for understanding the full picture: who a client works with, which companies are involved in a deal, or who owns a particular case.
Email notifications: if the assistant's email integration is enabled, key CRM events — contact creation, data updates, deal creation — can automatically send notifications to the account owner.
The assistant also works proactively, not only on explicit requests. Whenever it talks to a new customer, it can record the new lead's details in your CRM right away — or update an existing contact's information if something has changed — as long as the matching tool (Create contact, Create full lead, or Update contact) is enabled in the HubSpot configuration. The data is gathered naturally during the conversation, so the customer never feels like they are filling out a form.
Note: This section is optional and kept for reference. The standard Mingleego integration uses a managed OAuth application — most users should follow Setting up HubSpot CRM above and can skip this section entirely. Creating your own HubSpot app is only relevant for advanced or self-hosted setups.
https://mingleego.com/api/hubspot/callback
| Scope | Description |
|---|---|
crm.objects.contacts.read | Read contacts |
crm.objects.contacts.write | Create or update contacts |
crm.objects.deals.read | Read deals |
crm.objects.deals.write | Create or update deals |
crm.objects.companies.read | Read companies |
crm.objects.companies.write | Create or update companies |
crm.schemas.contacts.read | Read contact schema (fields structure) |
crm.schemas.deals.read | Read deal schema (fields structure) |
Note: All scopes listed above must be added and granted to the application for proper functionality.
Integrating your assistant with Bitrix24 CRM allows it to create contacts, companies and leads, leave internal comments on records, and schedule tasks based on user requests. For example, a user might say, "Save this customer and remind me to call them on Friday", and the assistant will create the contact in Bitrix24 and add a task for the follow-up.
Connecting Bitrix24 requires a Local Application registered inside your Bitrix24 portal. You will copy its Client ID, Client secret and your portal domain into the Mingleego connect popup.
company.bitrix24.com), Client ID and Client secret.Once connected, choose which tools the assistant is allowed to use in the Customer and User sections of the Bitrix24 configuration. See Bitrix24 tools below for what each tool does.
Need a Local Application? Follow the steps in Advanced: create your own Bitrix24 Local Application — it walks through creating the app, setting the right paths and granting CRM and Tasks permissions.
Each tool below is a specific capability the assistant uses when working with Bitrix24. The Customer section contains tools that may be triggered while the assistant is talking to a visitor — creating contacts, companies and leads. The User section contains tools meant for the CRM owner — searching the CRM, leaving internal notes and creating tasks.
bitrix_create_contact
Creates a new contact record in Bitrix24 with the details collected during the conversation — typically the name, phone number and email. The assistant gathers this information naturally and confirms key fields before saving them to the CRM.
bitrix_update_contact_by_id
Updates an existing Bitrix24 contact when the visitor provides corrected or additional details. The assistant identifies the right contact by its ID before applying changes.
bitrix_create_company
Creates a new company record. Used when the conversation has a business dimension — a B2B inquiry, a partnership request, or any other situation where a company should be recorded in the CRM.
bitrix_create_lead
Creates a sales lead in Bitrix24 with the information gathered from the visitor. Best used when the conversation indicates real buying intent and the lead should be picked up by your sales team.
bitrix_customer_search_contacts
Searches contacts in Bitrix24 by name, email, phone, or partial matches. Used by the assistant before creating a new contact to avoid duplicates, and also when the user asks the assistant to look up a person.
bitrix_customer_search_companies
Searches companies in Bitrix24 by title or other attributes. Useful for finding the right organization to attach a contact, lead or task to.
bitrix_customer_search_leads
Searches existing leads by title, related contact, or company. Lets the assistant find and re-use existing pipeline records instead of duplicating them.
bitrix_add_comment_to_contact
Adds an internal note or comment to a Bitrix24 contact. Useful for recording context that should be visible to your team but not displayed to the customer.
bitrix_add_comment_to_company
Adds an internal note or comment to a Bitrix24 company record — for example, a summary of a recent conversation or important context about the relationship.
bitrix_add_comment_to_lead
Adds an internal note or comment to a Bitrix24 lead, capturing useful context from the conversation alongside the sales record.
bitrix_create_task
Creates a Bitrix24 task with a title, description and responsible user. Used when the conversation produces a clear follow-up action — a callback, a document to prepare, or a check-in.
The assistant works proactively as well. Whenever it talks to a new customer, it can register the visitor as a contact or lead, leave an internal note summarizing the conversation, and create a task for the team — as long as the matching tools are enabled in the Bitrix24 configuration.
Note: A Local Application is required to connect Bitrix24. Follow the steps below to register the app inside your portal and obtain the Client ID and Client secret used in the Mingleego connect popup.
company.bitrix24.com) is the portal domain you will use in Mingleego.
Fill in the form with the following values:
| Field | Value |
|---|---|
| Your handler path | https://mingleego.com/api/bitrix/callback |
| Initial installation path | https://mingleego.com/api/bitrix/callback |
| Menu item text | any descriptive name (for example, Mingleego AI, Your Company AI, AI Assistant) |
Note: Leave Script only (no user interface) unchecked. Supports BitrixMobile is optional.
| Scope | Description |
|---|---|
crm (CRM) | Required for working with contacts, companies, leads, deals and comments |
task (Tasks) | Required only if you plan to enable the bitrix_create_task tool |
Note: Without the crm scope the assistant cannot create or update CRM records. Without the task scope it cannot create tasks.
client_id) and the Application key (client_secret) directly in the form.
b24-xxxx.bitrix24.pl or company.bitrix24.com).