#### Extractor and how to connect it to a workflow

The **Extractor** is Datamorf's primary and most important trigger. It performs **Reverse ETL** — automatically pulling records from your CRM, database, or scraping source on a recurring schedule and feeding them into a workflow for transformation and activation.

This is what makes Datamorf different from event-driven automation tools. Rather than waiting for something new to happen, the Extractor proactively reads your existing records on a schedule — keeping your entire GTM stack in sync with the source of truth, not just reacting to new activity.

##### **Why the Extractor Matters for GTM Teams**

- **Keeps data clean over time —** Regularly re-extracting records lets Datamorf catch stale fields, signals, missing enrichment, duplicates, and outdated properties across existing records — not just when a record is first created.

- **Reduces data silos —** Data stays synchronized across all GTM tools from a single source, eliminating manual exports and disconnected integrations.

- **Works on existing data —** Most GTM activation workflows need to process records that already exist in the CRM or database, not only new ones. The Extractor handles this natively.

- **Supports scraping —** When a CRM or structured API isn't available, the Extractor can pull data from web sources on a schedule.

##### **Setting Up an Extractor**

The Extractor configuration panel is organized into three sections:

###### **Settings**

Define the basics of how the Extractor connects to its source and when it runs:

- **Integration —** Select the connected app or database the Extractor should read from (e.g., HubSpot Contacts, a SQL database, a scraping integration).

- **Schedule —** Set how often the Extractor should run: every hour, every day, once a week, or a custom interval. Datamorf handles all execution automatically — no cron jobs required.

- **Webhook (optional) —** Optionally expose a webhook endpoint on the Extractor, so it can also be triggered externally in addition to its schedule.

###### **Data**

Define exactly what records the Extractor should pull and in what order:

- **Filter —** Apply conditions to limit which records are extracted. Use the visual condition builder to define rules such as 'Status = Active' or 'Created date > last week'. Filters are optional — without them, the Extractor pulls all available records.

- **Sort —** Control the order in which records are processed — for example, by creation date descending to process the most recent records first.

- **Limit —** Set a cap on how many records are fetched per run. Datamorf handles pagination automatically, so large datasets are processed in batches without manual intervention.

- **Test —** Run a test pull to preview what records would be extracted with your current filter and limit settings. Use this to validate your configuration before activating the workflow.

###### **Throughput**

Control how fast and in what format records are delivered into the workflow:

- **Delivery speed —** By default, records are sent one at a time (1 per second) for stable delivery. You can increase the concurrency level for faster processing of large datasets.

- **Batch mode —** Enable batch mode to send groups of records together (up to 100 items per batch) instead of one by one. Useful for workflows that process lists rather than individual records.

- **Attach metadata** — including extraction ID, timestamp, and index — making every record traceable in the run logs.
