Skip to main content

Automation: How to Create a Workflow Step by Step

Teachfloor Automations allow you to streamline repetitive actions by creating customized workflows that run automatically based on user activity

Filippo Schiano di Pepe avatar
Written by Filippo Schiano di Pepe
Updated today

How Automations Work

Automations are built using a visual workflow editor, where each step represents part of a logic sequence:

  1. Trigger — Defines when the automation starts.

  2. Filter / Logic — Refines which users or conditions apply, or adds a delay before the action.

  3. Action — Defines what happens once the trigger and filter conditions are met.


Step 1: Name your automation

Before building your workflow, give it a clear and descriptive name.
This helps you identify it easily later, especially if you have multiple automations running.


Example:

  • “Welcome Email for New Members”

  • “Auto-Enroll After Registration”

  • “Revoke Access After Course Completion”

To name your automation:

  1. Click on the settings icon ⚙️ in the right sidebar.

  2. Enter a title in the Name field.


Step 2: Choose a Trigger

A Trigger defines when your automation starts.

Teachfloor offers two types of triggers: Event and Function.

Option 1: Event Trigger


Runs automatically when a specific platform event occurs.

Available events:

  • Organization Joined – When a new user joins your organization.

  • Course Joined – When a learner enrolls in a course.

  • Activity Completed – When a learner completes an activity.

  • Course Completed – When a learner finishes a course.

📘 Example:
Trigger → When Organization Joined
→ This automation runs whenever a new member joins your organization.

Option 2: Function Trigger

The Function trigger lets you schedule automations to run automatically at a specific time or frequency — perfect for recurring or time-based tasks.

To set it up:

  1. Choose Trigger Type → Function.

  2. Under Function, select Scheduler.

  3. Set the Frequency:

    • Daily – Runs every day at a chosen time.

    • (Weekly and Monthly coming soon)

  4. Choose the exact time (e.g., 10:00).

  5. Define the Context Entry, which determines what data the automation will act on:

    • Users – The automation will loop through all users.

    • Courses – The automation will loop through all courses.

📘 Example:

  • Trigger: Function → Scheduler → Every day at 10:00

  • Filter: User role = Learner

  • Logic: Delay 5 minutes

  • Action: Send daily reminder email

This setup automatically sends a daily email to all learners every morning at 10:05.


Step 3: Add a Filter or Logic

After defining your trigger, you can narrow who the automation applies to and control when it runs.

Add Filter

Filters run actions only for specific people or items. Start by selecting a Context Entry—the entity your filter will use.

Context Entry

User – filter by user attributes and activity.

Course – filter by course attributes.

User Filters

You can add different filters depending on the context entry (for example, Users or Courses).

Types of Filters

Here’s a breakdown of all available filter types:

1. Field Match

Filter users based on a specific field value.

Configuration options:

  • Field: Choose a user field, such as Email or Full Name.

  • Operator: Select how to match the field value (Contains, Does Not Contain, Is Equal To, Starts With, Ends With).

  • Value: Enter the text or number that should be matched.

📘 Example:
Only continue the automation if the user’s email contains “@teachfloor.com”.


2. User Roles

Target users based on their role within the organization.

Available roles:

  • Learner

  • Instructor

  • Assistant

  • Admin

  • Owner

📘 Example:
Run this automation only for Learners to automatically enroll them in a course or send a reminder.


3. Active Users

Filter users who have been active within a certain number of days.

Configuration options:

  • Days: Enter how many days of recent activity to consider.

  • Within courses (optional): Restrict the activity check to specific courses.

📘 Example:
Only users who have been active in the past 3 days will continue through the automation — ideal for engagement-related workflows.


4. Inactive Users

Target users who haven’t been active recently.

Configuration options:

  • Days: Define the inactivity period (e.g., not active for 7 days).

  • Include users with no activity: Include users who never logged in.

  • Within courses: Limit to inactivity within a specific course.

📘 Example:
After 10 days of inactivity, send a re-engagement email to encourage learners to return to the platform.


5. Email Verified

Filter users based on whether they have verified their email address.


Options:

  • Yes – Continue only if the user’s email is verified.

  • No – Continue only if the email is not verified.

📘 Example:
Send a verification reminder email to all users whose email verification status is No.


Course Filters

1) Field Match (Course)

Filter courses by name.

Options

  • Field: Course Name

  • Operator: Contains, Does Not Contain, Is Equal To, Is Not Equal To, Starts With, Ends With

  • Value: text to match

Example: Only proceed if Course Name contains “AI”.

2) Course Status

Filter by status: Draft, Published, Archived.
Example: Target Published courses only.


🔄 Combining Multiple Filters

You can chain multiple filters in the same automation for more advanced targeting.

For example:

  • Filter by User Role = Learner

  • AND Active within the last 7 days

  • AND Email Verified = Yes

This ensures that only verified, active learners will be affected by the automation.


