What's my plan?
All Suites Professional, Enterprise, or Enterprise Plus
Support Professional or Enterprise

The App Builder lets you create Zendesk apps using natural language processing (NLP). With NLP, you can provide instructions in plain language, similar to how you might explain your ideas to a colleague or friend. Generative AI interprets these prompts and generates the necessary code and functionality. With generative AI, building apps is as easy as describing them, eliminating the learning curve associated with traditional coding.

Note: App Builder is part of an early access program (EAP). Support or Suite Professional or above is required. Share your feedback in the Open EAP Community Forum.

Features of the App Builder include:

  • Conversational UI: Describe your desired app using natural language.
  • Example prompts: A small collection of prompts to help you get started.
  • Iterative app development: Continuously refine and build applications using large language models (LLMs), allowing you to adjust the app to meet your specific requirements.
  • Version control: Save different versions of the created app, enabling easy navigation between iterations.
  • Real-time visual preview: Preview the app visually in real time as you build, to provide instant validation of how the app will look and function.
  • Data integration: Create apps that utilize data from Zendesk, your company's internal systems, and third-party platforms such as Shopify, Jira, and others.
  • Code accessibility: Access the generated code for the app and mock data used to generate the app preview, which can be reviewed by more technically skilled admins or developers.
  • Testing environment: Test the app within your Zendesk Agent Workspace before installation to ensure proper functionality. You can test the app with real production data from your Zendesk account, ensuring that it behaves exactly as expected in a live environment before going live.
  • Publishing and deployment: Publish and deploy the app within your Zendesk account, including an app permission flow.
  • Error resolution: Use the LLM to fix any unexpected issues.
  • Feedback submission: Use the feedback form to report bugs, request features, or share general comments.
  • Download conversation: Download the conversation history for reference or further analysis.
  • Manage multiple conversations: Work on and explore several app ideas simultaneously while retaining your conversation history.
  • Faster conversation responses: Benefit from real-time streaming that delivers responses instantly as they are generated, enabling quicker progress and less waiting.
  • Save conversations: Ensure your work is saved across sessions, browsers, and devices, so you can continue building apps seamlessly from any device.
  • Smarter AI: Improved code quality and response accuracy with our upgraded AI model, using blueprints and code search for better context, and applying targeted file edits to update your app without rebuilding the entire project, speeding up development.

Apps created by the App Builder are designed with Zendesk Garden components as well as ZAF APIs and REST APIs, and appear in the Zendesk ticket sidebar apps. Additional app locations will be supported at full release (GA).

This article includes the following sections:

  • Overview of the App Builder (video)
  • Navigating the App Builder interface
  • Building an app
  • Linking to your private company data sources or third-party platforms
  • Integrating your app with private company systems
  • Integrating your app with third-party platforms
  • Example flow for creating an app
  • Installing and using apps created by the App Builder
  • Troubleshooting
  • Limitations

Overview of the App Builder (video)

In addition to the details in this article, this video provides a helpful visual overview of App Builder.

Navigating the App Builder interface

In Admin Center, click Apps and integrations in the sidebar, then select Apps > App builder. You must be a Zendesk admin to use the App Builder.

If you haven't created an app yet, opening the App Builder takes you to the prompt window where you can explore several examples. You can use these examples to test App Builder or as a starting point for developing your own app. Clicking an example automatically generates a prompt and starts the app creation process.

For App Builder, apps are what you create and install on your accounts that agents can see and interact with. Conversations are basically talking to the AI back and forth to create an app. You might have conversation where you prompt App Builder, but it fails to create an app. So technically a conversation can exist without producing an app.

If this is your first time accessing App Builder, you'll be presented with a welcome screen.

Click Start a conversation to open a window displaying example prompts along with an input area for entering your initial prompts.

Returning users will not see the welcome screen and will instead see a conversation list page showing existing conversations for quick and easy access.

After you send your initial prompt, a new page appears and lists your conversation on the left side. Here, the LLM interacts with you, providing a detailed description of the app. This overview lets you verify that the App Builder has correctly understood your prompts.

Beneath this overview is a text box where you can make any necessary adjustments. For example, you can say, “Move the Submit button to the bottom left corner of the app” or “Make the Priority field a dropdown menu” to modify the app's layout or functionality.

On the right side of the page is the output, which include:

  • A preview tab that offers a live preview of the app.
  • A code tab containing the generated code.

