Frequently asked questions

How can I monitor page?

You can start monitoring any web page by following 3 simple steps

Can I see demo of Wachete?

Does my PC or phone has to be switched on and connected to Internet all the time to monitor pages?

No. All monitoring is running and happening on our servers which are in different locations around the world.

Is it possible to see visual changes preview on the actual page?

Yes. Edit your wachet and set What would you like to extract? to HTML. Afterwards in Wachet details and history table click on small icon Show visual differences under date. Preview of differences will open.
Example:

Can I generate a RSS feed from a webpage?

Yes. After you created a wachet, go to the detail of the wachet. Click on the RSS icon and you will get the URL to your RSS feed for changes in values or for notifications triggered. Afterwards add this URL to your favorite RSS reader.

I deleted by accident my monitors or folders, can I recover them?

Fortunately it is possible. Navigate to your profile and go to tab called Account.
You will find section to recover deleted wachets. Choose period to recover. You will find your wachets back in your wachets.

Can I monitor my server certificate and be notified when it's going to expire? 

Yes, with Wachete you can monitor your server certificate and be notified before its expiration. When creating a new wachet, click +Show advanced options and in Specify content type select Headers and certificate only. To monitor your certificate's expiration, just select the hoursToExpiration value and set up a Notification:

Notify me when the [value is less than] 720

to be notified 30 days before your certificate expiration.

NOTIFICATIONS

How does the notification email look like when a web site has changed?

Red parts is representing removed text, and green is text which was added on the page.

Subject: Wachete notification
From: info@wachete.com

Hi there!

You wanted to be notified about changes, right? So here they are…

Wachet name E15.cz - News, politics

URL http://e15.cz/

...
Elections of the President of the Czech Republic by the Parliament of the Czech Republic were held on FriThursday 8 February and Saturday 9 February 200812,[1] to select a successor to incumbent Vaclav Klauspresident for a five-year term beginning on 7 March 2008. The candidates standing for election were Klaus and University of Michigan Professor Jan Vejnar.[2]
...

I'm getting error notifications which I'm not interested in. Can I filter them out?

If you want to disable all error notifications edit wachet definition and uncheck Notify me when an error occurred option.

If you want to disable only specific error like The server returned an error response: ServiceUnavailable navigate to Notifications and click on show details of the error notification you would like to disable. On the bottom there is an Ignore button which would ignore same error notifications for the wachet in the future.

To enable notifications again edit wachet definition and navigate to +Show advanced options. Under Notifications tab you'll see Ignore error notifications where you can select errors which you want to enable again.

Can I receive notifications to multiple emails?

Yes. In your profile add a new email address. After that, when creating/editing a wachet, open the advanced settings section and choose to which email the notifications should be sent.

What is the "Notifications" section in the navigation bar?

There you can find all the notifications that have been triggered for your wachets. For example, when we find out that a web page has changed, we notify you via email or via push notifications in the mobile app. Don't forget to setup notifications while creating your wachet.

Can I set different conditions for being notified via email?

Wachete's most popular notification is when a web page has changed, but you can also set up a notification when page contains specific a text, or when some numeric value on page riches some threshold or starts growing. And many more.

I would like to receive SMS to my mobile or trigger some other action when page has changed, is it possible?

Yes. Wachete integrates with Zapier. Just create a Zap where the trigger is a Wachete notification and then send it via SMS. You can create any other automation like updating google sheets, creating task in your tasklist or tweet on twitter.
We also integrate with Pabbly Connect which can do similar things.

I would like to receive notifications about web changes to Slack chat, Google chat, Discord chat, Telegram or Microsoft Teams

