Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions automate/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<Steps>
<Step title="Set up a new automation">
1. In your Speckle project, head to **Automations**
2. Click **Add Automation** and choose the automation you want to use
3. Set your trigger model
</Step>
<Step title="Configure your settings">
Each automation has a set of settings that you can configure.
</Step>
<Step title="Run it">
It'll run automatically when a new version is published — or you can manually run it
</Step>
<Step title="Check results">
- Wherever you are viewing your model, you'll see the Automate icon showing the automation status.
- In the viewer navigation sidebar, youll see the automation result button.
- In the results sidebar, you'll see the all the automations that have been run
on the version of the model you're looking at.
- You can click into any of these to see the results.
- The results pane will show you the results of the automation, including any new models, files or views created.
</Step>
</Steps>
22 changes: 22 additions & 0 deletions automate/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: Speckle Automate
description: Automate is our service to have tasks run every time new data is added to Speckle.
---

<Warning>
Automate is in beta: things may shift as we refine flows and SDKs. Please bear
with us and check back often!
</Warning>

Speckle Automate is a fully fledged CI/CD platform designed to run custom code on
Speckle models whenever a new version is available.



## Develop your own Automations
As a software developer, you can develop **customautomations** that others in your team consume
as automations. From creating reports to running code compliance checks
to wind simulations, there is no limit to what you can do with Automate.

We will expand on these custom automations

114 changes: 114 additions & 0 deletions automate/premade-automations/data-shield.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
title: 'Data Shield'
description: 'Keep your model data clean, safe, and share-ready with Data Shield'
---

Data Shield is an automated data protection system that scans your Speckle models for sensitive information and creates sanitized versions for sharing. It works by identifying and removing or anonymizing confidential data while preserving the essential model structure and geometry. This ensures you can share your work confidently without compromising privacy or security.

<Note>Follow the steps in the [Getting Started](/automate/getting-started) guide to install Data Shield.</Note>

## Why Install Data Shield?

<Columns cols={3}>
<Card title="Models often contain sensitive data">
- Internal project codes
- Client contact information
- Cost estimates and pricing
- Internal notes and comments
</Card>

<Card title="Streamline Collaboration">
Instead of manually cleaning models:
- Set up once, run automatically
- Create consistent, clean versions
- Share with confidence
- Maintain original data integrity
</Card>

<Card title="Perfect for">
- Architects sharing models with clients
- Engineers collaborating with external teams
- Project managers preparing presentations
- Anyone needing to share models while protecting sensitive data
</Card>
</Columns>

## Shield Modes

We know one size doesn't fit all, so Data Shield offers three modes to suit your style:

### Prefix Matching
*Best for:* Simple, predictable naming conventions. Remove parameters that start with a specific prefix.
Example: Want to remove everything starting with `secret_`? Just set that prefix, and Data Shield will do the rest.

<Steps>
<Step title="Setup">
Add your prefix (like `internal_`, `private_`, or `secret_`)
</Step>
<Step title="Configure">
Toggle strict mode for case sensitivity (on or off, your call)
</Step>
</Steps>

### Pattern Matching
*Best for:* Wildcards, regex fans, and complex patterns. Get fancy and use `*`, `?`, or full regular expressions.

<Steps>
<Step title="Setup">
Add your pattern (like `*`, `?`, or `^(internal|private|confidential)_.*`)
</Step>
</Steps>

**Example:**
- `client_*` matches anything that starts with `client_`
- `?_internal` matches `a_internal`, `b_internal`
- `^(secret|private)_.*$/i` matches parameters starting with `secret_` or `private_`, ignoring case

### Anonymization
*Best for:* Keeping the structure and hiding the details. Automatically detect email addresses inside parameter values and anonymize them.

<Steps>
<Step title="Setup">
Add your pattern (like `*`, `?`, or `^(internal|private|confidential)_.*`)
</Step>
</Steps>

<Frame>
<img src="https://github.com/user-attachments/assets/076e4acd-2257-4ebd-b82b-c151e51c00c0" alt="Anonymization example" />
</Frame>


## How to Use Data Shield



## Tips & Tricks
- **Test first**: Run it on a small test model before going full production.
- **Start simple**: Use prefix matching for clear conventions, pattern matching for complexity, or anonymization for safe sharing.
- **Regex pro tip**:
- Wrap your regex in `/` to avoid escaping characters.
- Add `i` for case-insensitive matching.
- Use `^` (start) and `$` (end) for tighter control.

## Troubleshooting

<AccordionGroup>
<Accordion title="Not matching anything?">
Double-check your pattern or prefix.
</Accordion>
<Accordion title="Case mismatch?">
Try turning off strict mode.
</Accordion>
<Accordion title="Only partly sanitized?">
Some complex models might need multiple passes.
</Accordion>
<Accordion title="Errors?">
Check run logs in the automation report for clues.
</Accordion>
</AccordionGroup>

<Note>
<strong>Next Gen vs Legacy:</strong> While v3 data objects are supported, if
you're using non-Revit v2 objects, you might experience varied results.
Please report any issues.
</Note>
6 changes: 6 additions & 0 deletions automate/premade-automations/material-takeoff.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Material Takeoff
---

# Material Takeoff

6 changes: 6 additions & 0 deletions automate/premade-automations/model-checker.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Model Checker
---

# Model Checker

6 changes: 6 additions & 0 deletions automate/premade-automations/pivot-for-bi.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Pivot for BI
---

# Pivot for BI

6 changes: 6 additions & 0 deletions automate/premade-automations/rooms-and-areas-schedule.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Rooms and Areas Schedule
---

# Rooms and Areas Schedule

17 changes: 17 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,23 @@
"connectors/direct-uploads/file-uploads"
]
},
{
"group": "Automation",
"pages": [
"automate/overview",
"automate/getting-started",
{
"group": "Pre-made automations",
"pages": [
"automate/premade-automations/data-shield",
"automate/premade-automations/material-takeoff",
"automate/premade-automations/model-checker",
"automate/premade-automations/pivot-for-bi",
"automate/premade-automations/rooms-and-areas-schedule"
]
}
]
},
{
"group": "Having Difficulties?",
"pages": [
Expand Down