You'll see several files in the code tab, such as:

  • blueprint.md: This file provides a high-level overview including the app's description, architecture, features, supporting documentation, technologies used (such as React, Zendesk Garden components v9, ZAF, REST APIs), integration details, and so forth.
  • changelog.md: This file records every minor change, providing context that buildprint.md cannot capture. It essentially serves as a version history and change tracking file.
  • index.jsx: This file defines a React-based Zendesk App that manages loading, error states, and applies theming and styling to the app.
  • mock.js: This file contains the mock data used to generate the app preview.

For more information about the code, see Apps in the Zendesk developer docs.

At the top, you'll find the following options:

  • Options menu: Click the three vertical dots to give feedback or download the conversation as a JSON file. Downloading the conversation is especially helpful when troubleshooting as it allows your team to review the full conversation details if a user encounters an error they cannot resolve.
  • Generated app: Select a version from the dropdown menu to preview that specific version.
  • Test: Click to view and interact with the app in the apps panel located on the right side of the ticketing interface in Zendesk Support. This testing lets you explore and assess the app's functionality without making any actual updates to the data. It is designed for you to verify that the app operates as intended, ensuring that all features work correctly before deploying it in a live environment.
  • Publish: Click to install the app and make it available for agents to use within minutes.

Building an app

The App Builder generates React code contained in files based on your prompt.

Once you publish an app, App Builder apps are located in the Zendesk Support apps panel, making it accessible for agents and admins.

To begin a new app, click Start a conversation on the App Builder LLM page, which serves as the homepage after you have built your first app.

The App Builder uses NLP to interpret user prompts and convert them into functional app components. To ensure you get the best results from the App Builder, it's important to follow specific guidelines when crafting your prompts. For more information on best practices, see Prompting guidelines for App Builder.

Creating a production-ready app in a single attempt is uncommon. It often takes several iterations to reach the final version of your app. Here are a few best practice guidelines:
  • Build a simple feature and keep refining the app by adding additional prompts that offer more context and detailed requirements. By breaking the development process into several segments, you can more easily troubleshoot and address issues in specific parts of the app before introducing additional complexity.
  • If the built app doesn’t work, ask the bot to add logging.
  • Read the bot’s response to make sure it understands what you are asking it to build.
  • Perform thorough testing of the app before publishing it.
  • If you encounter an error while testing your app, copy and paste the error message into the prompt. This allows the LLM to analyze the issue and assist you in debugging the problem.
  • If something doesn’t work as expected, provide detailed explanations of what you’re expecting, which parts are functioning correctly, and which parts are not. Avoid simply stating that it doesn’t work.
  • Approach the process with patience to better understand how the LLM operates and what steps to take if you’re not achieving the desired results.

Linking to your private company data sources or third-party platforms

The App Builder enables you to create apps that integrate with your private company systems and third-party platforms. While it helps to understand APIs and authentication methods, the App Builder guides you through the process when those inputs are necessary.

Integrating your app with private company systems

To integrate with your private company systems, you need to know the API endpoint URL and the authentication method your company uses for that system. This information can typically be found in your internal documentation or obtained from your internal development teams who manage the system.

For internal integrations, particularly when working with LLMs, you may require more comprehensive authentication information compared to third-party integrations. This could include API keys, OAuth tokens, or other credentials specific to your internal systems. Additionally, you will need to define the input data that the LLM will process, which may consist of user queries, ticket details, or other relevant information that the app will utilize to generate responses.

You should also specify the expected output format, which could include structured data, JSON responses, or specific fields that the app will return after processing the input data.

Once you have gathered all the necessary details, prompt the App Builder to establish the connection. The builder will guide you through the process, asking you to provide the API endpoint, authentication details, and data structure information.

After completing the integration, you can test it in your Zendesk instance by clicking Test. This allows you to verify that the integration functions correctly and meets your requirements before deploying it in a live environment.

Integrating your app with third-party platforms

The App Builder lets you create an application that can display or manipulate data from any third-party applications, such as Jira, Shopify, Slack, and others, as long as those services have public-facing APIs. For example, suppose there is no existing product functionality available, and the current Salesforce marketplace app only provides read-only access that allows users to view information from Salesforce within Zendesk. You can enhance this capability by creating an app that shows contact information from Salesforce. This app would not only display the relevant data but also include a button that lets you update the subscription field with a specific value in Salesforce. After the update is attempted, the app should display a notification to inform you whether the update was successful or if any issues occurred during the process.

