---
nav: wcp_docs
parent_url: /wcp_docs/
title: Build an Extend App Fast with Developer Agent
layout: subsection
---

Workday Developer Agent is an AI-powered assistant embedded in the Workday developer experience. Developer Agent will help you quickly find answers to your questions, surface relevant Extend documentation, explore Workday APIs, and generate code. Developer Agent can significantly speed up the development of an Extend app.

In this activity, you’ll use Developer Agent to generate an edit page that will enable users to enter and submit an employee reward nomination. To tell the Developer Agent what you want, you must construct a <i>prompt</i>. A prompt is the specific input, written in natural language, that you provide to Developer Agent to guide it toward a desired output.

Developer Agent doesn’t create an edit page in your tenant from your prompt. Instead, it generates page definitions and related artifacts (examples: queries, validations) in App Builder, based on your prompt. You then add those components to your app and configure them (examples: mark the page as an Edit page, bind to data, wire endpoints).

## <a id="before-you-begin"></a>Before You Begin: Create an Account on the Workday Build Platform

To do this activity, you must have an account on the Workday Build platform and a development tenant. If you’ve already created an account and a tenant, you can go to the first task of this activity.

If you haven’t already created an account, you can do so now. It’s free!

1.  Go to the [Workday Build Platform](https://developer.workday.com) and create an account with your personal email address.
2.  Once you have created an account, sign in to the [Workday Build Platform](https://developer.workday.com).
3.  In the upper-left corner, select the hamburger menu, and under <b>Console</b>, select <b>Tenants</b>.
4.  On the <b>Tenants</b> page, select <b>Create Tenant</b>. It will take 1 to 2 minutes for the development tenant to be created.
5.  Check your personal email for a link to change your tenant password.

    <b>Note:</b> Remember the password. You’ll need to sign in to the tenant while you do this activity.

6.  Sign in to the tenant with the username <i>lmcneil</i> and the password that you just created.


<b>Note:</b> When you sign in to the development tenant with the username <i>lmcneil</i>, you’re signing in as the persona <i>Logan McNeil</i>. Logan is one of several user accounts that you can use to test the agents and app that you create and deploy to your development tenant.

## Task #1: Build an Extend App

1.  On the Developer Site home page, select <b>Build an Extend App</b>, then select <b>Start from Scratch</b>.
2.  In the <b>Name</b> field, enter <i>Developer Agent - <first name and last initial ></i>. The Reference ID automatically populates based on the app's name.
3.  Select <b>Create and Edit</b>. This launches App Builder.
4.  In the middle of the content window, select <b>Connect to Tenant</b> and sign in to the tenant.


✅ <b>Expected result</b>: Once you’re connected to your development tenant, you can access data in the tenant that you can use to build and test your app.

![](GUID-87cf2152-2d12-4860-ba3c-07599ea196fb.png)

## Task #2: Ask Developer Agent to Create a Home Page

You can use natural language to ask Developer Agent questions, or to prompt it to create components of your app. Let’s ask it to create a home page for an app that managers can use to nominate employees for an award.

<b>Important Tip</b>: Creating a prompt for AI is similar to talking to another human. You get better results when you clearly state your goal, share relevant context, and specify constraints. Just as when you ask a teammate for assistance, the more concrete, structured, and unambiguous your request is, the more likely the AI engine will return what you want.

1.  Copy this prompt:

    ```
    Create a home page that will serve as the landing page when users launch the app. 
    
    Functional requirements: 
    
    Add a title to the page: Employee Nomination App. 
    Add a heading: Welcome to the Employee Nomination App.
    Add a rich text description that explains the app's purpose — enabling managers to nominate employees for rewards, with context on why recognition matters.
    Add a navigation button with a label that says “Get Started”.
    
    ```

2.  In App Builder, paste the prompt into the box that says, <b>What do you want to build</b>?
3.  Press <b>Enter</b>.
4.  Paste the prompt into the <b>Developer Agent chat</b> field and press <b>Enter</b>. In a few moments, you’ll see the Developer Agent think through a number of tasks and generate new code.

    1.  In the left-hand <b>Components</b>panel, see the components that were added (green) or updated (yellow).
    2.  Select each added or updated component and notice that the newly generated code is highlighted in green.
    3.  In the chat window, review the list of <b>What was built</b>.

5.  In the <b>Components</b>panel, select the <i>App Metadata (AMD)</i> component, look at the <i>“tasks”: [ ]</i> array, and check that a new task <b>id</b> was added that defines a page route (<i>“routingPattern”: “/”</i>) for the newly generated page. This makes the home page the app’s root page, the page where users will land first when they launch the app.

    <b>Note:</b> If Developer Agent gave the page a different name, that’s OK as long as the task “id”, the “page” : { “id”}, and page name match.

    ![](GUID-a0c4b16d-2acd-4889-8c59-3847e7e007da.png)

6.  In the left-hand <b>Components</b> panel, select the <b>home</b> page. In the <b>Content</b> window, you’ll see the JSON structure that defines how content is displayed on the page.
7.  In the upper-right corner of the content window, select the <b>App Preview</b> icon. This will enable you to preview the page.
8.  If you’re satisfied with the page that Developer Agent generated, select <b>Apply Changes…</b> and when the <b>Apply Changes</b> pop-up window appears, select <b>Confirm</b>.


✅ <b>Expected result</b>: Use App Preview to review Developer Agent’s proposed changes. If you’re satisfied, select <b>Apply Changes</b>.

![](GUID-b43c44a4-5c81-4e4c-9669-09511963f00a.png)

## Task #3: Add a Security Domain

An Extend <i>security domain</i> controls access to the custom objects, tasks, and data by defining who is authorized to view or act on them. It enforces the same permission model used elsewhere in Workday, so custom applications inherit consistent, centrally managed security, rather than relying on <i>ad hoc</i> access rules.

Let’s add a security domain to the app:

1.  In the middle of the content window, select <b>Create a Component</b>.
2.  In the Type box, search and select <b>Security Domain</b>.
3.  In the Name field, enter <i>NominationData</i> and select <b>Done</b>.
4.  In the <b>Enabled For:</b> section, check the <b>Page Security</b> box. When enabled, page security will allow access to users who are members of security groups that have permission to open and view the pages. You’ll create the security policy and add security groups to it later in this activity.
5.  In the upper-right corner of App Builder, select <b>Save to App Hub</b>.


✅ <b>Expected result</b>: Your security domain should look like the image below.

![](GUID-7675daaa-cf54-49f9-aaba-f19323254fb6.png)

## Task #4: Create a Business Object

In this task, you’ll create a <i>Business Object</i> that will store the employee nomination data and secure it with the <i>NominationData</i> security domain.

1.  In App Builder in the left-hand <b>Components</b> panel, hover over the <b>Business Objects</b> section and select the <b>Add Business Object</b> icon <b>(+)</b> when it appears. (See the image below.)
2.  In the <b>Add Business Object</b> modal, name the business object <i>Nomination</i> and select <b>Done</b>. This specific naming convention is crucial as we plan to use Workday Developer Agent to generate pages in subsequent steps.
3.  In the <b>Default Security Domains</b> field, select the <i>NominationData</i> security domain.


✅ <b>Expected result</b>: When you create a business object, you must secure it with a security domain.

![](GUID-3a51d9cb-971e-4bac-94a0-019ed22da3cc.png)

## Task #5: Add Fields to the Business Object

In this task, you’ll add 4 fields to the business object. The 4 fields correspond to the data entry fields on the <i>nominationCreate</i> page: <i>date</i>, <i>employeeName</i>, <i>reason</i>, and <i>value</i>.

1.  Click the <b>Fields</b> tab and click <b>Add Field</b>.
2.  In the <b>Add Field</b> property box, enter these values:

    -   Name: "date"
    -   Label: "Date"
    -   Type: "DATE"
    -   Precision: "Day"

3.  Select <b>Done</b>.
4.  Add a second field, <i>employee name</i>:

    -   Name: “employeeName”
    -   Label: “Employee Name”
    -   Type: “SINGLE_INSTANCE”
    -   Filter Targets: Workday Delivered Targets
    -   Target Business Object: “WORKER”
    -   Enable Security (By Target): Check (true)

5.  Select <b>Done</b>.
6.  Add a third field that will store the <i>reason</i> for the nomination:

    -   Name: “reason”
    -   Label: “Reason”
    -   Type: “TEXT”

7.  Select <b>Done</b>.
8.  Add a fourth field called <i>Organization Value</i>:

    -   Name: “organizationValue”
    -   Label: “Organization Value”
    -   Type: “TEXT”

9.  Select <b>Done</b>.
10. Select <b>Save to App Hub</b>.


✅ <b>Expected result</b>: Your business object should now contain four fields, as shown below.

![](GUID-ccd39496-e0b9-4b1b-be91-f45f3430b2ec.png)

## Task #6: Configure the Security Policy

In Workday Extend, a <i>Domain Security Policy</i> acts as the gatekeeper for the custom data and tasks within your application. Since Extend apps live directly inside your Workday tenant, they must follow Workday’s core security philosophy: <i>no one has access to anything unless access is specifically granted.</i>

In this task, we'll configure the domain security policy permissions to view the nomination data in our business object.

1.  Select <b>Save and Deploy</b>, which is located in the upper right-hand corner of App Builder.
2.  Select your tenant and then select <b>Deploy to Tenant</b>. You may need to enter your tenant credentials.
3.  In the <b>Deploy Successful</b> modal, select <b>Manage in Tenant</b>. This will launch the App Manager report in your tenant.
4.  In the App Manager report, find your app and select <b>Configure</b>.
5.  Find the <b>Security Domains</b> section near the bottom of the page. In the <b>Actions</b> column, select <b>Create</b>.
6.  On the <b>Create Security Policy for Domain</b> modal, check the <b>Confirm</b> box, and select <b>OK</b>.![](GUID-5fe51133-c17f-47cd-afae-937786abd221.png)
7.  On the <b>Create Security Policy for Domain</b> page, navigate to the <b>Report/Task Permissions</b> table and click the <b>(+)</b> icon to add a new permission.
8.  In the <b>Security Groups</b> column, search for and select <b>HR Administrator</b>.
9.  Check the box for <b>Modify</b>. The <b>View</b> and <b>Modify</b> permissions on this page affect any REST API security for your model business object as well as pages in your app.
10. Select <b>OK</b> and select <b>Done</b> to return to the configuration settings.
11. Scroll down to the Security Domains section and select <b>Activate Pending Security Policy Changes</b>.
12. In the <b>Comment</b> field, enter <i>Create security policy</i>, and select <b>OK</b>.
13. On the following page, check the <b>Confirm</b> box and select <b>OK</b>.


✅ <b>Expected result</b>: Add the HR Administrator security group to the security policy and give it View and Modify permissions.

![](GUID-1354eedf-7fdc-4971-9722-a90799432d55.png)

## Task #7: Generate a Create Nomination Page with Developer Agent

In the previous activity, you created a business object that defines the fields that will store employee nomination data. Based on that data model, Developer Agent can generate a create page where users can create and submit an employee nomination. You’ll do this by creating a prompt, which is a natural language request describing what you want Developer Agent to do.

<b>Remember</b>: Think of writing a prompt for the AI as delegating a task to a colleague. To achieve the best outcome, provide a clear objective, include necessary background information, and define specific parameters. Your request will be most effective when it is precise, organized, and free of ambiguity, which helps the AI deliver exactly the results you need.

1.  On App Builder’s top navigation bar, select the <b>Manage Tenant Connections</b> icon (located to the right of <b>Validate</b>) and connect to your development tenant, if it’s not already connected.
2.  In the upper right-hand corner of App Builder, to the left of the <b>Manage Tenant Connections</b> icon, select the <b>Chat with Developer Agent</b> icon. This will open the Developer Agent chat window.
3.  Copy this prompt:

    ```
    Build a Workday Extend edit page to create new instances of the Nomination business object.
    
    Functional requirements:
    
    * The page creates new Nomination records.
    * Expose these four fields as inputs, all required: date (date picker), employeeName, (worker reference, single select), reason (text), organizationValue (text)
    * The user must be able to a) Pick a date from a date field, b) select an employee from a searchable worker list, and c) enter text for reason and organizationValue.
    * On Save/Create, collect the four values and POST them to NominationData to create the record.
    ```

4.  Paste the prompt into the <b>Developer Agent chat</b> field and press <b>Enter</b>. In a few moments, you’ll see Developer Agent think through a number of tasks and generate new code.

    1.  In the left-hand Components panel, see the components that were added (green) or updated (yellow).
    2.  Select each added or updated component and notice that the newly generated code is highlighted in green.
    3.  In the chat window, review the list of <i>What was built</i>.

5.  In the <b>Components</b> panel, select the <i>App Metadata (AMD)</i> component, look at the “tasks”: [ ] array, and check that a new task <b>id</b> was added that defines a page route (“routingPattern”: “createNomination”) for the newly generated page.

    <b>Note:</b> If the Developer Agent gave the page a different name, that’s okay so long as the task “id”, the “page” : { “id”}, and page name match.

    ![](GUID-8c030ffd-fabc-4c87-bec0-1e3862747be8.png)

6.  In the <b>Components</b> panel, select the new <i>createNomination</i> page.
7.  In the upper-right corner of the content panel, select the <b>App Preview</b> icon, and at the top of the App Preview window, select the <b>Open in a New Tab</b> icon. This will open App Preview in a new browser window.
8.  In the App Preview window:

    1.  Verify that the page displays four required fields: <i>Date</i>, <i>Employee Name</i>, <i>Reason</i>, and <i>Organization Value</i>.
    2.  In the <i>Date</i> field, select the <b>Calendar</b> icon to test the calendar pop-up.
    3.  In the <i>Employee Name</i> field, search for “Brown” and verify that it displays a list of workers with the name Brown.
    4.  The <i>Reason</i> and <i>Organization Value</i> fields should display empty text boxes.
    5.  By default, the bottom of an <b>Edit</b> page should display a <b>Cancel</b> button and an <b>OK</b> button, which enables users to cancel or submit their data entries.

9.  At the bottom of the <b>Components</b> panel, in the <b>Testing</b> section, you may see <i>Mock Data</i> files. These enable you to test the page with dummy data, without connecting to the development tenant.
10. If you are satisfied with the generated components, select <b>Apply Changes…</b> (If you don’t get the expected results, select <b>Reject Changes</b> and submit the prompt again).
11. On the <b>Apply Changes…</b> pop-up window, review the components to be added and select <b>Confirm</b>.
12. Select <b>Save to App Hub</b>.


✅ <b>Expected result</b>: You have successfully used Developer Agent to generate a page that collects user inputs and submits them to a custom business object. In the next task, you’ll test the page to ensure that it submits data to the Nomination business object.

![](GUID-23605acd-aa79-4fb7-9592-4d3aaf437712.png)Based on the prompt you give it, the Developer Agent proposes changes to your app. You can read about the proposed changes in the Developer Agent chat window, and you can inspect and test the new and added components.

## Task #8: Test the App: Nominate an Employee

Let’s test the app you’ve developed so far. In this task, you’ll enter data into the <i>Create Nomination</i> form and submit it to the <i>Nomination</i> business object via the <i>createNomination</i> outbound API endpoint, which you can find on the <b>Page Submit</b> tab.

An <i>Outbound API Endpoint</i> is a component configured to submit data from a page to a Workday business object or a custom business object. Its primary purpose is to enable users to submit form data, ensuring that the information is successfully persisted within Workday.

1.  Return to App Builder and select the newly created <i>createNomination</i> page.
2.  If you’re not already connected to your development tenant, select the <b>Manage Tenant Connections</b> icon, choose your tenant, and select <b>Connect</b>. If necessary, sign in.
3.  Open <b>App Preview</b> and then select <b>Open in New Tab</b>.
4.  Complete all the fields in the <i>Create Nomination</i> form:

    1.  In the Date field, enter a date or open the <b>Calendar</b> and pick a date.
    2.  From the Employee Name list, search for and select a worker’s name.
    3.  In the Reason field, enter a reason for the nomination. For example, “They did a great job supporting the meeting.”
    4.  In the Organization Value field, enter <i>Teamwork</i> <b>.</b>

5.  Select <b>OK</b> to submit the nomination. When you select OK, you’ll automatically be routed to the home page. The <b>View Nominations</b> page is not yet created, so let’s use App Manager to verify that the nomination data was submitted to the Nomination business object.
6.  In your development tenant’s <b>Search</b> bar, search and select the <b>App Manager</b> task. (To launch your development tenant, go to the upper-left corner of App Builder, select the related actions (hamburger) icon, select <b>App Overview</b>, and on the <b>App Overview</b> page, select <b>Tenants</b>. Find your Tenant Alias and select the <b>Launch Tenant</b> icon.)
7.  In App Manager, find your app and select <b>Configure</b>.
8.  On the App Details page, select the <b>Extend Business Object Instance Count</b> tab.


✅ <b>Expected result</b>: In the Business Object / Attachment Object table, you can see how many instances are created. A little later, you’ll use Developer Agent to create a View page that will get and display the employee nominations.![](GUID-8816a28d-ae1b-4361-a0e4-45ba420f7dbe.png)In App Details, you can see how many business object instances are created.

## Task #9: Create a Manage Page for Viewing and Updating Nomination Records

In this final task, you’ll use Developer Agent to create a page that will enable users to view and update records stored in the Nomination business object.

1.  In App Builder, select the <b>Chat with Developer Agent</b> icon.
2.  In the <b>Developer Agent chat</b> window, enter this prompt:

    ```
    Create a page for the "Nomination" custom business object that lets users view a list of existing nominations and create or update individual nomination records.
    
    Functional requirements:
    
    * A list/table view (grid) showing all Nomination records, with columns for Date, Employee Name, Reason, and Organization Value. Support sorting by Date and searching/filtering by Employee Name.
    * Each row should link to a detail/edit view for that record.
    * Include a button to create a new Nomination record, opening a form with all four fields.
    * The create/edit form should let users update all four fields and save changes back to the Nomination object, with a Cancel option that discards changes.
    * Include basic client-side validation: date and employeeName should be required before saving.
    
    ```

3.  Press <b>Enter</b>.
4.  Select the newly created page and open <b>App Preview</b>. You should see a table displaying the nomination record that you created in Task #8.
5.  Select <b>Save to App Hub</b>.


✅ <b>Expected result</b>: You’ve used Developer Agent to generate a Manage page that enables users to view and update records retrieved from the Nomination business object.

![](GUID-c0b492cf-ec1d-4928-87cc-fbf899cb2dd8.png)

