# Automate Foundations

### About this export

| Field | Value |
| --- | --- |
| **content_type** | course |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/automate-foundations |
| **language** | en |
| **product_area** | Contentstack Academy |
| **learning_path** | contentstack-developer-certification |
| **course_id** | automate-foundations |
| **slug** | automate-foundations |
| **version** | 2026-03-01 |
| **last_updated** | 2026-05-04 |
| **status** | published |
| **keywords** | ["Contentstack Academy"] |
| **summary_one_line** | Automate is a user-friendly visual workflow builder designed for business users and developers. It empowers you to effortlessly create and manage complex, multi-step processes through intuitive clicks instead of delving … |
| **total_duration_minutes** | 74 |
| **lessons_count** | 22 |
| **video_lessons_count** | 10 |
| **text_lessons_count** | 12 |
| **linked_learning_path** | contentstack-developer-certification |
| **linked_assessment_ref** | LMS_UNCONFIGURED_COURSE_ASSESSMENT |
| **markdown_file_url** | /academy/md/courses/automate-foundations.md |
| **generated_at** | 2026-05-04T05:36:42.380Z |
| **intended_audience** | [] |
| **prerequisites** | [] |
| **related_courses** | [] |

> **Academy MD v3** — companion `.md` for Ask AI. Quizzes and graded assessments are **LMS-only**; this file never contains answer keys.

## Course Overview

| Metadata | Value |
| --- | --- |
| Catalog duration | 1h 13m 57s |
| Released (if known) | 2026-03-01 |
| Product area | Contentstack Academy |

### Description

Automate is a user-friendly visual workflow builder designed for business users and developers. It empowers you to effortlessly create and manage complex, multi-step processes through intuitive clicks instead of delving into code. This simplification streamlines the integration of the Contentstack platform into your composable architecture, alleviating the associated technical complexities.

**Pre-requisites:**  
  
1\. Account in Contentstack with access to a Stack as an Administrator or Developer. If possible, please create a new Stack to use only with the Partner Courses.

2\. A basic comprehension of the Contentstack platform, extensions, and integrations.

3\. Comfortable taking a screenshot or a movie of your screen. The free browser tool 'Loom' is one of many ways to do this.

4\. Contentstack Community account. If you do not have one, visit community.contentstack.com/ and register for a new account. You can adjust your email notifications under your profile at https://community.contentstack.com/settings/general ﹥ Settings.

### Overview

We are excited for you to learn how Contentstack's Automate can assist you in automating your workflows while integrating with external platforms. This course will present examples of Automation Hub recipes and ask you to follow along to recreate these recipes in your Contentstack organization.  
If you don't yet have a site for the exercises, we recommend creating a [new Starter App site using the Bootstrap CLI](https://www.contentstack.com/docs/developers/cli/bootstrap-starter-apps/) for the course exercises. Through practical examples, you will gain an understanding of how to create automations and be able to unlock the power of the platform for your organization.

### Learning objectives

About this course

### Topics covered

Contentstack Academy

## Course structure

```text
automate-foundations/
├── 01-what-is-automate · text · 5 min
├── 02-creating-a-new-project · text · 1 min
├── 03-first-automate-project-walkthrough · video · 432s
├── 04-exercise-review-your-first-automation-hub-project · text · 1 min
├── 05-settings-options · video · 69s
├── 06-understanding-triggers · text · 1 min
├── 07-using-trigger-connectors · video · 115s
├── 08-using-connectors · text · 1 min
├── 09-action-connectors · video · 169s
├── 10-automate-connectors · text · 1 min
├── 11-types-of-action-connectors · text · 1 min
├── 12-automations-in-marketplace · video · 138s
├── 13-using-trigger-conditions-to-control-an-automate-execution · video · 218s
├── 14-using-conditionals-when-publishing-to-production · video · 125s
├── 15-using-the-http-connector-with-a-publish-event · video · 126s
├── 16-using-http-listeners · video · 126s
├── 17-understanding-http-listeners · text · 1 min
├── 18-understanding-scheduler · text · 1 min
├── 19-launch-connector · text · 1 min
├── 20-automate-foundations-quiz · quiz (LMS only) · 3 min
├── 21-utility-connectors · text · 1 min
├── 22-use-case-translation-with-chatgpt · video · 834s
```

## Lessons

### Lesson 01 — What is Automate

<!-- ai_metadata: {"lesson_id":"01","type":"text","duration_minutes":5,"topics":["What","Automate"]} -->

#### Lesson text

## What is Automate?

Automate is a user-friendly visual workflow builder designed for business users and developers. It empowers you to effortlessly create and manage complex, multi-step processes through intuitive clicks instead of delving into code. This simplification streamlines the integration of the Contentstack platform into your composable architecture, alleviating the associated technical complexities.  
  

![AH-image1.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf9681be1b6d35416/6625c430700d6cafe6a666b9/AH-image1.png)

When someone opts for a headless CMS, they embrace the concept of "composing" a best-of-breed solution for themselves. Composability revolves around the idea of "plug-and-play," but not all competitors in the market offer true composability. This is where Automate sets itself apart.

While other headless CMS competitors may provide some degree of automation, their automation is often limited to their CMS only.

**Contentstack's Automate extends its capabilities across the composable marketplace beyond the CMS.**

In other words, Automate is the first-ever automation solution that seamlessly integrates and functions across the composable stack! It empowers users to automate tasks within Contentstack's CMS and throughout their entire digital experience ecosystem.  

By leveraging Automate, users can create dynamic workflows while automating publishing, approvals, archiving, and other content operations without needing custom development. Its intuitive visual workflow builder and pre-built "recipes" enable users to streamline their content operations, regardless of technical expertise, efficiently.

![AH-image2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt190acdddc8aac224/6625c4fb210d90d2483a3240/AH-image2.png)![AH-image3.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta8ff7ac243b34016/6625c57424e1812b95acc90a/AH-image3.png)

## Examples

![AH-image4.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf12e36182ffa4624/6625c5afc9de46bfffd472c6/AH-image4.png)

### Example Use Cases:

**Content Enrichment**: When content goes into a workflow stage, it executes an Automation to fetch information from external systems to write back to Contentstack.  
**Rapid Prototyping**: When you have an idea for a new process or concept, you can play around with it quickly in Automate by pointing and clicking to connect the APIs.  
**Workflow Orchestration**: With Automate, you can expand your content lifecycle to define events across the entire business process, not just inside Contentstack, such as marketing campaigns or newsletters.

###   
Simple Automation Script

Let's say you have a blog website and want to automate the publishing process of new blog posts.

Your workflow for Automate could look like this**:**

1.  **Trigger:**
    
    When a new entry is created in the "Blog" content type.
    
2.  **Condition:**
    
    Check if the blog post's author is in an "Editor" role.
    
3.  **Action:**
    
    If the condition is met, automatically set the "Status" of the blog post to "Review."
    
4.  **Notification:**
    
    Send an email notification to the "Reviewers" group to review the new blog post.
    
5.  **Review and Approval:**
    
    The reviewers can review the blog post, make any necessary changes, and approve it for publishing.
    
6.  **Action:**
    
    If the blog post is approved, set the "Status" to "Published."
    
7.  **Action:**
    
    If the blog post is rejected, set the "Status" to "Draft" and notify the author for revisions.
    

With this workflow in place, whenever a new blog post is created, the Automate will automatically move the content through the different stages, notify the relevant users, and update the status based on the reviews and approvals.

This automation can save time, reduce manual errors, and ensure a smooth content publishing process. Contentstack's Automate empowers users to design and implement customized workflows, tailoring them to meet their organization's specific content management requirements.

Another example of an event is when a content entry is published or saved. When an event is triggered, we can use an Automate Connector to integrate with an external platform and perform an action using content from Contentstack. Pre-built Automate Connectors make setting up and configuring the integrations very easy. This course will show many examples of using these Automate Connectors to create integrations with search platforms, email systems, and commerce.  

### Three reasons to use Automate

1.  **Integrate apps & tools faster.**
    
    Reduce integration time with an intuitive visual workflow builder that enables teams to connect Contentstack's CMS to the rest of the tools in their composable stack--all with clicks, not code.
    
    \- Empower any user to create integrations with an easy-to-use visual editor  
    \- Execute complex actions defined by custom event triggers  
    \- Leverage pre-built “recipes” to get started quickly  
    \- Eliminate costly mistakes & middleware
    
