Text and list actions
Extract a value, compare two columns, or turn a nested list into rows by filling in an AltDat action card.
These actions are available on every AltDat plan. You need an AltDat API key and access to the custom connector. Public certification is pending; private testers need the updated connector definition with these actions.
Start with Prepare a table. Each action takes the previous action's Body in AltDat Table Content and returns a new Body. Finish with Export a table. See the first workflow tutorial for setup.
| Action | Required fields | What it does |
|---|---|---|
| Extract text with a pattern | Column, Pattern, Output Column | Extract the first matching text. Capture Group defaults to 0 (the full match); choose 1–9 for a capture group. No match produces empty text; a null input stays null. Uses RE2 syntax. |
| Compare text by edit distance | Left Column, Right Column, Output Column | Count the insertions, deletions and substitutions needed to change one value into the other in the same row. Lower is closer; 0 means identical. Ignore Case is optional. |
| Compare text similarity | Left Column, Right Column, Output Column | Get a Jaro-Winkler score from 0 to 1 for two values in the same row. Higher is closer. Ignore Case is optional. Use scores to select candidates for review. |
| Extract a JSON value | Column, JSON Path, Output Column | Read one path such as $.customer.name or $.items[0].sku from JSON text or an object column. Arrays start at 0. Missing paths and JSON null return null. Numbers return text; objects and arrays return JSON text. Wildcard paths are not supported. |
| Expand a list into rows | Column | Create a row for each list item, repeating the other columns. List order is preserved. Keep Empty Lists is optional: turn it on to retain empty or null lists as one row with a null item. |
| Clean text | Column, Method, Output Column | Choose Trim whitespace, Lowercase, or Uppercase. Trimming removes surrounding whitespace. Chain two cards to trim and change case. |
| Replace text | Column, Find, Replacement, Output Column | Replace every occurrence. Match Literal Text defaults to Yes. Turn it off for a regular expression; regex replacement accepts capture references such as $1. Replacement can be empty to remove matches. |
Turn an order's items into rows
Download nested-orders.json and save it in OneDrive or SharePoint. It contains three orders: one with two items, one with an empty list, and one with a null list.
- Read it with your storage connector's Get file content.
- Add Prepare a table. Set File Content to the storage action's File Content and Source Format to
json. - Add Expand a list into rows. Set AltDat Table Content to Prepare's Body and Column to
items. Leave Keep Empty Lists off. - Add Extract a JSON value. Pass Expand's Body, set Column to
items, JSON Path to$.sku, and Output Column tosku. - Add another Extract a JSON value. Pass the previous Body, use Column
items, JSON Path$.qty, and Output Columnquantity_text. - Add Change a column type for
quantity_textwith Data Typeint. This makes the extracted text usable for numeric comparisons and sums. - Add Select columns with
order_id,customer,sku,quantity_text, then Export a table with Target Formatxlsx. Pass each preceding Body along the chain. - Save Export's Body with Create file. Expect two rows for order 1001: SKU-101 with quantity 2 and SKU-202 with quantity 1.
Turn Keep Empty Lists on and rerun to retain orders 1002 and 1003 as well, with null item fields. You will then have four rows.
Extract and compare text
Use customer-text.csv with Source Format csv. Extract from raw_reference with Pattern INV-[0-9]+ into invoice_id. The first two rows produce INV-1042 and INV-1043; the third produces empty text.
Clean name with Trim whitespace into trimmed_name. Compare trimmed_name against reference_name with Ignore Case on. The first row's similarity is about 0.9611 and its edit distance is 2. The second row's similarity is 1 and its distance is 0.
These comparisons work on two columns within each row. Pair candidate records first if your names are in separate tables. Choose a review threshold using examples from your data; a high score alone does not establish that two records identify the same person.
Output types and limits
Use a new Output Column name. Existing columns remain unchanged, except that Expand replaces its selected list column with one item per row. Native lists retain their item types. Expanding a JSON array stored as text returns text items, with objects and nested arrays represented as JSON text.
A comparison with a null input returns null. Invalid JSON or an invalid pattern fails the action. Expansion must fit your plan's row limit and the service's table-size limits; select fewer columns or split the input if it is too large. A later filter does not bypass this limit.
These cards use standard transform credits based on input rows. Each separate card is a separate call; a Run a transformation pipeline action is charged one transform for every five operations, and holds up to 25 operations. Invalid content found after processing begins can consume credits. See pricing for the live credit matrix.
For custom combinations on a plan with SQL, try expanding nested orders with SQL or extracting and comparing text with SQL.