> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstwork.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cross-Feature Interactions

> How every module in Firstwork connects to and interacts with other modules

## Overview

Firstwork's modules are deeply interconnected. This document maps every cross-module relationship — how data flows between features, which modules can trigger actions in others, and what shared infrastructure connects them.

***

## Module Interaction Map

```mermaid theme={null}
graph TD
    HF[Hiring Flows] <-->|Triggers & stage updates| AUTO[Automations]
    HF -->|Embedded as form element| CALLER[AI Caller]
    HF -->|Embedded as form element| SCHED[Scheduler]
    HF -->|Embedded as form element| RPA[AI Agents]
    HF -->|Contract creation| PEOPLE[People & Onboarding]
    HF -->|Rules assign courses| LMS[LMS]
    HF -->|Compliance evaluation| RULES[Compliance Engine]
    HF -->|Powers the form| FB[Form Builder]

    AUTO -->|Triggers calls| CALLER
    AUTO -->|Creates events| SCHED
    AUTO -->|Runs agents| RPA
    AUTO -->|Enrolls learners| LMS
    AUTO -->|Creates contracts| PEOPLE
    AUTO -->|Evaluates rules| RULES
    AUTO -->|Sends messages| COMMS[Email / SMS / Slack]
    AUTO -->|Calls APIs| INTEGRATIONS[External Integrations]

    PEOPLE -->|Onboarding forms| FB
    LMS -->|Course content| FB
```

***

## Hiring Flows and Automations

This is the most common integration in the platform. See [Building Flows](/knowledge-base/automations/building-flows) for automation setup and [Navigation Rules](/knowledge-base/hiring-flows/decision-rules) for the rule model used in hiring-flow routing.

**Automations respond to hiring flow events:**

* Stage and status changes trigger "On Change" automations
* Form element submissions trigger "Form Element Submission" automations
* Recollection events trigger "Recollection" automations
* External API application creation triggers "External API" automations

**Automations act on hiring flow data:**

* Update application stage or status
* Fill form fields with data
* Create contracts from applications
* Reset funnels for re-entry
* Trigger recollection requests
* Run OCR on uploaded documents

***

## Hiring Flows and AI Caller

**How they connect:**

* An AI Caller bot can be embedded as a form element within a hiring flow page
* When the candidate reaches that step, a call (phone, audio, or video) is initiated
* Input data is pulled from the candidate's application
* Output data is written back to form fields through configured mappings
* The form can be configured to block progression until the call completes

***

## Hiring Flows and Scheduler

**How they connect:**

* A scheduling element within a form page links to a specific event
* The candidate is presented with a calendar and available time slots
* Booking data (date, time, status) is stored as part of the application
* Rescheduling and cancellation are available from within the application context

***

## Hiring Flows and AI Agents

**How they connect:**

* An AI Agent element within a form page triggers browser automation when the candidate reaches that step
* The agent's input variables are populated from the application data
* Output variables are mapped back to form fields

***

## Hiring Flows and LMS

**How they connect:**

* Compliance rules can include "Assign Courses" as an action, automatically enrolling candidates in training based on their data
* Automations triggered by hiring flow events can also enroll candidates in courses
* Course completion status is available as data for further compliance evaluation

***

## Hiring Flows and People/Onboarding

**How they connect:**

* The "Create Contract" automation action converts a completed application into a worker contract
* The contract is assigned an onboarding flow
* The candidate transitions from the Applicant role to the Worker role
* Application data carries over to the contract and onboarding context

***

## Automations and AI Caller

* The "AI Caller" automation action triggers a call enrollment
* Call results (transcript, captured answers, status) become available for subsequent automation actions

***

## Automations and Scheduler

* The "Event Action" automation action creates or manages scheduler events
* Automations can be configured to respond to booking-related events (via On Change triggers)

***

## Automations and LMS

* The "Assign Courses" automation action enrolls candidates or workers in courses
* Course enrollment and completion events can trigger downstream automations

***

## Automations and AI Agents

* The "Run AI Agent" automation action triggers agent execution
* Agent output data feeds into subsequent automation actions

***

## Automations and External Integrations

Automations connect to external services through:

| Action             | Target                  |
| ------------------ | ----------------------- |
| Send Email         | SendGrid                |
| Send SMS           | Twilio / Plivo / Exotel |
| Send Slack Message | Slack                   |
| Webhook            | Any HTTP endpoint       |
| Veriff Action      | Identity verification   |
| E-Verify Action    | Employment eligibility  |
| Google Sheets      | Spreadsheet operations  |
| Integration Action | Custom app integrations |
| Fountain Actions   | ATS synchronization     |

***

## Automations and People/Onboarding

* "Create Contract" action creates a worker contract
* "Update Worker Stage" action modifies the contract status
* Automations scoped to People/Onboarding respond to contract events

***

## Shared Infrastructure

### Form Builder

The Form Builder is the universal form engine used by:

| Module           | What It Powers                                             |
| ---------------- | ---------------------------------------------------------- |
| Hiring Flows     | Application forms with pages, stages, and compliance rules |
| Onboarding Flows | Worker onboarding forms                                    |
| LMS Courses      | Lesson content and quiz questions                          |
| Templates        | Reusable form and question templates                       |
| AI Caller        | Variable definition forms                                  |
| App Integrations | Input variable configuration                               |

### Compliance Engine

The compliance rule engine is used for decision-making in:

* **Form pages** — Navigation, recollection, and assignment rules
* **Automations** — Rule evaluation actions and schedule filter rules
* **Custom Variables** — Rule-based variable computation
* **Data Connectors** — Conditional data mapping

### Dynamic Data (Object Graph)

All modules share access to the [Object Graph](/knowledge-base/object-graph), a unified data layer that provides dynamic references to:

* Candidate and user profile data
* Application and form submission data
* Company and legal entity configuration
* Automation variables and custom variables
* Course enrollment data

This shared data layer enables dynamic templates, conditional logic, and cross-module data references.

***

## Background Processes

| Process                  | What Triggers It                                       |
| ------------------------ | ------------------------------------------------------ |
| Automation execution     | Event triggers (change, schedule, webhook, etc.)       |
| OCR document processing  | "Extract Data from Document" action or form submission |
| AI Caller calls          | "AI Caller" action or form element                     |
| AI Agent execution       | "Run AI Agent" action, form element, or manual trigger |
| Email delivery           | "Send Email" action                                    |
| SMS delivery             | "Send SMS" action                                      |
| Webhook delivery         | "Webhook" action with retry logic                      |
| Billing data export      | Admin-initiated export with polling                    |
| Fountain synchronization | Automation or admin-initiated sync                     |
| Audit runs               | Manual or scheduled trigger                            |
| Bulk import              | Admin-initiated CSV/ZIP processing                     |