2.  **Eliminate the headache and costs associated with developing, hosting, and maintaining middleware by managing your integration solutions in one place.**
    
    \- Reduce complexity and increase efficiency by managing all your integrations in one centralized location.  
    \- Save money by removing the costs of hosting and managing middleware infrastructure.  
    \- Simplify your tech stack by eliminating the need for middleware development.  
    \- Streamline content & development operations
    
3.  **Level up your content ops game and streamline content governance with advanced features that automate content workflows and provide greater visibility and control.**
    
    \- Automate publishing, approvals, archiving, and other content creation workflows.  
    \- Push content changes to all of your digital experience channels at once.  
    \- Assign advanced permissions and access controls for enterprise-level content governance.
    

Automate ability to traverse the composable stack eliminates the need for costly middleware and offers unparalleled flexibility and efficiency. It opens up new possibilities for organizations to enhance their content operations, achieve faster time-to-market, and unlock the full potential of their digital experience stack.

#### Key takeaways

- Connect **What is Automate** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 02 — Creating a New Project

<!-- ai_metadata: {"lesson_id":"02","type":"text","duration_minutes":1,"topics":["Creating","New","Project"]} -->

#### Lesson text

## Creating a Project in Automate

When you **create a project** in Automate, it means you are setting up a dedicated space to manage and execute your automation tasks.

By creating a project, you can automate various content-related tasks, reducing manual effort, improving efficiency, and ensuring consistency in your content management processes.

### Steps to Create a 'New Project' in Automate

1.  Log in to your Contentstack account and navigate to **Automate** from the left navigation panel.  
    
    ![automate-section.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt29d01db612819a0b/6648ba4c16e6bf37bb590c44/automate-section.png)
    
2.  Click on the**'New Project' button** to create a new project.  
    
    ![new-project.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1a56786c25015b54/6648bb616d705597e74d9090/new-project.png)
    
3.  This opens a dialog box where you can provide a name and description (as optional) for your project. This helps you identify and organize your automation tasks effectively.
4.  Click **Create**.
5.  After successfully creating the project, you can start building an automation.

## Creating an Automation

Creating a **new automation** inside a project in Contentstack's Automate allows you to define and set up specific automated tasks or workflows to streamline your content management processes. It helps you set up specific steps that will be performed based on the specified conditions. Once you define these steps, Contentstack Automate will run through the designated steps.

1.  Navigate inside the previous project that you created and click **\+ New Automation**.  
    ![create-project.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt55529f56aa4828f0/6648bc25d4d02e992a2eab6d/create-project.png)
2.  This opens a dialog box where you can provide a name and description (optional) for your automation.  
    ![new-automation-dialog.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt5852cf6e9447a81d/6648bd9352619d711ea90a13/new-automation-dialog.png)
3.  Click **Create**.
4.  After successfully creating the automation, you can start configuring the trigger and action steps.  
    
    ![trigger-action-sterps.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte4704e39fdbc450e/6648bdef5fd9af818c70e24e/trigger-action-sterps.png)
    

## Limitations of Automate

*   By default, each organization will be enrolled in the **Explorer Plan**, which is included at no cost and allows up to **200 executions per month (200 soft cap and 200 hard cap)**.
*   The maximum number of **projects** allowed per organization is **50**.
*   The maximum number of **automations allowed per project** is **50**.
*   The maximum number of **steps allowed per automation** is **15**.
*   The **maximum number of loops per Repeat Path is 100**.
*   Currently, organization members can **only view and edit their own projects**.
*   There is no support for nesting within Conditional Path and Repeat Path steps.
*   The Pause and Response action connectors cannot be used within Conditional Path and Repeat Path steps.
*   Automate is a plan-based feature, and the number of executions allowed depends upon the Automate pricing plan that is activated for a particular organization.
*   Organizations that have upgraded to a paid plan will have a soft cap for executions (when reaching this threshold they will be notified by email), and a hard cap that is 5x the number of the soft cap. After the organization hits the hard cap, automations will be temporarily disabled for that month.

## Further Reading