Fortunately we support this. Add this application to your Slack workspace.
Afterwards take your webhook URL from new application (https://hooks.slack.com/services/EXAMPLE) and paste it when editing wachet, in Advanced section and Notification tab, into field Webhook. That's all.

For Google chat you can find manual here on how to get webhook URL. Afterwards edit your wachet like described for Slack above.

For Discord you can find manual here on how to get webhook URL. Afterwards edit your wachet like described for Slack above.

For Microsoft Teams you can find manual here on how to get webhook URL. Afterwards edit your wachet like described for Slack above.

For Telegram create bot via BotFather as described here and add bot to your chat.
Afterwards edit your wachet and in Advanced options in Notifications tab enter into WebHook field URL in format: https://api.telegram.org/bot{TOKEN}/SendMessage?chat_id={CHAT_ID}
Replace {TOKEN} with your API token you got from BotFather when creating bot.
Replace {CHAT_ID} with ID of chat where to send messages to. Once you add bot to chat you can get chat ID calling https://api.telegram.org/bot{TOKEN}/GetUpdates. Take ID from section in chat.

I would like to make my own expression and condition for notification

For monitoring of numeric values you can choose notification type expression. You can write simple evaluation. If it is evaluated to true we will send notification.
Example: cv > pv (You will be notified when current value is bigger than previous)

Variables: cv (current value), pv (previous value)

List of all supported functions can be found here.

In case you use Compute wachet all variables which you defined related to wachets involved can be used in above expressions and notifications.

Useful expressions
Notify me only when the value crosses threshold 10: cv >= 10.0 and pv < 10.0
Notify me only when the value goes up by predefined step 1.5: floor(cv / 1.5) > floor(pv / 1.5)
Notify me only when the value changes by predefined step 1.5: floor(cv / 1.5) != floor(pv / 1.5)
Notify me when the current value contains Berlin but not Praha case insensitive: contains(cv, 'berlin') && !contains(cv, 'praha')
For compute type wachets you can use variables you defined contains(wachet1_value, wachet2_value)

How does the content of the webhook look

You can specify in the advanced section of the wachet setting webhook which we call if any alert is triggered. HTTP operation is POST and this is how the JSON content looks

{ "taskId": "2a4c09ca-c166-42f5-a7eb-dda045a1e674", "alertId": "WDFE6GA3Y...", "userId": "54c84df2-3f01-4419-80d1-1d546c4ee81e", "name": "CNN highlights", "url": "http://cnn.com/", "alertUrl": "https://www.wachete.com/wachet/2a4c09ca-c166-42f5-a7eb-dda01e674?alertId=WDFE6GA3Y...", "current": "President changed his plans for visit", "previous": "Big storm is coming this night", "nested": [] }

How can I make sure that the webhook was really sent from Wachete?

To make sure that the webhook was sent from Wachete service, you can verify webhook signature sent in x-wachete-signature header. To get your webhook secret go to Profile -> API.

PHP code for signature verification
$calculatedSignature = hash_hmac("sha256", $payload, $secret, false); //TODO: compare calculated signature with signature received in webhook

C# code for signature verification
byte[] secretBytes = Encoding.UTF8.GetBytes(secret); byte[] payloadBytes = Encoding.UTF8.GetBytes(payload); byte[] hash = new HMACSHA256(secretBytes).ComputeHash(payloadBytes); StringBuilder sb = new StringBuilder(); foreach (byte x in hash) { sb.Append($"{x:x2}"); } string calculatedSignature = sb.ToString(); //TODO: compare calculated signature with signature received in webhook

Can I use regular expressions for notifications?

Yes you can and here are couple of examples of regular expressions which might be useful
Match whole word:
\bword\b

Match 2 words separated any character except of new line:
.*important.*change.*

Match 2 words separated any character and also new line:
.*important[\S\s]*change.*

Match at least 1 of 2 words:
(.*word1.*)|(.*word2.*)

WACHETS

I'm getting "Forbidden" or the page content is not loading properly. What could I do?

There are several options you can try if the page content is not properly loaded:

What do the small icons in front of wachet name mean?

Icons have following meaning
⚛ - dynamic wachet (you monitor javascript rendered page)
ᐅ - flow wachet (interaction with page, like inserting login/password)
▤ - crawling wachet (auto discovery of sub-pages from root page)
⚙ - compute wachet (using several wachets to calculate new value)

What is the difference between normal and dynamic pages?

In general most of the pages can be monitored as normal page. Some pages where content is generated by Javascript like stocks price or other dynamic pages with graphs should be monitored as dynamic. You can find out easily if you need to monitor page as dynamic. If you open page in our preview and you can see the content you want to monitor then it's normal page. If you need to change in preview options to dynamic to see your content then the page is dynamic. Dynamic wachets have symbol ⚛

In the "My Wachets" section, why the time on the wachet is higher than 1 hour although I set it to check every hour?

In the "My Wachets" section, we are showing the last time when something has changed. The most recently changed wachets are on the top of the list. Once you get into the detail page of the wachet, you will see the time when we last checked the page and the time when it has changed.

I would like to ignore some part on the page, because it generates not relevant notifications

If your page contains part like date and time which constantly changes and you want to filter such noise, you can either switch in preview to exclude mode on top and mark parts to ignore or you can edit wachet and in advanced options enter Exclude Xpath
Useful XPaths
Ignore div elements with class 'date': //div[contains(@class, 'date')]
Ignore all links: //a
Ignore all HTML comments: //comment()
Ignore specific attributes: //*[@class]/@class
Ignore elements with attribute test: //*[@test]
All topics which does not contain text 'Miss': //h2[not(contains(text(), ' Miss'))]

More info about xPath can be found here

I would like to monitor changes in PDF, JPG, DOC, DOCX, XLSX, AVI and other media files, is it possible?

Yes. Good news, Wachete is able to extract text from PDF, XLSX, MS Word and DOCX files and monitor them for changes. Other file types we check if the size and the last modified time have changed, if yes, we notify you. Simply create a new task, and enter the URL of the file you are interested in.

Can I monitor page which requires to log in with password before?

Yes. During creating of wachet, choose Just part of page type. After loading preview enter login and password and click sign in. You will be logged in where you can choose what to monitor. Flow wachets have symbol ᐅ

Can I monitor just a section of a web page?

Yes. When creating a new task, simply select the area you are interested in. You can select some text/number, a section on a page or the entire page.

I would like to post-process monitored content, is it possible?

In some scenarios, it could be useful to process the data retrieved from the page. For this purpose, you can write your own expression and leverage our built in functions.
When creating your wachet, navigate to +Show advanced options -> Content and enter your expression. Content retrieved by wachete is stored in the cv variable.

List of all supported functions can be found here.

Expression examples:
Extract first 5 characters from the content: substring(cv, 0, 5)
Extract element from JSON: jsonpath(cv, "$[?(@.definition.method=='GET')].definition.name")
Add suffix to the content: cv + '$'

What functions and operators are supported in expressions?

Name Description
+ Numeric or string addition
-, /, *, %, ^, () Numeric operators
<, >, <=, >=, ==, &&, ||, !=, ! Logical operators
abs(value)
floor(value)
ceil(value)
round(value, decimals)
Numeric functions
replace(string, oldString, newString) Returns a new string in which all occurrences of a oldString string in the current string are replaced with newString
substring(string, startIndex)
substring(string, startIndex, length)
Returns a substring
contains(value, 'text')
!contains(value, 'text')
Returns whether string contains or not contains a substring. Function is case insensitive.
trim(value) Returns a new string in which all leading and trailing occurrences of a set of specified characters from the current string are removed.
nl()
newline()
Returns a newline string.
indexof(value, 'text') Returns zero based index of the substring in string. If not found -1 is returned. Search is case insensitive.
length(value) Returns length of the string.
jsonpath(string, path) Returns JSON element. See jsonpath.com for more details.

I would like to use and combine values from several Wachets, is it possible?

It might be useful to combine values from several Wachets into one. Good example is monitoring of stock price in USD in one wachet and exchange rate between USD and EURO in another one. You can combine these by creating Compute wachet. Compute wachets have symbol ⚙

When creating new Wachet, choose Combine values from existing wachets option and select relevant Wachets as source of data. You can pick up to 5 Wachets. Name each Wachet (e.g. usd_to_eur and google_stock_price) and write your own expression combining these names (e.g. usd_to_eur * google_stock_price). These names could be also used in notification expression.

We will generate history and chart the same way as for ordinary Wachet.

List of all supported functions can be found here.

Can I export my wachets which I monitor or data?

There are 3 ways how you can export data from wachete.
In wachets view select with small checkbox in right bottom corner all wachets you want to export. You can select up to 20 of them. Press Export button on top. Excel file will be generated with last 100 values from selected wachets.

Second option is to select wachets same way like in above step, but this time click Edit button on top. Multi-edit window opens and on bottom you find button Export. You will be able to download text file with all URLs and names of wachets you monitor. This text file can be also used to again import your wachets to our system, by copy&paste it to multi-edit text box.

Last option is to navigate to Profile -> Account and click Export monitored URLs. This will provide Excel file with all URLs you have in system.

Is there way to search in my wachets based on name, URL or note?

You can use search box on top above your wachets. Start typing. Without pressing search or hitting enter we will search inside of current folder based on name of wachet or note or URL.
Click button MORE on the bottom to see all results in current folder.

When you click search we will search across all your wachets in all folders and show you results up to 500 wachets.
It's possible to search in name, url, note and type. Full query specification can be found here.

Supported search values for type are:
normal - "Single page with normal type" wachets
dynamic - "Single page with dynamic type" wachets
scan - "Scan the root page and also the sub-pages" wachets
combine - "Combine values from existing wachets" wachets

Here are some example search queries:
type:dynamic - all dynamic wachets
chicken - wachets which contain 'chicken' in URL, name of wachet or note
name:chicken - wachets which contain 'chicken' in name of wachet only
name:chicken AND note:bio - wachets which contains 'chicken' in name and note contains 'bio'
name:chicken OR url:bio* - wachets which have word 'chicken' in name or URL contains word starting with 'bio'

Is it possible to randomize the value provided in HTTP request headers?

Sometimes it is useful to randomize value you provide in request headers. For this purpose, you can use following placeholders:

{random-number} - random number from interval <0; 100000)
{random-number:%number%} - random number from interval <0; %number%)
{random-text} - random text with 10 characters
{random-text:%number%} - random text with %number% characters. Maximum 100 characters are generated.

