It is a tool that lets you create a custom agent for any SaaS app, without writing any code. Instead of you configuring rules or scripts, the agent learns by watching you perform the task once in a secure browser. Once trained, it can repeat that task automatically every time it's triggered: onboarding a new hire, offboarding a departing employee, or pulling a fresh list of who has a license and what their role is.
Each agent is scoped to a single app (e.g. Slack, Notion, Figma) and can be trained to handle up to three workflow types:
Provision : add a user to the app (onboarding)
Deprovision : remove a user from the app (offboarding)
License extraction : read the member/license list so Corma always has an up-to-date view of who has access
For each workflow you want to automate, the builder follows the same two-step cycle:
Recording : You perform the task manually once in a secure browser while the agent watches and records every step. This is the only time you touch the app yourself.
Fine-tuning :The agent analyzes the recording, asks you a handful of clarifying questions (e.g. which values change per run vs. stay fixed, how pagination works, whether CSV export is available), generates an execution plan, and then runs a live validation test to confirm everything works end-to-end.
Once the validation passes and you approve, the automation is live, it lives in your Corma workspace like any other automation and runs automatically when triggered.
You can set up just one capacity to start, and add more later. For example, you might want to train Provision first because that's your immediate priority, and skip Deprovision and License extraction for now.
Once a workflow is live, its connection card in the Connectors page shows which capacities are active. You can open the card at any time, click into the agent, and train additional workflows, the builder will pick up exactly where you left off and walk you through the next one. There is no need to redo what's already been validated.
Each workflow is independent. Adding a new one doesn't affect automations that are already live.
Access to the app's admin panel: you'll be performing the action yourself, so you need an account with the right permissions.
A dedicated test account to use during the recording step (so you're not adding/removing real users while the agent watches).
A second test account for the validation run (the agent runs the automation for real to confirm it works).
The direct URL to the relevant admin page (e.g. the members/people management page), having this ready speeds up the recording significantly.
Go to Connectors and Click "Create agent"
Navigate to the Connectors page from the left sidebar. In the top-right corner, click the Create agent button. A modal will open prompting you to search for an app

Search for the App
Type the name of the app you want to automate (e.g. clickup for ClickUp). Select the app from the search results, then click Continue.

Choose Workflows to Set Up
The agent presents the available workflow types for that app:
Provision — onboarding, add a user to the app
Deprovision — offboarding, remove a user from the app
License extraction — extract the license/seat list
Check the workflows you want to configure, then click Confirm.

Note: You can set up all three, and the agent will walk you through them one at a time, starting with Provision.
Read the Setup Instructions
The agent explains the two-step process for each workflow:
Recording — you manually complete the task in a secure browser while the agent watches and records.
Fine-tuning — you answer any questions the agent has about the recording and verify the results.
Each workflow takes ~10 minutes. Before starting, prepare:
A dedicated test account (for the recording step)
A second test account (to run the validation test)
Provide the Admin Page URL
The agent asks for the direct URL of the relevant admin page (e.g. the members/people management page). Navigate there in your browser, copy the URL from the address bar, and paste it into the chat.

Example:
https://app.clickup.com/90182969253/settings/team/90182969253/users?via=settings%20sidebarSecurity note: You log in yourself inside the secure browser. The agent never sees your credentials, it only keeps the session.
Launch the Training Session
The agent confirms it will open the app in a secure browser at the URL you provided. Click Launch training session.
The browser panel opens on the right side of the screen showing the live browser session.
Perform the Task Manually (Recording)
With the secure browser open, perform the task exactly as you normally would — for real, using one of your test accounts. The agent watches and records every step.
Example for Provision: Click "Invite people," enter the test email, select the role (e.g. Member), and click "Send free invite."
When you are done, type "done!" in the chat. If you made a mistake, tell the agent and it will relaunch a fresh recording session.

Recording Finishes, Agent Analyzes
After you click done, the screen shows "Recording finished." The agent then analyzes the recording and extracts the steps it observed.

The agent then enters the Q&A phase to clarify any edge-case decisions before running autonomously.
Answer the Agent's Q&A Questions
The agent asks which values should be configurable each time the automation runs versus hardcoded.
Reply to confirm or adjust. Once all questions are answered, the agent generates the execution plan and moves to validation.

Watch the Validation Run Live
The agent automatically triggers a validation run using the test email you provided. You can watch it in real time in the browser panel on the right. The agent runs the full automation end-to-end — logging in, navigating to the members page, and completing the action.
Example: The browser shows the invite dialog open with the test email filled in, and an "Invitation sent" toast notification confirms success.
You do not need to do anything during this step. The agent will message you the moment it finishes.
Approve or Reject the Validation Result
Once the validation run completes, the agent reports:
"The validation run passed! Does everything look correct? Reply 'approve' to put it live, or tell me what's wrong."
If everything looks correct, click or type "Approve" to activate the automation.
If something is wrong, describe the issue and the agent will adjust.
Once approved, Provisioning is marked with a green checkmark in the Training Plan (1/3 complete).

Start the Deprovisioning Recording
The agent automatically moves to the next workflow: Deprovision. It opens a new secure browser session and instructs you to remove a user exactly as you normally would.
Go ahead and perform the removal for real using one of your test accounts — find the user, open the options menu, and click Remove. Confirm the removal in any confirmation dialog that appears.
Example in ClickUp: Click the
...menu next to the user → click "Remove" → confirm in the "Remove [name]?" dialog.
Tell the agent "done" when finished.

Deprovisioning Recording Finishes
The screen again shows "Recording finished." The agent begins piecing together the automation from what it observed.
Answer the Deprovisioning Q&A
The agent analyzes the recording and extracts the steps.
It then asks the same configurability question for offboarding:
"For offboarding, the only value that changes per run is the email of the user being removed (
{email}) — everything else stays the same on every run."
Confirm with "yes" if correct.
Review the Deprovisioning Execution Plan
The agent presents the plan:
Log in to ClickUp
Navigate to the user management page
Remove user from workspace
Verify user is no longer in the members list
It expects one input per run: email. Provide a second test email to run the validation, then wait for the agent to kick off the validation run.
Watch the Deprovisioning Validation Run
The agent runs the deprovision automation live in a secure training browser. You can see it navigating to the members page and locating the test user in the list before removing them.

