Workflow Modules Reference¶
Workflow modules are the building blocks of workflows — triggers, actions, and utilities that users drag onto the canvas. Stored in the workflows_modules table (regional DB).
For table schema, see Database Tables Reference.
App Types¶
The app_type field groups modules by their parent app/platform. It's used for:
- Icon resolution in the UI (via apps_branding table and frontend appIconUrls constant)
- Partner branding replacement (Stacksync modules get partner icon/name)
- Resource table "Apps" column (extracted from module_id via split_part(module_id, '-', 1))
Stacksync Platform App Types¶
These are built by Stacksync. For partner workspaces, their icons and "Stacksync" in names get replaced with the partner's branding.
app_type |
Display Name | Notes |
|---|---|---|
stacksync_ai |
Stacksync AI | AI Prompt, Search, Crawl Website, Scrape Page, Extract Data, Map Website |
stacksync_ocr |
Stacksync OCR | Process Documents |
stacksync_email |
Stacksync Email | Send Email, Reply Email, Forward Email |
stacksync-enrichment |
Stacksync Enrichment | LinkedIn enrichment modules (Get Posts, Enrich Records, List Records, Search Live) |
file_service |
File Service | Get File Content |
system |
Standard modules | Platform utilities: If Else, For Loop, While Loop, Transform Data, Wait, Stop Workflow, Merge JSON, Data Aggregator, Webhook Trigger, Cron Schedule Trigger, Email Trigger, HTTP Request, Encode/Decode, Cast, Try Catch, Workflow Variables, etc. |
code-execution |
Code Execution | Javascript Code, Python Code |
llm |
LLM | Generic LLM Prompt (non-Stacksync-branded) |
queues |
Queues | Insert Data, Consumer Trigger |
variables |
Variables | Workspace Variable CRUD |
Partner Branding Rules¶
- Module icons:
stacksync*andfile_serviceapp types get partner icon.systemmodules keep their own icons (only the category header gets partner icon). - Category icons (in
apps_branding):stacksync*,system, andfile_serviceget partner icon. - Module names: "Stacksync" in
module_nameis replaced with partner name (e.g. "Stacksync AI" → "Rillet AI"). Modules without "Stacksync" in their name (e.g. "If Else", "Get File Content") keep their display name.
Third-Party Connector App Types¶
These are external app integrations. Not exhaustive — new connectors are added regularly.
app_type |
Display Name |
|---|---|
salesforce |
Salesforce |
hubspot |
HubSpot |
netsuite |
NetSuite |
airtable |
Airtable |
snowflake |
Snowflake |
bigquery |
BigQuery |
postgres |
Postgres |
mysql |
MySQL |
stripe |
Stripe |
shopify |
Shopify |
slack |
Slack |
zendesk |
Zendesk |
dynamics365_crm |
Dynamics 365 CRM |
dynamics365_finance |
Dynamics 365 Finance |
zoho_crm |
Zoho CRM |
zoho_salesiq |
Zoho SalesIQ |
attio |
Attio |
attio_crm |
Attio CRM |
affinity_crm |
Affinity |
pipedrive |
Pipedrive |
front |
Front |
braze |
Braze |
customer_io |
Customer IO |
klaviyo |
Klaviyo |
sendgrid |
SendGrid |
twilio |
Twilio |
resend |
Resend |
lemlist |
Lemlist |
openai |
OpenAI |
anthropic |
Anthropic |
perplexity |
Perplexity |
together_ai |
Together AI |
aviato |
Aviato |
full_enrich |
Full Enrich |
better_contact |
Better Contact |
crustdata |
Crustdata |
github |
GitHub |
google_sheets |
Google Sheets |
aws_s3_bucket |
AWS S3 Bucket |
sqlserver |
SQL Server |
oracledb |
Oracle DB |
cockroachdb |
Cockroach DB |
mongodb |
MongoDB |
dynamodb |
DynamoDB |
singlestore |
Singlestore |
databricks |
Databricks |
mariadb |
MariaDB |
supabase |
Supabase |
firebase |
Firebase |
amazon_rds |
Amazon RDS |
amazon_lightsail |
Amazon Lightsail |
aurora_mysql |
Aurora (MySQL) |
aurora_postgres |
Aurora (PostgreSQL) |
hyperline |
Hyperline |
vitally |
Vitally |
vitally_analytics |
Vitally Analytics |
rillet |
Rillet |
campfire |
Campfire |
nextgen |
NextGen |
orderful |
Orderful |
connectwise |
ConnectWise |
microsoft_teams |
Microsoft Teams |
tiktok_shop |
TikTok Shop |
amazon_seller_central |
Amazon Seller Central |
metronome |
Metronome |
module_id Format¶
The module_id follows the pattern {app_type}-{action}-{variant}:
salesforce-get-recordsstacksync-ai-summarizesystem-if_elsesystem-http_requestscode-execution-javascript_v1code-execution-python_v1
The resource table extracts the app type from module_id using split_part(module_id, '-', 1). This means:
- stacksync-ai-summarize → stacksync (all stacksync sub-types collapse to stacksync)
- salesforce-get-records → salesforce
- code-execution-javascript_v1 → code-execution (special-cased to javascript in the SQL)
- system-http_requests → system (special-cased to http in the SQL)
Related Tables¶
| Table | Relationship |
|---|---|
apps_branding |
Maps app_type → display name, icon URL, metadata. Used for category headers in the module sidebar. |
workflows_versions |
workflow_schema jsonb contains array of module instances referencing module_id. |
workflows_apps_private |
Private/custom apps per workspace — their modules also appear in workflows_modules. |