Back to Knowledge Base

New board listings in your own system: a webhook for CRMs, sheets and bots

Category: GeneralUpdated October 26, 2026

"Your system" is a board subscription channel that sends new cargo and vessels to your own software once an hour: a CRM, a Google Sheet, an internal database or a Telegram bot. The channel comes with the PRO plan. Rynda sends one signed POST request with JSON carrying every new listing that matches the subscription filter, and your system decides where to store or forward them.

How to connect it

  1. Subscribe to new cargo or vessels on the board (how to subscribe).
  2. In the Your system, once an hour row, paste an address that accepts requests, for example a Google Apps Script web app URL. The address must be public and start with https://.
  3. Click Save. The channel is ticked automatically.

What the request contains

The request body is JSON: type set to board.new_listings, the delivery number id, the language lang, the send time deliveredAt, the listing count total and the items list. Each item carries:

Field Contents
id the listing's permanent key; use it to drop duplicates
side, source, dealTag board side (cargo or vessel), broker or direct listing (broker, direct), deal type code
title, summary listing title and a ready-made line for a chat or a sheet: deal type, route, size, date
from, to, regions loading port or the vessel's open port, discharge port, the vessel's trading areas; each port has a name, country and coordinates. English names (nameEn, countryEn, regionsEn) always come, whatever the request language
dateFrom, dateTo loading or open date and the end of the window
weightTons, weightTonsMax, dwt cargo weight or vessel deadweight
cargoType, vesselType and the codes cargoTypeKey, vesselTypeKey cargo or vessel type
price, commissionPercent rate and commission, when the author gave them
postedBy author type (Company or Individual) and the verification mark
publishedAt, firstSeenAt, url publication time, when the listing appeared on the board, link to the listing

Which language the listings come in

Text in the request is in the language set for your notification emails. When a broker listing has no English version of a field, that field comes as null in an English request. Codes (dealTag, cargoTypeKey, source) do not depend on the language, which makes them handy for filtering. The author's name and contacts are not included: reach them through the link.

How to check that a request comes from Rynda

To make sure a request comes from Rynda, check the X-Rynda-Signature header: sha256= followed by the HMAC-SHA256 of the request body under your signing key. The key is in the panel under the channel row, Signing key. If the key leaks, click Issue a new key there: the old one stops working at once.

How to accept the request in Google Apps Script

A Google Apps Script web app cannot read request headers. Add your own secret parameter to the address, for example https://script.google.com/macros/s/…/exec?key=your-secret, and check it in the handler:

function doPost(e) {
  if (e.parameter.key !== 'your-secret') return ContentService.createTextOutput('forbidden');
  const data = JSON.parse(e.postData.contents);
  const sheet = SpreadsheetApp.getActive().getSheetByName('Rynda');
  const known = new Set(sheet.getRange('A:A').getValues().flat());
  data.items
    .filter((item) => !known.has(item.id))
    .forEach((item) => sheet.appendRow([item.id, item.firstSeenAt, item.summary, item.url]));
  return ContentService.createTextOutput('ok');
}

What happens if your system does not answer

A request counts as accepted when your system replies with a 2xx code or a 301, 302 or 303 redirect, which is how Google Apps Script answers after doPost runs. If there is no reply within 15 seconds or the reply is an error, the listings are not lost: they go out next hour together with the new ones. So the same listing can arrive twice; drop duplicates by id. If your system rejects requests for two days in a row, delivery is paused and the panel shows a notice with the last error. Check the address and click Resume to get everything that piled up. One request carries up to 500 listings; the rest go out next hour.

Which listings arrive

A subscription filtered by deal type only sends listings with that type. Some broker cargo listings have no deal type: to receive them, subscribe without a deal type filter.

How to forward listings to a Telegram group

To forward listings to a Telegram group, have your system send the summary field and the url link with its own bot after it receives the request.

Can I publish the listings I receive

Listings received this way are for your company's own work. Reselling or publishing them is not allowed (Terms of Use).

See also

Was this article helpful?

No, I need help