# What is the correct process for custom automation?

**URL:** https://meta.discourse.org/t/topic/394869
**Category:** Support
**Created:** [February 1, 2026, 4:07am UTC](https://meta.discourse.org/t/topic/394869 "2026-02-01T04:07:49Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![qi\_lu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qi_lu/32/536755_2.png) [@qi\_lu](https://meta.discourse.org/u/qi_lu)
#### Post date: [February 1, 2026, 4:07am UTC](https://meta.discourse.org/t/topic/394869/1 "2026-02-01T04:07:49Z")

</div>

I am a beginner and have some questions about the [Create Custom Automations tutorial](https://meta.discourse.org/t/create-custom-automations/275931).

I first tried writing the automation script directly in the GitHub Codespace development environment (I don’t understand the syntax; the code was written by Claude).  
After modification, the file structure should look like this:

```plaintext
plugins/automation/
├── lib/
│ └── discourse_automation/
│ ├── scripts.rb # Modified
│ └── scripts/
│ ├── ... # Other scripts
│ └── remove_expired_group_members.rb # Added
└── config/
    └── locales/
        ├── server.en.yml # Modified
        ├── client.en.yml # Modified
        ├── server.zh_CN.yml # Modified
        └── client.zh_CN.yml # Modified

```

However, I am unsure if this operation is permissible in a production environment.  
Furthermore, I am unsure if these modifications will be lost during a rebuild or an update to the automation plugin, so I dare not try it in the production environment. Perhaps I should submit a feature request for the plugin maintainers to add it?

I hope experienced friends can inform me about the correct procedure from writing tests to applying changes in the production environment.  
Thank you very much!

---

_[View the full topic](https://meta.discourse.org/t/topic/394869)._
