# New / Breaking Browser Heartbeat Config Syntax in 7.12

**URL:** https://discuss.elastic.co/t/new-breaking-browser-heartbeat-config-syntax-in-7-12/268118
**Category:** Synthetics
**Created:** [March 23, 2021, 4:14pm UTC](https://discuss.elastic.co/t/new-breaking-browser-heartbeat-config-syntax-in-7-12/268118 "2021-03-23T16:14:54Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Andrew\_Cholakian1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/andrew_cholakian1/32/3612_2.png) [@Andrew\_Cholakian1](https://discuss.elastic.co/u/Andrew_Cholakian1)
#### Post date: [March 23, 2021, 4:14pm UTC](https://discuss.elastic.co/t/new-breaking-browser-heartbeat-config-syntax-in-7-12/268118/1 "2021-03-23T16:14:54Z")

</div>

To our synthetics / browser monitor users, with the release of 7.12 today you'll notice a new, improved syntax for specifying browser monitors. Please see our [updated docs](https://www.elastic.co/guide/en/observability/current/synthetics-quickstart.html) for more info.

Here's a sample of the new config

```auto
heartbeat.monitors:
- type: browser
  id: my-monitor 
  name: My Monitor
  schedule: "@every 1m"
  source:
    inline:
      script: |- 
        step("load homepage", async () => {
            await page.goto('https://www.elastic.co');
        });
        step("hover over products menu", async () => {
            await page.hover('css=[data-nav-item=products]');
        });
- name: Todos
  id: todos
  type: browser
  schedule: "@every 1m"
  source:
    local: 
      path: "/opt/todos" 

```

The gist of it is, that we got rid of the `heartbeat.synthetic_suites` top level config, and combined that functionality into the `browser` monitor type. This yields a more consistent syntax. It's a breaking change for existing configs.

Additionally, we changed the structure of the `browser` type config, to include a notion of `source`. The idea here is we now have two types of source `inline` and `local`, and are planning to add a third one for remote zips, which this syntax now lets us do. See [[Heartbeat] Zip URL Support by andrewvc · Pull Request #24714 · elastic/beats · GitHub](https://github.com/elastic/beats/pull/24714) to track remote zip support, which can be used in conjunction with a git repo that hosts zips (like github) to let you deploy new synthetic tests by simply pushing a new change to git.

---

<div class="post-metadata">

### Author: ![Andrew\_Cholakian1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/andrew_cholakian1/32/3612_2.png) [@Andrew\_Cholakian1](https://discuss.elastic.co/u/Andrew_Cholakian1)
#### Post date: [March 23, 2021, 4:15pm UTC](https://discuss.elastic.co/t/new-breaking-browser-heartbeat-config-syntax-in-7-12/268118/2 "2021-03-23T16:15:07Z")

</div>



---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [April 16, 2021, 4:15pm UTC](https://discuss.elastic.co/t/new-breaking-browser-heartbeat-config-syntax-in-7-12/268118/3 "2021-04-16T16:15:14Z")

</div>

This topic was automatically closed 24 days after the last reply. New replies are no longer allowed.
