# Beta testers wanted for Fibery script management tool

**URL:** <https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466>\
**Category:** API & Programming\
**Created:** [November 29, 2023, 12:53am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466 "2023-11-29T00:53:12Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [November 29, 2023, 12:53am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/1 "2023-11-29T00:53:12Z")

</div>

I’m writing a Node.js app that performs remote script (Javascript) management for your Fibery Buttons and Rules, using an undocumented Fibery API.

It can pull your automation script definitions from your Workspace and store them locally on your machine, then push them back, so you can manage and edit them locally, add them to source control, etc.

NOTE: This app exists to help you to manage the script actions in your **existing** Rules and Buttons, not create new ones.

Some other features it has:

- A simple macro facility to allow scripts to “include” other source files (reuse your code in multiple scripts without duplication)
- Restore automations from an earlier point in time

If you’re interested in helping me test and polish this app, LMK! 😀  
It is fully functional but not exhaustively tested.

* * *

## OVERVIEW

This is a Node.js app that uses UNDOCUMENTED [Fibery.io](http://Fibery.io) API calls to get and update automation scripts (Javascript) in your [Fibery.io](http://Fibery.io) Button and Rule automations. This allows you to write and manage your Fibery scripts locally with familiar tools (including source control).

## COMMANDS

Usage: fibscripts { pull | push | purge | orphans | help {cmd} } [options…]

```
help [cmd] Show help, optionally for a specific program command
pull Download and save Fibery workspace Button and Rule Javascript actions
push Push local Javascript Button and Rule actions back to Fibery workspace
purge --before {date} Delete cache entries older than the specified cutoff date
orphans List orphaned local files and dirs that were deleted in Fibery

```

## OPTIONS

```
--workspace -w Your Fibery workspace domain, e.g. "my.fibery.io" - or, the full path to the local workspace dir
--space -s Space name filter
--db -d DB name filter
--button -b Button name filter
--rule -r Rule name filter
--cache -c Use existing cached Space/DB info instead getting it from Fibery
--nogit -g Don't try to use git (when your local script files are not tracked in git)
--nofiles Ignore local script files; use with `push` to restore automations from cache files
--yes -y Create/rename local files/directories as needed for pull operations
--fake -f Dry run - don't actually update or overwrite anything
--verbose -v Verbose output
--debug -u Debug output
--quiet -q Disable progress messages and spinners; only output a terse summary
--before {date-time} End of range for cache files (matches before OR EQUAL)
--after {date-time} Start of range for cache files

```

## REQUIRED ENVIRONMENT VARIABLES

```
FIBERY Base path for all local storage managed by the app
FIBERY_DOMAIN Which Fibery workspace domain to manage (or specify this with the `--workspace` option)
FIBERY_API_KEY API key for your FIBERY_DOMAIN - get it from "Fibery Settings > API Keys"

```

---

<div class="post-metadata">

**Author:** ![aoe](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/aoe/32/6018_2.png) [@aoe](https://community.fibery.io/u/aoe)\
**Post date:** [November 29, 2023, 3:56am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/2 "2023-11-29T03:56:11Z")

</div>

This sounds great! I’m interested in beta testing 🙂

---

<div class="post-metadata">

**Author:** ![YvetteLans](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/yvettelans/32/6101_2.png) [@YvetteLans](https://community.fibery.io/u/YvetteLans)\
**Post date:** [November 29, 2023, 9:36am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/3 "2023-11-29T09:36:36Z")

</div>

O wow that looks insane! Great idea. Scripting is not my cup of tea yet so can’t help you with testing. But really awesome that you’ve did this 😄

---

<div class="post-metadata">

**Author:** ![Sergey\_Truhtanov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/sergey_truhtanov/32/13986_2.png) [@Sergey\_Truhtanov](https://community.fibery.io/u/Sergey_Truhtanov)\
**Post date:** [November 29, 2023, 10:18pm UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/4 "2023-11-29T22:18:49Z")

</div>

Being part of Fibery RnD team and one of main supporters of Automation area, want to share my impresssions.  
Problem sounds very real to me. Especially for workspaces heavy on scripting. Even more useful for Creators, who manage several Fibery workspaces and need to maintain their setup.  
Inside Fibery we don’t have current plans to improve here, so Matt’s solution should be very helpful.

I personally don’t have active Fibery setup to maintain 🙃 , but will play with a tool with pleasure 👍 .

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [November 30, 2023, 12:53am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/5 "2023-11-30T00:53:23Z")

</div>

Hopefully this undocumented API (it is used by the UI) can become documented some day 😁

---

<div class="post-metadata">

**Author:** ![Tommy\_Hedley](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/tommy_hedley/32/6468_2.png) [@Tommy\_Hedley](https://community.fibery.io/u/Tommy_Hedley)\
**Post date:** [November 30, 2023, 2:21am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/6 "2023-11-30T02:21:51Z")

</div>

Hey Matt, I would love to give it a go! I’m not super experienced with Javascript generally but I have taken a pretty deep dive into automations and have a couple of DBs with 20+ automations with script elements.

---

<div class="post-metadata">

**Author:** ![Yuri\_BC](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/yuri_bc/32/8803_2.png) [@Yuri\_BC](https://community.fibery.io/u/Yuri_BC)\
**Post date:** [November 30, 2023, 6:03am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/7 "2023-11-30T06:03:54Z")

</div>

Great initiative, Matt! Does this have potential to turn into a shared online scripts library? I’m not using local data on any device.

---

<div class="post-metadata">

**Author:** ![Yuri\_BC](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/yuri_bc/32/8803_2.png) [@Yuri\_BC](https://community.fibery.io/u/Yuri_BC)\
**Post date:** [November 30, 2023, 7:45am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/8 "2023-11-30T07:45:59Z")

</div>

Matt, you think the app could be able to create/update one script in multiple databases in one go? That would solve the existing problems with many databases using the same automation scripts.

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [November 30, 2023, 5:16pm UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/9 "2023-11-30T17:16:29Z")

</div>

> [@Yuri\_BC](#):
>
> Does this have potential to turn into a shared online scripts library?

That’s an interesting idea, but it would be a lot more complex - not something I want to implement right now.

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [November 30, 2023, 5:17pm UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/10 "2023-11-30T17:17:32Z")

</div>

> [@Yuri\_BC](#):
>
> you think the app could be able to create/update one script in multiple databases in one go?

Absolutely. The simple macro feature allows precisely this.

---

<div class="post-metadata">

**Author:** ![cannibalflea](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/cannibalflea/32/318_2.png) [@cannibalflea](https://community.fibery.io/u/cannibalflea)\
**Post date:** [January 1, 2024, 2:59am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/11 "2024-01-01T02:59:17Z")

</div>

Amazing as always! I don’t know how I missed this. I’m very interested in testing this. I use scripts quite a bit and have a few which are just variations that would definitely benefit from the “include” capability.

---

<div class="post-metadata">

**Author:** ![interr0bangr](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/interr0bangr/32/8089_2.png) [@interr0bangr](https://community.fibery.io/u/interr0bangr)\
**Post date:** [January 19, 2024, 2:31pm UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/12 "2024-01-19T14:31:16Z")

</div>

Hey @Matt_Blais, would love to test this out as I’m drowning in rules!

---

<div class="post-metadata">

**Author:** ![MaxVoloshyn](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/maxvoloshyn/32/8399_2.png) [@MaxVoloshyn](https://community.fibery.io/u/MaxVoloshyn)\
**Post date:** [April 18, 2024, 10:16am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/13 "2024-04-18T10:16:34Z")

</div>

Hi everyone! @Matt_Blais, thank you for this great idea! What is the current state of this tool? BTW has anybody tried integrating FIbery with Terraform/Pulumi for the same reason?

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [April 18, 2024, 8:24pm UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/14 "2024-04-18T20:24:18Z")

</div>

Hi @MaxVoloshyn,

The script manager is still very beta, but it is functional. Be sure to read the README carefully.

Note that there is no test suite, so buyer beware. 😜

You can check it out here: [GitHub - mblais/fibery-script-management: Remote script management for Fibery.io automations](https://github.com/mblais/fibery-script-management) - feedback and pull requests appreciated 🙏

---

<div class="post-metadata">

**Author:** ![Ooker](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/ooker/32/7033_2.png) [@Ooker](https://community.fibery.io/u/Ooker)\
**Post date:** [January 30, 2025, 11:06am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/15 "2025-01-30T11:06:40Z")

</div>

I clone the project, run `npm install` and `cd` to `src`. I put this `.env` file into the `src` folder:

```env
FIBERY_DOMAIN = quacau.fibery.io
FIBERY_API_KEY = xxxxxxxxxxxxxxxxx
FIBERY = .

```

And issue this command:  
`node .\fibscripts.js pull --url=https://quacau.fibery.io/fibery/space/%C4%90%E1%BB%8Bnh_k%E1%BB%B3_%C4%91%C3%B3ng_ph%C3%AD/database/H%E1%BB%A3p_%C4%91%E1%BB%93ng/automations/rule/6799ad300d3901c00626d49e/actions`

It says:

> fibscripts: Fibery workspace domain must be defined by either FIBERY\_DOMAIN env var or `--workspace` arg

Next, I issue this command:  
`node .\fibscripts.js pull --workspace=quacau.fibery.io --url=https://quacau.fibery.io/fibery/space/%C4%90%E1%BB%8Bnh_k%E1%BB%B3_%C4%91%C3%B3ng_ph%C3%AD/database/H%E1%BB%A3p_%C4%91%E1%BB%93ng/automations/rule/6799ad300d3901c00626d49e/actions`

The error:

> fibscripts: FIBERY env var should hold the path to the root dir for all Fibery local domain/workspace dirs

I then add the `--path` flag:  
`node .\fibscripts.js pull --workspace=quacau.fibery.io --url=https://quacau.fibery.io/fibery/space/%C4%90%E1%BB%8Bnh_k%E1%BB%B3_%C4%91%C3%B3ng_ph%C3%AD/database/H%E1%BB%A3p_%C4%91%E1%BB%93ng/automations/rule/6799ad300d3901c00626d49e/actions --path=.`

It then says:

> fibscripts: The following options are incompatible with `--url`: --space, --db, --button, --rule, --path

What should I do next?

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [January 30, 2025, 4:39pm UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/16 "2025-01-30T16:39:33Z")

</div>

Using a `.env` file is not currently supported.  
Please try defining the needed env vars in the environment before running the app

---

<div class="post-metadata">

**Author:** ![adamcharnock](https://avatars.discourse-cdn.com/v4/letter/a/e480ec/32.png) [@adamcharnock](https://community.fibery.io/u/adamcharnock)\
**Post date:** [March 31, 2025, 10:11am UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/17 "2025-03-31T10:11:41Z")

</div>

I’m very interested in trying this out, thank you!

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [March 31, 2025, 2:05pm UTC](https://community.fibery.io/t/beta-testers-wanted-for-fibery-script-management-tool/5466/18 "2025-03-31T14:05:58Z")

</div>

Adam –

> [@Matt\_Blais](#):
>
> You can check it out here: [GitHub - mblais/fibery-script-management: Remote script management for Fibery.io automations](https://github.com/mblais/fibery-script-management) - feedback and pull requests appreciated 🙏

_(filler)_