*   [More about 'Create a New Automation'](https://www.contentstack.com/docs/developers/automation-hub-guides/create-an-automation/)
*   [Edit an existing Automation](https://www.contentstack.com/docs/developers/automation-hub-guides/edit-automation-details/)
*   [Delete an existing Automation](https://www.contentstack.com/docs/developers/automation-hub-guides/delete-automation/)
*   [Automate Limitations - Review maximum number of projects, automations and steps](https://www.contentstack.com/docs/developers/automation-hub-guides/limitations-of-automation-hub)

#### Key takeaways

- Connect **Creating a New Project** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 03 — First Automate Project Walkthrough

<!-- ai_metadata: {"lesson_id":"03","type":"video","duration_seconds":432,"video_url":"https://cdn.jwplayer.com/previews/cn4Eqtpu","thumbnail_url":"https://cdn.jwplayer.com/v2/media/cn4Eqtpu/poster.jpg?width=720","topics":["First","Automate","Project","Walkthrough"]} -->

#### Video details

#### At a glance

- **Title:** Ah-first Ah Project
- **Duration:** 7m 12s
- **Media link:** https://cdn.jwplayer.com/previews/cn4Eqtpu
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113426 kbps
- video/mp4 · 180p · 180p · 139038 kbps
- video/mp4 · 270p · 270p · 153222 kbps
- video/mp4 · 360p · 360p · 169831 kbps
- video/mp4 · 406p · 406p · 177682 kbps
- video/mp4 · 540p · 540p · 208781 kbps
- video/mp4 · 720p · 720p · 254056 kbps
- video/mp4 · 1080p · 1080p · 351856 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/cn4Eqtpu-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **First Automate Project Walkthrough** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 04 — Exercise Review: Your First Automation Hub Project

<!-- ai_metadata: {"lesson_id":"04","type":"text","duration_minutes":1,"topics":["Exercise","Review","Your","First","Automation","Hub"]} -->

#### Lesson text

# Exercise Review: Your First Automation Hub Project

1\. The Automation Hub Project contains one or more automations. The configuration settings and authorizations are shared within an Automation Hub project.

![er-create-automation.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltdfe3ff2a3c263cbe/6648c1205c24835191bc345b/er-create-automation.png)2. The Contentstack Trigger Connector allows us to listen and react to events occurring within the Contentstack UI. For example, the publish entry or save entry events. 

![config-trigger.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt84323b82694e0c34/6648c1a5d4d02eecc82eab76/config-trigger.png)

![trigger-types.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt66a6986f45bfa9df/6648c202acadaf48b07282dc/trigger-types.png)3\. The Action step receives the JSON from the Entry in the event and can access the properties of the Entry.  

![test-trigger.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt7209e595367da050/6648c24e0b508a7d34dcfc62/test-trigger.png)

![test-trigger2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd7d3aaaee993018a/6648c2613092d0864a63f98d/test-trigger2.png)4\. Access the content fields of the Entry using the 'body.data.entry' property in the Body of the email. Other connectors allow similar access to the Entry content in the Action step.

![email-automate.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt07960e4f683f1151/6648c2c24ac76e5e0740f842/email-automate.png)

#### Key takeaways

- Connect **Exercise Review: Your First Automation Hub Project** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 05 — Settings & Options

<!-- ai_metadata: {"lesson_id":"05","type":"video","duration_seconds":69,"video_url":"https://cdn.jwplayer.com/previews/SHvpVjgb","thumbnail_url":"https://cdn.jwplayer.com/v2/media/SHvpVjgb/poster.jpg?width=720","topics":["Settings","Options"]} -->

#### Video details

#### At a glance

- **Title:** Ah-overview-settings
- **Duration:** 1m 9s
- **Media link:** https://cdn.jwplayer.com/previews/SHvpVjgb
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113838 kbps
- video/mp4 · 180p · 180p · 136608 kbps
- video/mp4 · 270p · 270p · 147781 kbps
- video/mp4 · 360p · 360p · 159575 kbps
- video/mp4 · 406p · 406p · 168047 kbps
- video/mp4 · 540p · 540p · 187396 kbps
- video/mp4 · 720p · 720p · 223214 kbps
- video/mp4 · 1080p · 1080p · 292955 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/SHvpVjgb-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Settings & Options** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 06 — Understanding Triggers

<!-- ai_metadata: {"lesson_id":"06","type":"text","duration_minutes":1,"topics":["Understanding","Triggers"]} -->

#### Lesson text

![types-of-triggers.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt13fb0843f8d32f85/6648dc36dda14b1dbfdff5d7/types-of-triggers.png)

In Contentstack, Triggers are conditions or invocation points that begin, or "fire off", an Automation when an event occurs.  Events supported include: actions within Contentstack such as a Save or Publish event,  scheduled event, receiving a webhook call from an external platform, or deploying an app with the Contentstack Launch product.  Triggers and events help automate a business workflow to accomplish required tasks.

In the real world, Triggers are like sensors or switches that detect specific events or conditions and initiate a series of actions or workflows in response. They act as the starting point for automation, signaling when something specific happens and prompting the system to perform predefined tasks.

## What are Triggers?

*   First, let's look at an analogy.  Imagine a scenario with a high-tech security system installed in your house. This system includes motion sensors, door sensors, and cameras, all connected to a central control panel. These are all "triggers" that wait for motion. Then, they send a signal with information about the motion (photo / time / device ID) to the control panel, which serves as the hub for automation and security.  After the hub receives the trigger notification, it can perform a series of actions customized by the type of information received - for example, play a small sound for a door sensor or send a video to the cloud for a camera sensor.
    
*   In this scenario, triggers in the Automation Hub can be compared to the various sensors placed throughout your house. When a trigger event occurs, such as a motion sensor detecting movement or a door sensor detecting an unauthorized entry, it sends a signal to the central control panel.
    
*   For instance, if a trigger event is defined to activate when a new article is published, it will automatically initiate a series of actions like sharing the article on social media platforms, sending notifications to subscribers, or updating relevant databases. The trigger serves as the starting point for these actions, ensuring that the appropriate automation processes are set in motion based on the defined events.
    

Triggers in Automation Hub detect specific events or conditions within Contentstack. These events can range from content publishing, content updates,  API calls, or scheduled time intervals. When a trigger event occurs, it activates the automation workflow associated with it.

## Types of Connection Triggers

![types-of-triggers.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt973d0a0974d50e66/6648dc9f0bbc6203ad7fabbf/types-of-triggers.png)

1.  **Contentstack:** This connector allows you to create triggers based on content-related events, such as creation, update, publish, or delete actions within Contentstack itself.
    
2.  **HTTP:** The HTTP connector allows you to create triggers based on incoming HTTP requests from external services or applications. You can configure webhooks or receive notifications from external systems.
    
3.  **Launch:** The Launch connector enables you to create triggers based on events within Contentstack's Launch environment. The launch is a product by Contentstack that provides a robust way to manage and deliver content to various digital channels.
    
4.  **Scheduler:** The Scheduler connector enables you to create triggers based on a predefined schedule or time interval. You can set up triggers to execute actions at specific times or recurring intervals.
    

Each connector provides specific functionalities to trigger actions based on different events or conditions within Contentstack or external systems. We will explore them in detail very soon.

#### Key takeaways

- Connect **Understanding Triggers** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 07 — Using Trigger Connectors

<!-- ai_metadata: {"lesson_id":"07","type":"video","duration_seconds":115,"video_url":"https://cdn.jwplayer.com/previews/F8X2LBBr","thumbnail_url":"https://cdn.jwplayer.com/v2/media/F8X2LBBr/poster.jpg?width=720","topics":["Using","Trigger","Connectors"]} -->

#### Video details

#### At a glance

- **Title:** Ah-trigger Connectors
- **Duration:** 1m 55s
- **Media link:** https://cdn.jwplayer.com/previews/F8X2LBBr
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113626 kbps
- video/mp4 · 180p · 180p · 138810 kbps
- video/mp4 · 270p · 270p · 152856 kbps
- video/mp4 · 360p · 360p · 168038 kbps
- video/mp4 · 406p · 406p · 178315 kbps
- video/mp4 · 540p · 540p · 205943 kbps
- video/mp4 · 720p · 720p · 252372 kbps
- video/mp4 · 1080p · 1080p · 351928 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/F8X2LBBr-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Using Trigger Connectors** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 08 — Using Connectors

<!-- ai_metadata: {"lesson_id":"08","type":"text","duration_minutes":1,"topics":["Using","Connectors"]} -->

#### Lesson text

# Understanding Connectors 

Connectors in Automation Hub understand different systems' specific requirements and capabilities, whether content management systems, marketing automation platforms, or third-party services.

## What are Connectors?

**Connectors** are like bridges that connect different systems and enable smooth communication and data flow between them. They act as intermediary components that facilitate the exchange of information, triggering actions, and automating processes.

## Example

*   Imagine you have a large city with multiple transportation systems like roads, railways, and airports. Each system operates independently and has its own unique functions and rules. However, for efficient transportation and logistics, you need a way to connect these systems and enable the smooth movement of people and goods.
    
*   In this scenario, connectors in the Automation Hub are like well-designed interchanges, terminals, and transfer points that ensure a seamless flow of traffic between the different transportation systems. They understand the needs and protocols of each system and provide a standardized interface for the vehicles to enter, exit, and transfer between them.

#### Key takeaways

- Connect **Using Connectors** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 09 — Action Connectors

<!-- ai_metadata: {"lesson_id":"09","type":"video","duration_seconds":169,"video_url":"https://cdn.jwplayer.com/previews/3ykB6UIr","thumbnail_url":"https://cdn.jwplayer.com/v2/media/3ykB6UIr/poster.jpg?width=720","topics":["Action","Connectors"]} -->

#### Video details

#### At a glance

- **Title:** Ah-action Connectors
- **Duration:** 2m 49s
- **Media link:** https://cdn.jwplayer.com/previews/3ykB6UIr
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113974 kbps
- video/mp4 · 180p · 180p · 146453 kbps
- video/mp4 · 270p · 270p · 166118 kbps
- video/mp4 · 360p · 360p · 184014 kbps
- video/mp4 · 406p · 406p · 198641 kbps
- video/mp4 · 540p · 540p · 235553 kbps
- video/mp4 · 720p · 720p · 298477 kbps
- video/mp4 · 1080p · 1080p · 448123 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/3ykB6UIr-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Action Connectors** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 10 — Automate Connectors

<!-- ai_metadata: {"lesson_id":"10","type":"text","duration_minutes":1,"topics":["Automate","Connectors"]} -->

#### Lesson text

## Automate Connectors

Automation Hub **connectors** are third-party applications that you can use with Automation Hub to automate certain tasks. Here are a few connectors you can set up quickly and use in an automation.![automate-connectors.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt450a11a187293158/6648df3f015b1c5aaa56ef88/automate-connectors.png)

Here are some examples of actions you can perform in Contentstack's Automation Hub**:**

*   **Update Content:** Imagine you have a library, and when new books arrive, your librarian automatically updates the catalog with the book's information, including its title, author, and genre. Similarly, the "Update Content" action in Contentstack automatically modifies specific fields or attributes of a content entry when triggered.
    

  
![update-entry.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd5d421643619410c/6648dfa60a0de6ffe5314ce9/update-entry.png)**Publish Content:** Think of a newspaper editor who, upon finalizing an article, presses a button to send it for printing and distribution to the subscribers. In Contentstack, when triggered, the "Contentstack Action - Publish Content" automatically publishes content to your website, mobile app, or any other digital channels.  For example, the Trigger may be Entry Update, so every time an Entry is saved. the Automation Hub re-publishes the content to an 'Instant Preview' frontend site. 

![publish-entry.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt3fb4550b9d2c404f/6648dfe34ac76e417540f869/publish-entry.png)**Notify Team:** Consider a fire alarm system in a building that detects smoke or fire and immediately alerts the building occupants with loud sirens and flashing lights. Similarly, the "Email by Automation Hub" and "Slack" actions in Automation Hub send notifications or alerts to designated team members, such as sending an email or a message in a collaboration tool like Slack, when a trigger event is detected.

![communicate.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt01249a627ac710d3/6648e00d0a0de65c88314ced/communicate.png)**Create Task:** Picture a project manager who wants to create a Jira task when an item is assigned in Workflow.  When an Entry is set to a workflow stage in Contentstack, an Automation is triggered to create a new Jira task.  In Contentstack, when triggered, the ["JIRA" action](https://www.contentstack.com/docs/developers/automation-hub-connectors/jira/) generates new tasks or assigns tasks to team members in Jira and works together with the content workflow.

![choose-connector.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt472505ba83ebeb1f/6648e04916e6bf7142590c5b/choose-connector.png)

![connector-detail.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt2bd9a0b07a06bf3b/6648e0674284321e941989a0/connector-detail.png)

#### Key takeaways

- Connect **Automate Connectors** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 11 — Types of Action Connectors

<!-- ai_metadata: {"lesson_id":"11","type":"text","duration_minutes":1,"topics":["Types","Action","Connectors"]} -->

#### Lesson text

## Types of Action Connectors

In Contentstack's Automation Hub, several types of action connectors are available. These action connectors allow you to define specific tasks or operations to be executed when a trigger event occurs.   Each connector represents a specific integration or service that can perform actions in your automation workflows.

Each connector receives JSON from the previous steps and can use a [Transform connector](https://www.contentstack.com/docs/developers/automation-hub-connectors/transform) to massage or directly consume the data. If you want to connect to a service not listed here, then the [HTTP Action](https://www.contentstack.com/docs/developers/automation-hub-connectors/http-action) can send JSON to any 3rd-party web service.

[Here are the types of action connectors in Contentstack's Automation Hub](https://www.contentstack.com/docs/developers/automation-hub-connectors)**:**

![types-of-connectors.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt61d6e1debdf89919/6648e12516e6bf4543590c61/types-of-connectors.png)

1.  **CMS:**
    
    *   **Contentstack Action:** Performs content-related actions such as 'Get All Content Types,' 'Get All Entries,' 'Delete an Entry,' 'Add Items to a Release,' 'Clone a Release,' 'Create a Release,' 'Delete Items from a Release,' 'Deploy a Release,' 'Get All Items in a Release,' 'Get All Releases,' 'Get Single Release,' 'Get User Information,' 'Create an Entry,' 'Entry Workflow Stage,' 'Localize an Entry,' 'Publish an Entry,' 'Publish an Asset,' 'Unpublish an Entry,' 'Get Single Entry,' 'Update Entry.'
        
    
2.  **CI/CD Platform:**
    
    *   **CircleCI, TravisCI:** Integrates with CircleCI, TravisCI for continuous integration and delivery workflows.
        
    
3.  **Communication:**
    
    *   **Email by Automation Hub:** Sends emails as an action within Contentstack's Automation Hub.
        
    *   **Mailgun:** Integrates with the Mailgun email service for sending emails.
        
    *   **PubNub:** Integrates with the PubNub platform for real-time messaging and communication.
        
    *   **Pusher:** Integrates with Pusher for real-time push notifications.
        
    *   **SendGrid:** Integrates with SendGrid for sending emails.
        
    *   **Slack:** Sends messages or notifications to Slack channels or users.
        
    *   **Twilio:** Integrates with Twilio for SMS and voice communication.
        
    
4.  **Artificial Intelligence:**
    
    *   **ChatGPT:** Uses OpenAI's ChatGPT for AI-powered chatbot capabilities.
        
    
5.  **Digital Asset Management:**
    
    *   **Cloudinary:** Integrates with Cloudinary for digital asset management and manipulation.
        
    *   **Aprimo:** Integrates with Aprimo's digital asset management platform.
        
    
6.  **eCommerce:**
    
    *   **BigCommerce:** Integrates with the BigCommerce eCommerce platform.
        
    
7.  **FaaS (Function-as-a-Service):**
    
    *   **AWS Lambda:** Executes serverless functions on the AWS Lambda platform.
        
    
8.  **Hosting:**
    
    *   **Launch:** Performs actions within Contentstack's Launch environment.
        
    *   **Heroku:** Integrates with Heroku for application hosting and deployment.
        
    *   **Netlify:** Integrates with Netlify for static website hosting and deployment.
        
    *   **Vercel:** Integrates with Vercel for static website hosting and deployment.
        
    
9.  **Development:**
    
    *   **Code Block:** Executes custom code or scripts as an action within Contentstack's Automation Hub.
        
    
10.  **Database:**
     
     *   **Airtable:** Integrates with Airtable, a collaborative database and project management tool.
         
     
11.  **Messaging Queue:**
     
     *   **AWS SQS:** Integrates with AWS Simple Queue Service for messaging and queuing capabilities.
         
     
12.  **Notification Service:**
     
     *   **AWS SNS:** Integrates with AWS Simple Notification Service for sending notifications to various endpoints.
         
     
13.  **Project Management:**
     
     *   **Jira:** Integrates with the Jira project management tool.
         
     
14.  **Translation Platform:**
     
     *   **Smartling:** Integrates with Smartling, a translation management platform.
         
     
15.  **Search & Discovery:**
     
     *   **Algolia:** Integrates with Algolia for search and discovery capabilities.
         
     *   **Constructor:** Integrates with Constructor for site search and search analytics.
         
     *   **Elasticsearch:** Integrates with Elasticsearch for powerful search and indexing capabilities.
         
     
16.  **Storage:**
     
     *   **AWS S3:** Integrates with AWS Simple Storage Service for storing and retrieving files and objects.
         
     
17.  **Storage:**
     
     *   **AWS S3:** Integrates with AWS Simple Storage Service for storing and retrieving files and objects.
         
     
18.  **Utility:**
     
     *   **Data Store:** This helps you store keys and their corresponding values within a database that you can retrieve later. With the Data Store connector, you can also store and fetch the data stored during execution.
         
     *   **HTTP Action:** This enables you to perform HTTP requests as an action within Contentstack's Automation Hub. You can send HTTP GET, POST, PUT, DELETE, or PATCH requests. This connector is valuable for integrating with external systems or triggering actions in other applications.
         
     *   **Pause:** This lets you pause existing automation.
         
     *   **Transform:** Helps in manipulating texts and numbers as required. It helps you to manipulate and structure data according to your needs. For example, suppose in the previous trigger; specific data is selected to be displayed. In that case, the action defined by the Transform connector can manipulate or change to meet your display requirements.
         
     *   **Response:** Helps determine the status of your configured action. It notifies users about the success or failure of a configured action with a response.
         
     *   **RTE Formatter:** Helps convert content within the JSON Rich Text Editor into HTML or text formats.
         
     *   **Utility:** Helps to manage your automation workflow. With the wait action, you can put your automation on hold for some time before the following automation action runs.

#### Key takeaways

- Connect **Types of Action Connectors** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 12 — Automations in Marketplace

<!-- ai_metadata: {"lesson_id":"12","type":"video","duration_seconds":138,"video_url":"https://cdn.jwplayer.com/previews/PKf2GGKG","thumbnail_url":"https://cdn.jwplayer.com/v2/media/PKf2GGKG/poster.jpg?width=720","topics":["Automations","Marketplace"]} -->

#### Video details

#### At a glance

- **Title:** Ah-automations-in-marketplace
- **Duration:** 2m 18s
- **Media link:** https://cdn.jwplayer.com/previews/PKf2GGKG
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 114186 kbps
- video/mp4 · 180p · 180p · 144816 kbps
- video/mp4 · 270p · 270p · 162355 kbps
- video/mp4 · 360p · 360p · 180599 kbps
- video/mp4 · 406p · 406p · 193499 kbps
- video/mp4 · 540p · 540p · 229209 kbps
- video/mp4 · 720p · 720p · 288741 kbps
- video/mp4 · 1080p · 1080p · 424342 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/PKf2GGKG-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Automations in Marketplace** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 13 — Using Trigger Conditions to Control an Automate Execution

<!-- ai_metadata: {"lesson_id":"13","type":"video","duration_seconds":218,"video_url":"https://cdn.jwplayer.com/previews/dCjBIaBC","thumbnail_url":"https://cdn.jwplayer.com/v2/media/dCjBIaBC/poster.jpg?width=720","topics":["Using","Trigger","Conditions","Control","Automate","Execution"]} -->

#### Video details

#### At a glance

- **Title:** Ah-trigger Conditions
- **Duration:** 3m 38s
- **Media link:** https://cdn.jwplayer.com/previews/dCjBIaBC
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113596 kbps
- video/mp4 · 180p · 180p · 145328 kbps
- video/mp4 · 270p · 270p · 165019 kbps
- video/mp4 · 360p · 360p · 183880 kbps
- video/mp4 · 406p · 406p · 198911 kbps
- video/mp4 · 540p · 540p · 235825 kbps
- video/mp4 · 720p · 720p · 295556 kbps
- video/mp4 · 1080p · 1080p · 431697 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/dCjBIaBC-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Using Trigger Conditions to Control an Automate Execution** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 14 — Using Conditionals When Publishing to Production

<!-- ai_metadata: {"lesson_id":"14","type":"video","duration_seconds":125,"video_url":"https://cdn.jwplayer.com/previews/LHUBP0RN","thumbnail_url":"https://cdn.jwplayer.com/v2/media/LHUBP0RN/poster.jpg?width=720","topics":["Using","Conditionals","When","Publishing","Production"]} -->

#### Video details

#### At a glance

- **Title:** Ah-conditionals With Email Notification
- **Duration:** 2m 5s
- **Media link:** https://cdn.jwplayer.com/previews/LHUBP0RN
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113550 kbps
- video/mp4 · 180p · 180p · 143174 kbps
- video/mp4 · 270p · 270p · 159853 kbps
- video/mp4 · 360p · 360p · 176680 kbps
- video/mp4 · 406p · 406p · 188231 kbps
- video/mp4 · 540p · 540p · 222882 kbps
- video/mp4 · 720p · 720p · 274420 kbps
- video/mp4 · 1080p · 1080p · 390936 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/LHUBP0RN-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Using Conditionals When Publishing to Production** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 15 — Using the HTTP Connector with a Publish Event

<!-- ai_metadata: {"lesson_id":"15","type":"video","duration_seconds":126,"video_url":"https://cdn.jwplayer.com/previews/MfUpnFZz","thumbnail_url":"https://cdn.jwplayer.com/v2/media/MfUpnFZz/poster.jpg?width=720","topics":["Using","the","HTTP","Connector","with","Publish"]} -->

#### Video details

#### At a glance

- **Title:** Ah-http Listener
- **Duration:** 2m 6s
- **Media link:** https://cdn.jwplayer.com/previews/MfUpnFZz
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113673 kbps
- video/mp4 · 180p · 180p · 148643 kbps
- video/mp4 · 270p · 270p · 170075 kbps
- video/mp4 · 360p · 360p · 192440 kbps
- video/mp4 · 406p · 406p · 206764 kbps
- video/mp4 · 540p · 540p · 251354 kbps
- video/mp4 · 720p · 720p · 324824 kbps
- video/mp4 · 1080p · 1080p · 519435 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/MfUpnFZz-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Using the HTTP Connector with a Publish Event** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 16 — Using HTTP Listeners

<!-- ai_metadata: {"lesson_id":"16","type":"video","duration_seconds":126,"video_url":"https://cdn.jwplayer.com/previews/MfUpnFZz","thumbnail_url":"https://cdn.jwplayer.com/v2/media/MfUpnFZz/poster.jpg?width=720","topics":["Using","HTTP","Listeners"]} -->

#### Video details

#### At a glance

- **Title:** Ah-http Listener
- **Duration:** 2m 6s
- **Media link:** https://cdn.jwplayer.com/previews/MfUpnFZz
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113673 kbps
- video/mp4 · 180p · 180p · 148643 kbps
- video/mp4 · 270p · 270p · 170075 kbps
- video/mp4 · 360p · 360p · 192440 kbps
- video/mp4 · 406p · 406p · 206764 kbps
- video/mp4 · 540p · 540p · 251354 kbps
- video/mp4 · 720p · 720p · 324824 kbps
- video/mp4 · 1080p · 1080p · 519435 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/MfUpnFZz-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Using HTTP Listeners** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 17 — Understanding HTTP Listeners

<!-- ai_metadata: {"lesson_id":"17","type":"text","duration_minutes":1,"topics":["Understanding","HTTP","Listeners"]} -->

#### Lesson text

# HTTP Listener

The **HTTP Listener** connector allows you to create automated workflows to **receive incoming HTTP requests** and trigger specific actions based on the received data. This endpoint listens to incoming HTTP requests and processes them according to your workflow.  An HTTP endpoint is provided that an external platform or external webhook can use and send JSON data to Automation Hub.

![http-listener2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8c471a1cdcd30f3e/664947c35c248385cfbc34f9/http-listener2.png)

## Example

**Here's an example to illustrate the use of the HTTP Listener connector**:

Let's say you have an e-commerce website, and you want to trigger an automation workflow whenever a new order is received through an API call.

1.  **Set up the HTTP connector** \-
    
    *   In Automation Hub, select the "HTTP" connector.
        
    
2.  Configure the HTTP trigger -
    
    *   Configure the HTTP method (e.g., POST) trigger and define any required authentication or headers.
        
    *   Define the specific endpoint or route corresponding to the URL generated for the order creation API call.
        
    *   Set any required headers or parameters to match your API requirements.
        
    
3.  Define subsequent actions -
    
    *   Once the HTTP connector trigger receives the HTTP request, you can define subsequent actions in the workflow.
        
    *   Add actions such as validating the order, updating inventory, sending confirmation emails, or integrating with other systems.
        
    
4.  Test and deploy the workflow -
    
    *   Test the workflow by simulating an API call to the defined endpoint and verifying that the trigger is activated.
        
    *   Ensure that the subsequent actions in the workflow, such as order processing and system integration, are executed as expected.
        
    *   Once tested, activate the workflow and be ready to process incoming API requests.
        
    

In this example, the HTTP connector acts as a trigger, allowing you to listen for incoming API calls and initiate the defined automation workflow. You can perform various actions within the workflow based on the received order data, such as updating databases, triggering notifications, or performing business logic.

Using the HTTP connector as a trigger provides flexibility in integrating external systems or services with Contentstack's Automation Hub. You can easily automate processes, streamline data flows, and orchestrate complex workflows by leveraging the HTTP connector's ability to listen for incoming HTTP requests.

#### Key takeaways

- Connect **Understanding HTTP Listeners** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 18 — Understanding Scheduler by Automate

<!-- ai_metadata: {"lesson_id":"18","type":"text","duration_minutes":1,"topics":["Understanding","Scheduler","Automate"]} -->

#### Lesson text

# Scheduled Jobs

The **Scheduler by Automate** connector in Contentstack allows you to schedule and automate tasks or workflows at specific times or intervals. It acts as a trigger to initiate an automation workflow based on the defined schedule.

![scheduled-jobs.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt63e0fdbddb2882fe/66494833342fb531a162ccc5/scheduled-jobs.png)

**Let's consider a scenario where you want to send a daily email newsletter to your subscribers at a specific time using Contentstack's Automate**:

1.  Set up the 'Scheduler by Automate' connector and trigger -
    
    *   In Automation Hub, select the 'Scheduler By Automate' connector.
        
    *   Configure the scheduler trigger by specifying the Time Zone and Unix Cron Pattern. Specify the exact time or interval you want the automation workflow to be triggered.
        
    
2.  Define subsequent actions -
    
    *   Once the scheduler trigger activates the workflow, you can define subsequent actions.
        
    *   Add actions to generate the email newsletter content, fetch subscriber data, and send personalized emails.
        
    
3.  Test and deploy the workflow -
    
    *   Test the workflow by manually triggering it or waiting for the scheduled time.
        
    *   Verify that the workflow executes as expected, generating and sending the email newsletters to subscribers.
        
    *   Once tested, activate the workflow and automate the daily email newsletter process.
        
    

In this example, the Scheduler by Automation acts as a trigger, allowing you to schedule the execution of a workflow at specific times or intervals. The automation workflow can perform various actions, such as generating dynamic content, fetching data from external sources, and sending emails to subscribers.

Using Scheduler by Automation, you can streamline recurring tasks, automate time-based processes, and ensure consistent and timely execution of workflows within Contentstack's Automate.

#### Key takeaways

- Connect **Understanding Scheduler by Automate** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 19 — Launch Connector

<!-- ai_metadata: {"lesson_id":"19","type":"text","duration_minutes":1,"topics":["Launch","Connector"]} -->

#### Lesson text

# **Launch Connector**

The **Launch** **connector** is a feature that allows you to initiate deployments of websites hosted on the Contentstack-powered jamstack platform called "Launch." Whether your website's content is managed by a different CMS (headless or traditional), you can use Launch to quickly host such sites. 

You can easily trigger deployments by creating a new project in Launch and connecting it to your GitHub or GitLab repository. This seamless integration streamlines the deployment process for your websites, making it efficient and hassle-free.

## Launch Connector for Action

![launch-connector.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltdda2557e6e507603/66494908efc97a69cb4c0ac4/launch-connector.png)

Let's consider an example where the team sets up a scheduled job to automatically deploy new code builds for your website at midnight every Sunday by using the Scheduled Jobs Trigger with Launch Action Connector:

1.  **Set up the 'Scheduler by Automate' connector and trigger -**
    
    *   In Automate, select the 'Scheduler By Automate' connector.
        
    *   Configure the scheduler trigger by specifying the Time Zone and Unix Cron Pattern. Specify the exact time or interval you want the automation workflow to be triggered. Here, at midnight every Sunday.
        
    
2.  **Define 'Launch Connector' action -**
    
    *   Once the scheduler trigger activates the workflow, you define the Launch connector in the action.
        
    *   This action deploys the build for the authorized and selected Launch project.
        
    
3.  **Test and deploy the workflow -**
    
    *   Test the workflow by manually triggering it or waiting for the scheduled time.
        
    *   Verify that the workflow executes as expected, deploying the build to the set environment.
        
    *   Once tested, activate the workflow and automate your website build deployment.
        
    

This approach proves beneficial as the team can confidently plan and execute updates without disrupting the website's live performance.

## Launch Connector for Trigger

![launch-connector-for-trigger.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1d6b0a82057555c3/664949670b508aef4fdcfd1e/launch-connector-for-trigger.png)

Let's consider an example where we set up 'Launch as the trigger' for the automation. Whenever a deployment on Launch fails, the automation automatically sends an email notification to a designated group of users using the 'Email by Automate' action connector:

1.  **Set up the 'Launch' connector and trigger -**
    
    *   In Automate, select the 'Launch' connector.
        
    *   Configure the 'Deployment' trigger where you select the event as **'Deployment failed'** for the selected Launch project.
        
    
2.  **Define 'Email by Automate' action -**
    
    *   Once the scheduler trigger activates the workflow, you define the 'Email by Automate' connector in the action.
        
    *   This action will email the list of users(specified during the setup) when the Launch deployment fails.
        
    
3.  **Test and deploy the workflow -**
    
    *   Test the workflow by manually triggering it or deploying the Launch project.
        
    *   Verify that the workflow executes as expected, deploying the build to the set environment.
        
    *   Once tested, activate the workflow and automate your website build deployment status.
        
    

This example demonstrates how Automate can be used to proactively notify the team about deployment issues, allowing them to address and resolve any potential challenges promptly.

#### Key takeaways

- Connect **Launch Connector** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 20 — Automate Foundations Quiz

<!-- ai_metadata: {"lesson_id":"20","type":"text","duration_minutes":1,"topics":["LMS","Knowledge check"]} -->

#### Lesson text

**This lesson is a knowledge check hosted in the Academy LMS.** This companion Markdown contains **no quiz questions, answers, scoring rules, or explanations**.

#### Key takeaways

- Connect **Automate Foundations Quiz** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 21 — Utility Connectors

<!-- ai_metadata: {"lesson_id":"21","type":"text","duration_minutes":1,"topics":["Utility","Connectors"]} -->

#### Lesson text

## Data Store Connector

The Data Store connector in Automate provides a convenient way to store key-value pairs within the Contentstack database. These key-value pairs can be used to store any data you want to retrieve and use later in your automation workflows. The Data Store connector allows you to store data during the execution of automation and fetch it when needed.

![data-store.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt93f2a8b94bd49abf/66494a0f4ac76e5d8f40f8fc/data-store.png)

Key Features of the Data Store Connector:

1.  **Data Storage -** The Data Store connector can store data as key-value pairs. Each pair consists of a unique key and its corresponding value. The data stored can be of any type, including strings, numbers, booleans, and even complex data structures like objects or arrays.
    
2.  **Data Retrieval -** Once data is stored using the Data Store connector, you can retrieve it later within the same automation or across different workflow steps. This lets you pass data between different actions and conditions, making your automation more dynamic and versatile.
    
3.  **Persistent Storage -** The data stored using the Data Store connector is persistently saved within the database. This means that even if the automation execution is paused or stopped, the data will still be available when the execution resumes.
    
4.  **Instance-Specific Data -** The Data Store connector allows you to store and fetch data specific to the current instance of an automation execution. This enables you to manage data at the instance level and avoids conflicts or data interference between different executions of the same automation.
    

Use Cases of the Data Store Connector:

1.  **Configuration Management -** You can use the Data Store connector to store configuration settings, such as API keys, credentials, or connection details, that need to be accessed by multiple actions or steps within automation.
    
2.  **Data Transfer and Transformation -** The Data Store connector can transfer data between different automation steps. For example, you can store data in one step and fetch it later to perform transformations or calculations in subsequent steps.
    
3.  **State Management -** If your automation involves multiple conditional branches or loops, the Data Store connector can help manage the automation's state by storing and updating relevant data as the automation progresses.
    
4.  **Error Handling and Recovery -** The Data Store connector can store error messages or status flags during the execution of automation. This can aid in error handling and recovery strategies.
    

In summary, the Data Store connector in Automate provides a flexible and efficient way to store and retrieve data within your automation workflows. It enables you to create more sophisticated and data-driven automations, enhancing efficiency and productivity in your processes.

# HTTP Action Connector

An HTTP action connector is a utility connector that interacts with external services, APIs, or web endpoints using the Hypertext Transfer Protocol (HTTP). You can send HTTP requests (such as GET, POST, PUT, DELETE) to remote servers, receive responses, and potentially process or transform the data through this connector.

![http-connector.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf8395252dca738e0/66494a5b0bbc628ea47fac08/http-connector.png)

Key Features of an HTTP Action Connector:

*   **HTTP Methods -** Supports various HTTP methods like GET, POST, PUT, and DELETE, allowing you to interact with different parts of an API.
    
*   **Request Configuration -** You can configure headers, query parameters, request body, and other settings required for the API request.
    
*   **Response Handling -** Typically, you can extract data from the response, handle status codes, and parse the returned data (often in JSON or XML format).
    
*   **Authentication -** Supports various authentication mechanisms, such as API keys, OAuth tokens, or basic authentication.
    
*   **Error Handling -** Provides options to handle errors, retries, and timeouts to ensure robust interactions with the API.
    
*   **Customization -** Allows you to customize and manipulate the data before sending the request or after receiving the response.
    

Use Cases for HTTP Action Connectors in Utility Connectors:

1.  **Data Integration -** You can use the HTTP action connector to fetch data from external sources like APIs and synchronize it with your Contentstack content. For example, automatically pulling data from a third-party system and updating content entries.
    
2.  **Third-Party Services -** Integrate with third-party services like email platforms, messaging services, or social media APIs to trigger actions based on content changes.
    
3.  **Content Enrichment -** Utilize external services to enrich your content. For instance, automatically tagging content with relevant keywords using a natural language processing API.
    
4.  **Webhooks**: Receive and process data from external sources through webhooks. The HTTP action connector can parse and handle incoming webhook payloads.
    
5.  **Content Delivery**: Trigger HTTP requests to deliver content to external systems. This could involve publishing content to a website or an external database.
    
6.  **Data Migration**: Use the HTTP action connector to migrate content from one system to another by sending appropriately formatted API requests.
    

In summary, An HTTP action connector is a tool in workflow automation platforms that lets you interact with external services via HTTP requests. In Contentstack Automate, it can help integrate data, trigger actions based on content changes, enrich content, manage webhooks, deliver content, and handle data migration.

# Utility Connector - Wait Action

The Utility action connector helps to manage your automation workflow. With the wait action, you can put your automation on hold for some time before the following automation action runs.

You can set up three actions: Wait, Continue Automation If, and Continue Repeat If.

![wait-action1.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1902cd2c8600e1b4/66494ade0bbc6207ac7fac0c/wait-action1.png)

## **Example: Wait connector in Repeat Path**

Let’s see a simple use-case of the Utility connector using Repeat Path.

Wait action is useful while working with bulk data. Previously, if the number of API requests exceeded the defined limitation, the automation failed automatically due to rate limiting.

In this example, we are sending bulk data through the HTTP action with a limitation of 5 API requests per second, and we will use the Wait action to delay the API request per second to create multiple entries in Contentstack. We will also see how the user receives an error message in the Execution Log section for exceeding the rate limit.

![wait-action2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd87d2c9ea470f3bc/66494b00b2e852f9f0451976/wait-action2.png)For examples of every Utility option, please see the [**Automate Utility documentation**](https://www.contentstack.com/docs/developers/automation-hub-connectors/utility).

## **Transform**

Transform does exactly what it sounds like - transforming data from one format to another. More specifically, it allows the developer to specify the JSON format that will be passed to a future Automation step and use the data and properties from Entries or other objects and properties available.

For example, our external system expects a JSON object with a title, content property, and date. Using Transform, we can create a new JSON object with only 3 properties and fill in the data from Contentstack objects in the Automation.

In the screenshot below, we are creating a new JSON object with a property called 'result' containing the value of the Entry's name field capitalized.

![transform2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt0b5daaf2141713c8/66494b574b531e4547c328ba/transform2.png)

![transform1.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8d241b3597b12963/66494b57015b1c360b56effa/transform1.png)

#### Key takeaways

- Connect **Utility Connectors** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 22 — Use Case: Translation with ChatGPT

<!-- ai_metadata: {"lesson_id":"22","type":"video","duration_seconds":834,"video_url":"https://cdn.jwplayer.com/previews/T1PfSEIE","thumbnail_url":"https://cdn.jwplayer.com/v2/media/T1PfSEIE/poster.jpg?width=720","topics":["Use","Case","Translation","with","ChatGPT"]} -->

#### Video details

#### At a glance

- **Title:** Ah-chatgpt Translations Example
- **Duration:** 13m 54s
- **Media link:** https://cdn.jwplayer.com/previews/T1PfSEIE
- **Publish date (unix):** 1713750111

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113508 kbps
- video/mp4 · 180p · 180p · 143948 kbps
- video/mp4 · 270p · 270p · 161578 kbps
- video/mp4 · 360p · 360p · 182141 kbps
- video/mp4 · 406p · 406p · 193844 kbps
- video/mp4 · 540p · 540p · 232421 kbps
- video/mp4 · 720p · 720p · 294709 kbps
- video/mp4 · 1080p · 1080p · 426845 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/T1PfSEIE-120.vtt`

#### Video transcript

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish -->
[00:00] Transcript not attached in source entry.
```

#### Key takeaways

- Connect **Use Case: Translation with ChatGPT** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

## Resources & references

| Page | Companion Markdown |
| --- | --- |
| /courses/automate-foundations/what-is-automate | /academy/md/courses/automate-foundations/what-is-automate.md |
| /courses/automate-foundations/creating-a-new-project | /academy/md/courses/automate-foundations/creating-a-new-project.md |
| /courses/automate-foundations/first-automate-project-walkthrough | /academy/md/courses/automate-foundations/first-automate-project-walkthrough.md |
| /courses/automate-foundations/exercise-review-your-first-automation-hub-project | /academy/md/courses/automate-foundations/exercise-review-your-first-automation-hub-project.md |
| /courses/automate-foundations/settings-options | /academy/md/courses/automate-foundations/settings-options.md |
| /courses/automate-foundations/understanding-triggers | /academy/md/courses/automate-foundations/understanding-triggers.md |
| /courses/automate-foundations/using-trigger-connectors | /academy/md/courses/automate-foundations/using-trigger-connectors.md |
| /courses/automate-foundations/using-connectors | /academy/md/courses/automate-foundations/using-connectors.md |
| /courses/automate-foundations/action-connectors | /academy/md/courses/automate-foundations/action-connectors.md |
| /courses/automate-foundations/automate-connectors | /academy/md/courses/automate-foundations/automate-connectors.md |
| /courses/automate-foundations/types-of-action-connectors | /academy/md/courses/automate-foundations/types-of-action-connectors.md |
| /courses/automate-foundations/automations-in-marketplace | /academy/md/courses/automate-foundations/automations-in-marketplace.md |
| /courses/automate-foundations/using-trigger-conditions-to-control-an-automate-execution | /academy/md/courses/automate-foundations/using-trigger-conditions-to-control-an-automate-execution.md |
| /courses/automate-foundations/using-conditionals-when-publishing-to-production | /academy/md/courses/automate-foundations/using-conditionals-when-publishing-to-production.md |
| /courses/automate-foundations/using-the-http-connector-with-a-publish-event | /academy/md/courses/automate-foundations/using-the-http-connector-with-a-publish-event.md |
| /courses/automate-foundations/using-http-listeners | /academy/md/courses/automate-foundations/using-http-listeners.md |
| /courses/automate-foundations/understanding-http-listeners | /academy/md/courses/automate-foundations/understanding-http-listeners.md |
| /courses/automate-foundations/understanding-scheduler | /academy/md/courses/automate-foundations/understanding-scheduler.md |
| /courses/automate-foundations/launch-connector | /academy/md/courses/automate-foundations/launch-connector.md |
| /courses/automate-foundations/automate-foundations-quiz | /academy/md/courses/automate-foundations/automate-foundations-quiz.md |
| /courses/automate-foundations/utility-connectors | /academy/md/courses/automate-foundations/utility-connectors.md |
| /courses/automate-foundations/use-case-translation-with-chatgpt | /academy/md/courses/automate-foundations/use-case-translation-with-chatgpt.md |

## Supplement for indexing

### Content summary

Automate is a user-friendly visual workflow builder designed for business users and developers. It empowers you to effortlessly create and manage complex, multi-step processes through intuitive clicks instead of delving … Automate is a user-friendly visual workflow builder designed for business users and developers. It empowers you to effortlessly create and manage complex, multi-step processes through intuitive clicks instead of delving into code. This simplification streamlines the integration of the Contentstack platform into your composable architecture, alleviating the associated technical complexities. Pre-requisites: 1\. Account in Contentstack with access to a Stack as an Administrator or Developer. If possible, please create a new Stack to use only with the Partner Courses. 2\. A basic comprehension of We are excited for you to learn how Contentstack's Automate can assist you in automating your workflows while integrating with external platforms. This course will present examples of Automation Hub recipes and ask you to follow along to recreate these recipes in your Contentstack organization. If you don't yet have a site for the exercises, we recommend creating a new Starter App site using the Bootstrap CLI (https://www.contentstack.com/docs/developers/cli/bootstrap-starter-apps/) for the course exercises. Through practical examples, you will gain an understanding of how to create automation

### Retrieval tags

- Contentstack Academy
- automate-foundations
- What
- Automate
- Creating
- New
- Project
- First
- Walkthrough
- Exercise
- Review
- Your
- Automation
- Hub

### Indexing notes

Chunk at each "### Lesson NN — Title" heading; copy lesson_id and topics from the preceding HTML comment into chunk metadata for RAG filters.
Course slug: automate-foundations. Union of lesson topic tokens: What, Automate, Creating, New, Project, First, Walkthrough, Exercise, Review, Your, Automation, Hub, Settings, Options, Understanding, Triggers, Using, Trigger, Connectors, Action, Types, Automations, Marketplace, Conditions, Control, Execution, Conditionals, When, Publishing, Production, the, HTTP, Connector, with, Publish, Listeners, Scheduler, Launch, Foundations, Quiz, Utility, Use, Case, Translation, ChatGPT.
Do not embed or retrieve LMS-only quiz items or mastery exam answer keys from this export.

### Asset references

| Label | URL |
| --- | --- |
| AH-image1.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf9681be1b6d35416/6625c430700d6cafe6a666b9/AH-image1.png` |
| AH-image2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt190acdddc8aac224/6625c4fb210d90d2483a3240/AH-image2.png` |
| AH-image3.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta8ff7ac243b34016/6625c57424e1812b95acc90a/AH-image3.png` |
| AH-image4.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf12e36182ffa4624/6625c5afc9de46bfffd472c6/AH-image4.png` |
| automate-section.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt29d01db612819a0b/6648ba4c16e6bf37bb590c44/automate-section.png` |
| new-project.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1a56786c25015b54/6648bb616d705597e74d9090/new-project.png` |
| create-project.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt55529f56aa4828f0/6648bc25d4d02e992a2eab6d/create-project.png` |
| new-automation-dialog.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt5852cf6e9447a81d/6648bd9352619d711ea90a13/new-automation-dialog.png` |
| trigger-action-sterps.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte4704e39fdbc450e/6648bdef5fd9af818c70e24e/trigger-action-sterps.png` |
| Video thumbnail: First Automate Project Walkthrough | `https://cdn.jwplayer.com/v2/media/cn4Eqtpu/poster.jpg?width=720` |
| er-create-automation.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltdfe3ff2a3c263cbe/6648c1205c24835191bc345b/er-create-automation.png` |
| config-trigger.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt84323b82694e0c34/6648c1a5d4d02eecc82eab76/config-trigger.png` |
| trigger-types.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt66a6986f45bfa9df/6648c202acadaf48b07282dc/trigger-types.png` |
| test-trigger.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt7209e595367da050/6648c24e0b508a7d34dcfc62/test-trigger.png` |
| test-trigger2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd7d3aaaee993018a/6648c2613092d0864a63f98d/test-trigger2.png` |
| email-automate.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt07960e4f683f1151/6648c2c24ac76e5e0740f842/email-automate.png` |
| Video thumbnail: Settings & Options | `https://cdn.jwplayer.com/v2/media/SHvpVjgb/poster.jpg?width=720` |
| types-of-triggers.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt13fb0843f8d32f85/6648dc36dda14b1dbfdff5d7/types-of-triggers.png` |
| types-of-triggers.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt973d0a0974d50e66/6648dc9f0bbc6203ad7fabbf/types-of-triggers.png` |
| Video thumbnail: Using Trigger Connectors | `https://cdn.jwplayer.com/v2/media/F8X2LBBr/poster.jpg?width=720` |
| Video thumbnail: Action Connectors | `https://cdn.jwplayer.com/v2/media/3ykB6UIr/poster.jpg?width=720` |
| automate-connectors.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt450a11a187293158/6648df3f015b1c5aaa56ef88/automate-connectors.png` |
| update-entry.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd5d421643619410c/6648dfa60a0de6ffe5314ce9/update-entry.png` |
| publish-entry.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt3fb4550b9d2c404f/6648dfe34ac76e417540f869/publish-entry.png` |
| communicate.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt01249a627ac710d3/6648e00d0a0de65c88314ced/communicate.png` |
| choose-connector.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt472505ba83ebeb1f/6648e04916e6bf7142590c5b/choose-connector.png` |
| connector-detail.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt2bd9a0b07a06bf3b/6648e0674284321e941989a0/connector-detail.png` |
| types-of-connectors.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt61d6e1debdf89919/6648e12516e6bf4543590c61/types-of-connectors.png` |
| Video thumbnail: Automations in Marketplace | `https://cdn.jwplayer.com/v2/media/PKf2GGKG/poster.jpg?width=720` |
| Video thumbnail: Using Trigger Conditions to Control an Automate Execution | `https://cdn.jwplayer.com/v2/media/dCjBIaBC/poster.jpg?width=720` |
| Video thumbnail: Using Conditionals When Publishing to Production | `https://cdn.jwplayer.com/v2/media/LHUBP0RN/poster.jpg?width=720` |
| Video thumbnail: Using the HTTP Connector with a Publish Event | `https://cdn.jwplayer.com/v2/media/MfUpnFZz/poster.jpg?width=720` |
| Video thumbnail: Using HTTP Listeners | `https://cdn.jwplayer.com/v2/media/MfUpnFZz/poster.jpg?width=720` |
| http-listener2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8c471a1cdcd30f3e/664947c35c248385cfbc34f9/http-listener2.png` |
| scheduled-jobs.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt63e0fdbddb2882fe/66494833342fb531a162ccc5/scheduled-jobs.png` |
| launch-connector.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltdda2557e6e507603/66494908efc97a69cb4c0ac4/launch-connector.png` |
| launch-connector-for-trigger.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1d6b0a82057555c3/664949670b508aef4fdcfd1e/launch-connector-for-trigger.png` |
| data-store.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt93f2a8b94bd49abf/66494a0f4ac76e5d8f40f8fc/data-store.png` |
| http-connector.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf8395252dca738e0/66494a5b0bbc628ea47fac08/http-connector.png` |
| wait-action1.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1902cd2c8600e1b4/66494ade0bbc6207ac7fac0c/wait-action1.png` |
| wait-action2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd87d2c9ea470f3bc/66494b00b2e852f9f0451976/wait-action2.png` |
| transform2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt0b5daaf2141713c8/66494b574b531e4547c328ba/transform2.png` |
| transform1.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8d241b3597b12963/66494b57015b1c360b56effa/transform1.png` |
| Video thumbnail: Use Case: Translation with ChatGPT | `https://cdn.jwplayer.com/v2/media/T1PfSEIE/poster.jpg?width=720` |

### External links

| Label | URL |
| --- | --- |
| Contentstack Academy home | `https://www.contentstack.com/academy/` |
| Training instance setup | `https://www.contentstack.com/academy/training-instance` |
| Academy playground (GitHub) | `https://github.com/contentstack/contentstack-academy-playground` |
| Contentstack documentation | `https://www.contentstack.com/docs/` |
| new Starter App site using the Bootstrap CLI | `https://www.contentstack.com/docs/developers/cli/bootstrap-starter-apps/` |
| AH-image1.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf9681be1b6d35416/6625c430700d6cafe6a666b9/AH-image1.png` |
| AH-image2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt190acdddc8aac224/6625c4fb210d90d2483a3240/AH-image2.png` |
| AH-image3.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta8ff7ac243b34016/6625c57424e1812b95acc90a/AH-image3.png` |
| AH-image4.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf12e36182ffa4624/6625c5afc9de46bfffd472c6/AH-image4.png` |
| automate-section.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt29d01db612819a0b/6648ba4c16e6bf37bb590c44/automate-section.png` |
| new-project.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1a56786c25015b54/6648bb616d705597e74d9090/new-project.png` |
| create-project.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt55529f56aa4828f0/6648bc25d4d02e992a2eab6d/create-project.png` |
| new-automation-dialog.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt5852cf6e9447a81d/6648bd9352619d711ea90a13/new-automation-dialog.png` |
| trigger-action-sterps.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte4704e39fdbc450e/6648bdef5fd9af818c70e24e/trigger-action-sterps.png` |
| More about 'Create a New Automation' | `https://www.contentstack.com/docs/developers/automation-hub-guides/create-an-automation/` |
| Edit an existing Automation | `https://www.contentstack.com/docs/developers/automation-hub-guides/edit-automation-details/` |
| Delete an existing Automation | `https://www.contentstack.com/docs/developers/automation-hub-guides/delete-automation/` |
| Automate Limitations - Review maximum number of projects, automations and steps | `https://www.contentstack.com/docs/developers/automation-hub-guides/limitations-of-automation-hub` |
| er-create-automation.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltdfe3ff2a3c263cbe/6648c1205c24835191bc345b/er-create-automation.png` |
| config-trigger.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt84323b82694e0c34/6648c1a5d4d02eecc82eab76/config-trigger.png` |
| trigger-types.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt66a6986f45bfa9df/6648c202acadaf48b07282dc/trigger-types.png` |
| test-trigger.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt7209e595367da050/6648c24e0b508a7d34dcfc62/test-trigger.png` |
| test-trigger2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd7d3aaaee993018a/6648c2613092d0864a63f98d/test-trigger2.png` |
| email-automate.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt07960e4f683f1151/6648c2c24ac76e5e0740f842/email-automate.png` |
| types-of-triggers.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt13fb0843f8d32f85/6648dc36dda14b1dbfdff5d7/types-of-triggers.png` |