Verify the User Was Removed
In the browser panel, the agent searches for the test user's email after the removal. The members list shows:
"There are no matching users on this Workspace."
This confirms the user was successfully removed and the automation works correctly.
Approve the Deprovisioning Validation
The agent reports the validation run passed.
Select "Approve" and click Confirm. Deprovisioning is now marked complete in the Training Plan (2/3 done).

Start the License Extraction Recording
The agent moves to the final workflow: License extraction. It opens a new secure browser session with different instructions than the previous two workflows:

Navigate to the page in the app that displays all users and their license seats. Once the list is visible on screen, tell the agent "done!"
Note: For license extraction you do not add or remove anyone — you simply bring the list into view so the agent can learn how to read it.
Navigate to the Licenses Page and Tell the Agent What's Available
With the secure browser open, navigate to the page that shows all workspace members and their license information. Once the list is visible, type "done!" in the chat.
If there are any constraints on your subscription, mention them here. For example:
"done! with my current subscription, you cannot export CSV, you should only read from the list in the current page."
This tells the agent not to attempt a CSV download and to read the data directly from the screen instead.
Answer the License Extraction Q&A
The agent analyzes the recording and enters Q&A (Step 3 of 3). It asks whether there is an Export button on the page:
"I spotted an 'Export' button — is that the right control to export or download this list as a CSV/spreadsheet? Reply yes to confirm, or say 'there's no export' and I'll read the list straight from the page instead."
Reply accordingly. If you told the agent in the previous step that CSV export is not available, confirm with "no export" and the agent will switch to reading the list directly from the screen.
Review and Confirm the Field Mapping
The agent presents a field mapping screen where it automatically maps Corma's standard fields to the columns available in the app. Review each mapping:
Corma field | Maps to |
|---|---|
name | Name |
licenseRole | Role |
licenseStatus | Doesn't exist in this app |
accountStatus | Doesn't exist in this app |
licenseType | Doesn't exist in this app |
lastActivity | Last active |
accountId | Doesn't exist in this app |
Fields that don't exist in the app are noted accordingly — this is expected and not an error. Click Confirm mapping when the mappings look correct.

Select the Pagination Method
The agent asks how the full member list is displayed on the page. Choose the option that matches your app:
All shown on one page (selected if the full list loads without scrolling or paging)
Scroll down to load more
A 'Show more' / 'Load more' button
Numbered pages / pagination
Select the correct option and click Confirm.
Confirm the Total Member Count (Optional)
The agent optionally asks whether it can use the member count shown on the page (e.g. "All Users (1)") to verify it captured everyone. Confirm the number if it reflects the true total, or type "skip" to ignore this check.
Confirm Whether the Workspace is Fixed or Variable
The agent asks one final configuration question:

Click Confirm.
Review the License Extraction Plan and Approve
The agent generates the final execution plan:
Log in to ClickUp
Navigate to the People settings page
Extract the member/license list and map it to Corma's standard format
Type "approve" to trigger the validation run. The agent immediately starts building and running the automation.
Watch the License Extraction Validation
The browser panel opens and the agent navigates to the People settings page. You can watch it read the member list live.
Training Complete
Once the validation passes, the agent shows a sample of the extracted data:
"1 row total — email · name · licenseRole · licenseStatus · accountStatus · lastActivity: [email protected] · [email protected] · Owner · live · live · 2026-08-13"

Review the data, then click Approve.
The right panel shows "Training complete 🎉 — Your custom agent for Clickup is ready to use."
Click Finish setup.

Once an agent is live, you don't need to retrain from scratch to make changes. Everything is managed from the connection card on the Connectors page.
Find your agent in the Connectors list — it will show Status: Connected and a Manage button. Click the ⋯ icon (or the settings icon) on the card to open a dropdown with three options:
Capacities — view and manage which workflows are active
Settings — edit the agent's configuration
Delete — permanently remove the agent

Click Capacities to open the capacity management panel. You will see all the workflows that have been trained for this agent, each with a toggle:
Capacity
What it does
Collect licenses and list them into Corma
Runs the license extraction automatically
Automate licenses provisioning from Corma
Runs onboarding when triggered
Automate licenses deprovisioning from Corma
Runs offboarding when triggered
You can:
Toggle a capacity off to temporarily disable it without deleting it — the automation stops running but the training is preserved. Toggle it back on at any time.
Retrain a capacity by clicking the refresh icon next to it — this launches the builder again for just that workflow, without affecting the others.
Delete a single capacity by clicking the trash icon — this removes only that workflow and cannot be undone.
Add a new capacity by clicking + Add capacity — this launches the builder for a workflow you haven't trained yet (e.g. if you only set up Provision initially and now want to add License extraction). The existing live automations are not affected.
Click Save after making any changes.
Important: You can start with just one capacity and come back to add the rest at any point. There is no requirement to train all three workflows upfront. A common pattern is to go live with Provision first, validate it in production for a week, then return to the card and train Deprovision and License extraction.

Click Delete from the card dropdown to permanently remove the agent and all its trained workflows. A confirmation dialog will appear:

This action cannot be undone. If you only want to stop one workflow temporarily, use the capacity toggle instead of deleting the agent.
