---
schema_version: "1"
id: 198f2bce4b4c17edfb0f4776e7e1ae5096e88c677ac69867490a899dc3601ac6
title: Custom Activity UI
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/guides/mc-app-development/custom-activity-ui.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/custom-activity-ui.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: f258b944489cc027e6a99ad30565e6ec4e55f61f21dddd9e8fd744dcfda89a0e
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
# Custom Activity UI

For simplicity, the documentation mostly refers to custom activities. In Journey Builder, custom events and custom activities use the same framework, so building either object follows the same structure. For event-specific instructions, see Considerations for Building Custom Activities.

A custom activity is web applications that you build according to specifications that Journey Builder recognizes. Using these recommendations, you can implement your app's file structure according to your preferences and business needs.

## Recommended File Structure

- {endpoint-URL}/ This file is the endpoint URL of the activity as defined in the Journey Builder component of your installed package.

  - index.html (required) - This file does not have to be a sublevel of the endpoint. This file is the default assumption when not including an overridden path.
  - [config.json](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/custom-activity-config.md) (required)
  - customActivity.js (required) - This file does not have to be a sublevel of the endpoint. This file is the default assumption when not including an overridden path. You can use any name for this value, and you can embed this value in script within the index.html file.

- {endpoint-URL}/js/ (required) Provide the jQuery separately when not using the FuelUX 2 Loader.

  - require.js - May load from CDN
  - jquery.min.js - May load from CDN
  - postmonger.js (required) - Available on GitHub

- {endpoint-URL}/images/ Refer to the icon specifications for your icon image.

  - icon.png