Logic Options

Besides filters, you can also add Logic blocks to control timing and flow.


Available Logic:

  • Delay: Pause the automation for a set time before the next step (e.g., wait 5 minutes or 2 days).

  • (More logic types coming soon, like conditional branching or scheduling.)

📘 Example:
After filtering active users, add a Delay of 5 minutes before sending an email — ensuring a smoother workflow.

Add Logic

You can also add logic elements such as:

  • Delay – Wait a set amount of time before continuing..

📘 Example:


Add Delay → Wait 3 days before executing the next action

Let’s say you want to send a reminder email to users who joined your organization but haven’t started any course yet.


Here’s how you can set it up:

  1. Trigger: When Organization Joined – starts the automation as soon as a new user joins.

  2. Filter: User Role = Learner – applies only to learners.

  3. Logic: Add Delay → 3 days – pauses the workflow for three days after the user joins.

  4. Action: Send Email → “Start your first course today” – automatically sends a friendly reminder encouraging them to begin.

💡 Result: Every learner who joins your organization will receive a personalized reminder email three days after registration, helping you increase course engagement.


Step 4: Define the Action

Once your trigger, filters, and logic are set, it’s time to decide what the automation will do.


Actions define the final outcome of your workflow — for example, sending an email, enrolling a learner, or revoking access.

You can add multiple actions in sequence to create complete learning journeys or administrative workflows.


1. Send Email

Automatically send an email to a user or a specific address.


Configuration options:

  • Send Email To

    • Payload User → Sends the email directly to the user who triggered the automation.

    • Specific Email → Sends it to a fixed email address (e.g., [email protected]).

  • Subject → Enter the subject line of the email.

  • Body → Write your message using plain text or variables (e.g., {{user.full_name}}).

📘 Example:
Send a welcome message to newly joined learners:

Setting

Example

Send Email To

Payload User

Subject

Welcome to Teachfloor!

Body

Hi {{user.full_name}}, we're excited to have you on board. Explore your first course here: {course.link}

💡 Tip: Combine this with a Delay logic (e.g., “Wait 3 days”) to send a friendly reminder later instead of instantly.


2. Enroll in Course

Automatically enroll users into one or multiple courses.
This is especially useful for onboarding sequences or tiered learning paths.


Configuration options:

  • Courses: Select one or more courses from the dropdown.

📘 Example:
After a new learner joins your organization, automatically enroll them in your onboarding courses:

Setting

Example

Trigger

When Organization Joined

Filter

User Role = Learner

Action

Enroll in Course → “AI Fundamentals for Beginners” and “Mastering Software Development”

💡 Result: Every new learner gets immediate access to your foundational training content without any manual action.


3. Revoke Access

Remove user access from a specific course or from the entire organization.
Ideal for managing course expirations or automating trial access periods.


Configuration options:

  • Revoke From:

    • Organization → Removes the user entirely from your organization.

    • Course → Removes access only to a selected course.

📘 Example:
Automatically revoke course access 7 days after completion:

Setting

Example

Trigger

When Course Completed

Logic

Delay 7 days

Action

Revoke Access → Course

💡 Use case: Perfect for limited-time programs or temporary access models.


Full Example Workflow

Here’s a complete automation that uses Trigger, Filter, Delay, and Action together:

  1. Trigger: When Organization Joined

  2. Filter: Email Verified = Yes

  3. Logic: Delay for 3 days

  4. Action: Send Email → “Get Started with Your First Course”

📈 Outcome: Every new verified user receives a personalized onboarding email 3 days after joining, increasing engagement while keeping your communication automated.


Step 5: Monitor Automation Runs

After setting up your automation, you can easily monitor its performance and execution history from the Runs tab.

The Runs tab provides a complete log of when and how your automation was executed, helping you confirm that everything is working as expected.


View Execution History

  1. From the top of the automation editor, click Runs.

  2. You’ll see a list of all past executions, including:

    • Status → Shows whether the run was Completed, Pending, or Failed.

    • Started / Completed → Timestamps for when the automation began and ended.

    • Duration → How long the automation took to run.

    • Trigger → The event or function that started the workflow.

  3. Expand any row to view detailed execution logs, including every step processed by the system.

Error Handling and Automatic Recovery

If an automation run fails, the system will automatically retry it up to three times.

If the automation fails three consecutive times, two things happen automatically:

  1. An alert email is sent to the organization owner, informing them that the automation encountered repeated errors.

  2. The automation is temporarily disabled to prevent further issues or unintended behavior.

Once notified, the organization owner can:

  • Review the execution logs in the Runs tab to identify the cause.

  • Fix any configuration errors (e.g., invalid email, missing course).

  • Reactivate the automation after ensuring it’s ready to run again.

💡 Tip: Always check the Execution Logs for detailed step-by-step insights — they’ll show whether the problem occurred during the trigger, filter, or action stage.

Did this answer your question?