Sample headers:
User-Agent: {random-text:20}.{random-number}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.{random-number}

Is it possible to provide my own proxy server?

Apart from using our predefined proxy servers, you can also provide your own list of proxy servers. This allows you to use datacenter or residential proxies in any location of your selection and limitation is only the offer of the proxy provider. You can pick any proxy provider supporting username & password authentication, e.g. Smartproxy or Oxylabs

To minimize risk of blocking your proxy, we recommend using rotating residential proxies. Be aware that Wachete is not caching any data between requests, so even though we're not loading images, videos or other multimedia content, the amount of transferred data could be still high especially for dynamic pages. This depends on the page itself and monitoring period. This could affect the price for the proxies.

After registering a proxy server in any of your preferred proxy providers, navigate to Profile -> Proxy and enter your proxy name, address and proxy credentials. If no user name and password are provided, no credentials are provided when authentication to the proxy server.

To verify that your server is working properly, open e.g. https://www.iplocation.net inside the Wachete page preview and check that the location is correct:

ip location sample

When proxy server is defined, you can use it the same way as you're using our predefined proxy servers:
* select monitoring location in Options while in page preview
* edit wachet and navigate to +Show advanced options -> HTTP -> Wachete will monitor page using proxy

PAID SUBSCRIPTIONS