Example flow for creating an app

Here is an example flow for creating an app. In this example, we'll track changes in ticket assignees.

  1. In Admin Center, click Apps and integrations in the sidebar, then select Apps > App builder.
  2. At the prompt, enter “Mission: This app helps to give a very quick view of assignee changes instead of having to dig through the ticket event history, search for all the assignee change events, and track that way. And this is often a question for folks ‘ok, well, where is the handoff in the chain of custody for these tickets’. Action: Create an app called Assignee Change Tracker that tracks the history of changes on an assignee on a given ticket. Parts: A table should list each time the assignee of a ticket has changed, in order of most recent to least recent. Each row should include the assignee’s name, the date they were assigned, and how long they were assigned to the ticket. Above the table, display the total number of changes in assignment of the ticket. Add a button to refresh the displayed data to reflect the latest changes. Add another button to export data to an excel spreadsheet. Make both buttons small and next to each other. Scope: This app is for only the current ticket.”
  3. Click Send.

    The LLM responds with something similar to this:

  4. Review the LLM response, and then click Code to view files containing the underlying code and data used to populate this preview.
  5. At the prompt, enter “Add Previous Assignee as the first column in the table to capture the full name of the person whom the ticket was previously assigned to. Also add tooltips to both buttons that display a short description of each button's function when hovered over.”
  6. Click Enter.

    The LLM responds with something similar to this:

  7. Click Test to test the app using your own data. Testing the app does not make any updates to your data.

Your app is now complete and is ready to be published.

Installing and using apps created by the App Builder

When you are satisfied with your app, click Publish in the upper right corner to add it to the apps panel. The builder prompts you to specify who has access to this app. Next, acknowledge the service disclaimer regarding the use of apps created through the App Builder. After you click Agree and Publish, the installation process begins, and App Builder notifies you when your app has been successfully installed.

To modify permissions or manage the app further, click Manage App in the notification within the App Builder page, or select Apps > Zendesk Supported Apps. See Managing your installed apps.

Troubleshooting

The App Builder may encounter errors that require additional context or information to resolve. Some examples of these errors include:

  • The app cannot be generated.
  • The app cannot be installed.
  • Integration with a private company system or third-party platform fails.
  • The preview cannot be loaded.

When the App Builder encounters issues, it will attempt to resolve them automatically. If it cannot, it will present you with an error message. Click Show error details to view more information about the problem.

To help the App Builder diagnose and fix the issue, provide clear and specific details in your chat response. This may include clarifications, credentials, or any missing context related to the error. The LLM uses this information to better understand the problem and either resove it or ask for more details.

For example, if the expected output was a specific data format or a particular response from the app, but the actual output was different, detailing these discrepancies will enable the LLM to identify patterns, troubleshoot effectively, and suggest appropriate solutions. The more precise and detailed the feedback, the better the LLM can learn from the interaction and improve its responses in future scenarios.

In some instances, like fetching or updating data or integrating with third-party apps, the error may not be noticeable until you view the app with live data in your Zendesk instance. To assist with these scenarios, guardrail notifications will appear within your app to alert you to such issues. Copy the error details and paste them into the prompt to give the LLM full context to analyze the problem.

Here are some common error codes you may encounter:
  • 401: Unauthorized Error - This indicates that the user does not have the necessary permissions to access the requested resource.
  • 403: Forbidden Error - This occurs when a user is logged out of Admin Center after their session expires while the App Builder remains open in their browser. It can also arise from integration failures.
  • 404: Not Found Error - This error signifies a broken or incorrect URL, or it may indicate that the requested API path is incorrect or unavailable.
  • 431: Request Header Fields Too Large - This error usually occurs after an extended series of prompts. To resolve it, try clearing the cache and cookies for the Zendesk app in your browser.
  • 503: Service Unavailable Error - This error occurs when the server receives too many requests, causing it to exceed its resource limits. This can also happen if the server is down for maintenance or updates.

Limitations

Current limits during the EAP include:

  • Approximately 360 prompts per account. This includes counting all prompts sent to and received from the AI when building apps.
  • Up to 50 concurrent conversations per account are allowed, meaning you can have as many as 50 active conversations simultaneously in App Builder. This limit can be managed by deleting existing conversations to create new ones.
  • Accessibility and localization are not supported.

Product limits are expected to be updated with the upcoming General Availability (GA) release.

Powered by Zendesk