AWS Machine Learning Blog
Automate actions across enterprise applications using Amazon Q Business plugins
Amazon Q Business is a generative AI-powered assistant that enhances employee productivity by solving problems, generating content, and providing insights across enterprise data sources. Beyond searching indexed third-party services, employees need access to dynamic, near real-time data such as stock prices, vacation balances, and location tracking, which is made possible through Amazon Q Business plugins. Furthermore, Amazon Q Business plugins enable employees to take direct actions within multiple enterprise applications—such as upgrading service ticket priorities—through a single Amazon Q Business interface, eliminating the need to switch between different systems and saving valuable time.
In this post, we explore how Amazon Q Business plugins enable seamless integration with enterprise applications through both built-in and custom plugins. We dive into configuring built-in plugins such as Salesforce, creating custom plugins for specific business needs, and real-world use cases showing how plugins can streamline employee workflows across multiple applications
Plugins enable Amazon Q Business users to use natural language to access non-indexed data (for example, available calendar slots, stock prices, and PTO balance) and take actions (for example, book a meeting or submit PTO) using third-party services such as Jira, ServiceNow, Salesforce, Fidelity, Vanguard, ADP, Workday, and Google Calendar. This provides a more straightforward and quicker experience for users, who no longer need to use multiple applications to complete tasks.
Solution overview
The following figure illustrates a sample architecture using Amazon Q Business plugins.
Amazon Q Business can connect to enterprise applications using over 50 connectors and over 10 plugins. Administrators can use connectors to pre-index the content from enterprise sources into Amazon Q Business to be used by end-users, whereas plugins can be configured to retrieve information and perform actions in real time on enterprise applications. There are two types of plugins:
- Built-in plugins – These are available by default in Amazon Q Business. Built-in plugins carry out specific actions in an enterprise application. At the time of writing, we support predefined operations on Jira Cloud, ServiceNow, Zendesk Suite, Microsoft Teams, Atlassian Confluence, Smartsheet, Salesforce, Microsoft Exchange, Asana, and Google Calendar.
- Custom plugins – These are created by administrators to interact with specific third-party services and the API endpoints. Administrators have flexibility in defining the behavior and actions carried out by custom plugins.
In the following sections, we discuss the capabilities of built-in plugins and custom plugins, with examples to create each type of plugin.
Built-in plugins
Amazon Q Business supports more than 50 actions in applications, including:
- PagerDuty Advance, ServiceNow, and Zendesk Suite for ticketing and incident management
- Atlassian Confluence, Jira Cloud, and Smartsheet for project management
- Salesforce for customer relationship management (CRM)
- Microsoft Exchange and Teams for communication
- Asana and Google Calendar for productivity
The following table provides a complete list of the Amazon Q actions available for each application.
Category | Application | Actions |
Ticketing and incident management | PagerDuty Advance | • Get incidents • Similar incidents • Root cause incident • Find recent changes • Who is on-call • Status update on incident • Customer impact • Update incident |
ServiceNow | • Create incident • Read incident • Update incident • Delete incident • Read change request • Create change request • Update change request • Delete change request |
|
Zendesk Suite | • Search content • Get ticket • Create ticket • Update ticket |
|
Project management | Atlassian Confluence | • Search pages |
Jira Cloud | • Read issue • Create issue • Search issue • Change issue status • Delete issue • Read sprint • Move issue to sprint • Create sprint • Delete sprint |
|
Smartsheet | • Search sheets • Read sheet • List reports • Get report |
|
Customer Relationship Management (CRM) | Salesforce | • Get account list • Get case • Create case • Delete case • Update case • Get opportunities • Get specific opportunity • Create opportunity • Update opportunity • Delete opportunity • Fetch specific contact • List contacts |
Communication | Microsoft Exchange | • Get events from calendar • Get email |
Microsoft Teams | • Send private message • Send channel message (public or private) |
|
Productivity | Asana | • Create a task • Update a task |
Google Calendar | • Find events • List calendar |
Built-in plugin example: Configure the Salesforce built-in plugin with Amazon Q Business
Salesforce is a CRM tool for managing customer interactions. If you’re a Salesforce user, you can activate the Amazon Q Business plugin for Salesforce to allow your users to perform the following actions from within their web experience chat:
- Managing cases (create, delete, update, and get)
- Retrieving account lists
- Handling opportunities (create, update, delete, get, and fetch specific)
- Fetching specific contacts
To set up this plugin, you need configuration details from your Salesforce instance to connect Amazon Q Business with Salesforce. For more information, see Prerequisites
After carrying out the prerequisites in Salesforce and capturing configuration details, you need to configure them on the Amazon Q Business console.
To configure the plugin, complete the following steps:
- On the Amazon Q Business console, choose Applications in the navigation pane.
- Select your application and on the Actions menu, choose Plugins.
- Choose Add plugin.
- Under Add plugin, provide the following information:
- Choose Salesforce as your plugin.
- For Plugin name, enter a name for your Amazon Q plugin.
- For Domain URL, enter your Salesforce domain URL. For example,
https://yourInstance.my.salesforce.com/services/data/v60.0
.
- Choose Salesforce as your plugin.
- Under OAuth 2.0 authentication, for AWS Secrets Manager secret, select Create and add a new secret or Use an existing one. (For this example, we create a new AWS Secrets Manager secrets).
- In the Create new AWS Secrets Manager secret pop-up, enter the following information:
- For Secret name, enter a name for your secret.
- For Client ID, enter the client ID generated when you created your OAuth 2.0 application in Salesforce.
- For Client secret, enter the client secret generated when you created your OAuth 2.0 application in Salesforce.
- For Redirect URL, enter the URL to which the user needs to be redirected after authentication. If your deployed web URL is
<q-endpoint>
, use<q-endpoint>/oauth/callback
. Amazon Q Business will handle OAuth tokens in this URL. This callback URL needs to be allowlisted in your third-party application. - Choose Create.
- For Access token URL, enter
https://login.salesforce.com/services/oauth2/token
(Salesforce OAuth applications). - For Authorization URL, enter
https://login.salesforce.com/services/oauth2/authorize
(Salesforce OAuth applications). - Under Service access, select Create and add a new service role or Use an existing service role. Make sure that your service role has the necessary permissions.
- Under Tags, you can add optional tags to track your plugin.
- Choose Add.
You have successfully added the Salesforce built-in plugin to be used by users. Example usage of this plugin is shown in the end-to-end use case later in this post.
Custom plugins
If an action isn’t available through built-in plugins, then you can build a custom plugin and add it to your Amazon Q Business plugins. With custom plugins, you can integrate Amazon Q with third-party applications for a variety of different use cases. After a custom plugin is enabled, users can use natural language to query data (such as stock prices or their vacation balance) and take actions (such as submitting vacation time or updating a record).
Creating and using custom plugins requires the following high-level steps:
- Configure authentication and network information for the third-party application to interact with Amazon Q Business.
- Create or edit an OpenAPI schema outlining the different API operations that you want to enable for your custom plugin. You can configure up to eight API operations per custom plugin.
- After the custom plugin is deployed, Amazon Q Business will dynamically determine the appropriate APIs to call to accomplish a user-requested task. To maximize accuracy, review the best practices for configuring OpenAPI schema definitions for custom plugins.
Custom plugin example: Configure the HR Time Off custom plugin with Amazon Q Business.
The HR Time Off custom plugin is designed to help employees manage their time off requests through Amazon Q Business. An employee can use this custom plugin to perform the following actions directly from an Amazon Q business web experience chat:
- Check available time off balance
- Submit time off requests
The following figure shows the architecture of this plugin.
This integration allows employees to manage their time off requests seamlessly in Amazon Q Business without having to switch between different applications, improving productivity and user experience.
For an AWS CloudFormation template and code samples to deploy an HR Leave Management System application along with the Amazon Q Business plugin, refer to the following GitHub repo.
To configure Amazon Q Business with the API details, complete the following steps:
- On the Amazon Q Business console, in the navigation pane, choose Applications.
- Select your application from the list of applications.
- Choose Enhancements, and then choose Plugins.
- Choose Add plugin.
- Under Add plugin, choose Custom plugin.
- Under Name and description, for Plugin name, enter a name for your Amazon Q plugin. The name can include hyphens (-) but not spaces and can have a maximum of 1,000 alphanumeric characters.
- Under API schema, for API schema source, select one of the following options:
- Select Select from Amazon S3 to select an existing API schema from an Amazon Simple Storage Service (Amazon S3) bucket. Your API schema must have an API description, structure, and parameters for your custom plugin. Then, enter the Amazon S3 URL to your API schema.
- Select Define with in-line OpenAPI schema editor to write a custom plugin API schema in the inline OpenAPI schema editor in the Amazon Q console. A sample schema appears that you can edit. Then, you can choose to do the following:
- Select the format for the schema: JSON or YAML.
- To import an existing schema from Amazon S3 to edit, choose Import schema, provide the Amazon S3 URL, and choose Import.
- To restore the schema to the original sample schema, choose Reset and then confirm the message that appears by choosing Reset
- Under Authentication, select either Authentication required or No authentication required.
- If no authentication is required, there is no further action needed. If authentication is required, choose Create and add a new secret or Use an existing one. (For this post, we create a new secret.)
Your secret must contain:
- In the Create an AWS Secrets Manager secret pop-up, provide the following information:
- For Secret name, enter a name for your Secrets Manager secret.
- For Client ID, enter the client ID you copied from your third-party application.
- For Client secret, enter the client secret you copied from your third-party application.
- For OAuth callback URL, enter the URL to which the user needs to be redirected after authentication. If your deployed web URL is
<q-endpoint>
, use<q-endpoint>/oauth/callback
. Amazon Q Business will handle OAuth tokens in this URL. This callback URL needs to be allowlisted in your third-party application. - Choose Create.
- Under Choose a method to authorize Amazon Q Business, select Create and add a new service role or Use an existing service role. Make sure that your service role has the necessary permissions.
- The console will generate a Service role name.
- Under Tags, you can add optional tags to track your plugin.
- Choose Add to add your plugin.
You have successfully added the HR Time Off custom plugin to be used by users. Example usage of this plugin is shown in the end-to-end use case later in this post.
End-to-end use cases using built-in and custom plugins
Sarah, a Customer Success Manager, demonstrates the seamless use of multiple applications through Amazon Q Business. Using Amazon Q Business, she uses a Salesforce built-in plugin to check high-value opportunities and create cases, uses ServiceNow’s built-in plugin for ticket management on email synchronization issues of her laptop, and uses a custom HR plugin to check her PTO balance and submit time off requests.
Overview of the Amazon Q Business setup
To enable Sarah’s seamless experience across multiple applications, an Amazon Q Business administrator needs to implement a comprehensive configuration that combines both built-in and custom plugins. This enterprise-wide setup consists of:
- UI integration
- Implement the Amazon Q Business chat interface
- Configure user interaction endpoints
- Built-in plugin setup
- Integrate ServiceNow for IT service management and incident handling
- Configure Salesforce plugin for CRM operations and case handling
- Custom plugin implementation
- Set up the HR Time Off plugin employee leave management and PTO balance inquiries
- Configure endpoints and authentication mechanisms
- Data source integration
- Configure an Amazon S3 connector for ingesting IT documentation
- Set up secure access to the enterprise knowledge base
This integrated setup, shown in the following figure, enables employees to interact with multiple enterprise systems through a single, conversational interface, significantly improving workflow efficiency and user experience.
The following screenshot shows all the plugins available for end-user.
In the following sections, we explore the end-to-end user flow for this use case.
Salesforce integration (built-in plugin)
Sarah selects the Salesforce built-in plugin from the Amazon Q Business Chat UI and asks Amazon Q to provide details about high-value opportunities, as shown in the following screenshots.
During the first use of the Salesforce plugin, Amazon Q Business will authenticate the user through Salesforce’s login interface, as shown in the following screenshot. For users who have already authenticated through enterprise single sign-on (SSO) or directly using their Salesforce login, only an API access approval will be requested.
After authentication and API access approval by the user, the plugin returns the results in real time from Salesforce, as shown in the following screenshot.
Later, Sarah creates a new case in Salesforce to follow up with high-value client, as shown in the following screenshot.
A case is created successfully in Salesforce, as shown in the following screenshot.
ServiceNow ticket management integration (enterprise indexed content and built-in plugin)
Sarah encounters an email synchronization issue on her laptop. Sarah searches Amazon Q Business for guidance on troubleshooting the issue. Given that Amazon Q Business has already indexed IT Helpdesk documents from Amazon S3, it returns troubleshooting steps, as shown in the following screenshot.
Sarah couldn’t resolve the issue after following the troubleshooting documentation. She chooses the ServiceNow plugin in the Chat UI and creates a ServiceNow ticket for further analysis, as shown in the following screenshot.
During the first usage of the ServiceNow plugin, Amazon Q Business will authenticate the user through ServiceNow’s login interface, as shown in the following screenshot.
For users who are already authenticated through enterprise SSO or directly using their ServiceNow login, only an API access approval is required, as shown in the following screenshot.
As shown in the following screenshot, an incident is successfully created in ServiceNow.
An incident is created successfully in ServiceNow as show below. This shows the creation capability of built in plugin.
She updates the ticket priority to high for faster resolution as show below. This shows the update capability of built in plugin.
Impact and Urgency of the incident is updated to high in ServiceNow in real-time as shown in below figure. This shows the update capability of built in plugin.
HR system integration (custom plugin)
Sarah needs to plan her upcoming vacation. She uses Amazon Q to check her available PTO balance through the HR custom plugin, as shown in the following screenshot. This demonstrates the real-time secure retrieval capability of custom plugins.
She submits a time off request directly through Amazon Q, as shown in the following screenshots.
Sarah’s experience demonstrates how Amazon Q Business plugins enable seamless real-time interaction across multiple enterprise applications—from managing Salesforce opportunities and ServiceNow tickets to submitting time off requests—all through a single conversational interface, eliminating application switching and improving productivity.
Clean up
To clean up, delete the Amazon Q application you created.
Conclusion
Amazon Q Business actions through plugins represent a significant advancement in streamlining enterprise workflows and enhancing employee productivity. As demonstrated in this post, these advancements can be seen across three key areas:
- Unified interface
- Provides employees with a single, conversational interface
- Enables seamless interaction across multiple enterprise applications
- Eliminates the need for constant application switching
- Knowledge integration
- Combines enterprise knowledge from Amazon Q Business connectors with actionable plugins
- Enables employees to access documentation and take immediate action
- Workflow enhancement
- Simplifies complex tasks through natural language interaction
- Reduces time spent switching between applications
- Improves overall employee productivity
What enterprise workflows in your organization could benefit from streamlined automation through Amazon Q Business plugins? Whether it’s integrating existing enterprise applications through built-in plugins or creating custom plugins for your proprietary systems, Amazon Q Business provides the flexibility to enhance employee productivity across your organization. Try implementing plugins in your Amazon Q Business environment today, and share your feedback and use cases in the comments.
About the Authors
Abhishek Maligehalli Shivalingaiah is a Senior Generative AI Solutions Architect at AWS, specializing in Amazon Q Business. With a deep passion for using agentic AI frameworks to solve complex business challenges, he brings nearly a decade of expertise in developing data and AI solutions that deliver tangible value for enterprises. Beyond his professional endeavors, Abhishek is an artist who finds joy in creating portraits of family and friends, expressing his creativity through various artistic mediums.
Marcel Pividal is a Senior AI Services Solutions Architect in the World-Wide Specialist Organization, bringing over 22 years of expertise in transforming complex business challenges into innovative technological solutions. As a thought leader in generative AI implementation, he specializes in developing secure, compliant AI architectures for enterprise-scale deployments across multiple industries.
Sachi Sharma is a Senior Software Engineer at Amazon Q Business, specializing in generative and agentic AI. Beyond her professional pursuits, Sachi is an avid reader and coffee lover, and enjoys driving, particularly long, scenic drives.
Manjukumar Patil is a Software Engineer at Amazon Q Business with a passion for designing and scaling AI-driven distributed systems. In his free time, he loves hiking and exploring national parks.
James Gung is a Senior Applied Scientist at AWS whose research spans diverse topics related to conversational AI and agentive systems. Outside of work, he enjoys spending time with his family, traveling, playing violin, and bouldering.
Najih is a Senior Software Engineer at AWS Q Business. He is passionate about designing and scaling AI based distributed systems, and excels at bringing innovative solutions to complex challenges. Outside of work, he enjoys lifting and martial arts, particularly MMA.