I am interested in a paid subscription, can I cancel any time?

Yes. You can cancel any subscription at any time.

Can I share my subscription across team or with other accounts?

If you want to share your subscription with other people having own accounts, firstly ask them for they userID.
They can find it by navigating to Profile -> Team. It looks like this: 54c66df2-3f01-4419-80d1-1d5....

Now in your Profile -> Team click in sharing subscriptions New and enter previous ID and count of Normal and Dynamic wachets you allow him to consume.

It will be subtracted from your own subscription and available for user you shared it with. User will also inherit the same checking interval you have and other features.
You can cancel sharing anytime by clicking remove.

How can I cancel or change subscription?

You can cancel subscription anytime by navigating to Profile and afterwards to My subcriptions. Click cancel on particular subscription.
If you want to change subscription for purpose of more wachets or shorter frequency you have 2 options.
You can either buy another subscription to increase number of wachets and have 2 or more subscriptions in parallel. Or you can cancel current one and get larger subscription.

If you want to update billing info on subscription, click on edit in My subscriptions and update address. You can't update VAT or company name.
For updating VAT or company name you have to cancel subscription and subscribe again.

AUTOMATED CRAWLING OF SUB-PAGES

I would like to monitor a whole website including sub-pages. Do I need to add all the sub-pages manually?

Wachete is perfect for monitoring whole website including sub-pages. It will follow all the links on the first page and crawl all the sub-pages. We will automatically start monitoring all the sub-pages will we find. When creating wachet select Scan the root page and also the sub-pages. Crawling is done until 3rd level of sub-pages. As this might find several hundreds of sub-pages you will probably need to get one of our paid subscriptions. You can also filter URL which you don't want to crawl in advanced section. Crawling wachets have symbol ▤

And what if would like to crawl a whole website including sub-pages but only certain part on all pages.

During creation of wachet, select Crawling full page including sub-pages, afterwards button Change selected content. Select the area on the root page which appears on same place also on sub-pages. We will extract and monitor only this part. In advanced section URL filtering check option Ignore pages which return error.

WEBMASTERS AND PROGRAMMERS

I am Web master and I would like to have on my page button to enable people to monitor changes on my page with Wachete and get email notification

Just copy bellow HTML code to your web page:

<button style="padding:14px 14px 14px 35px;cursor:pointer;border-radius:3px;border:0;background:url('https://www.wachete.com/img/favicon/favicon-32x32.png') 3px 4px #1abc9c no-repeat;font:14px 'HelveticaNeue','Helvetica Neue',Helvetica;color:#FFF;font-weight:bold;" onclick="window.location.href='https://www.wachete.com/new-wachet?url='+encodeURIComponent(window.location.href);">Monitor this page</button>


Can I monitor some value inside of JSON returned by GET or POST, PUT, DELETE request?

Yes you can. Enter URL and in preview select part of JSON to monitor. For PUT and POST requests see below in this document how to monitor PUT/POST

Does Wachete have REST API interface?

Yes we support all operations via REST API, which are available on the web. You can add new page to monitor, list monitored pages, get values of monitored page, check notifications or webhook/http callbacks if page has changed. Documentation can be found here

Can I monitor also response from POST/PUT requests?

Yes you can. When creating wachet enter URL where you want to send POST, after just click next, skip selecting area you want to monitor until you get to Advanced options on the bottom of settings. In Other tab you can specify method to use, body of the request to be sent and also headers in format

User-agent: Chrome
X-Auth-header: aabdddcc11

You didn't find the answer you were looking for?

Don't hesitate to contact us at info@wachete.com and we will answer any of your questions.