JSON is the format external systems use to exchange data: it's how the APIs of delivery services, payment providers and accounting systems respond. A Bitrix24 business process sees JSON as an ordinary string: there are no stock actions to extract a value from it or to assemble a structure to send. We'll work through a chain of three robots: the first sends an HTTP request and gets a response, the second extracts the value you need from the JSON by path, the third builds JSON from deal fields to send outward.

Where does a business process meet JSON?

Three typical points. First — responses from external APIs: the process requests a delivery status, a stock balance or a currency rate and gets JSON. Second — webhooks: an external system sends data, and it lands in a field or a variable as a single string like {"order":{"id":518,"status":"paid"}} — and now you need to do something with it. Third — sending data outward: an external system expects JSON of a specific structure, and you have to build it from deal fields. In all three cases the stock workflow designer offers to work with the string as a whole, and that's usually where a programmer gets called in. The three robots below close the loop without code.

How do I send a request to an external system?

The HTTP request GET/POST robot calls any external API. Input: the URL, the method — GET, POST, PUT, PATCH, DELETE or HEAD, GET by default — the request body for POST and PUT, headers as a JSON object like {"Authorization":"Bearer …"} and a timeout in seconds, 10 by default. Output: the response body, the HTTP status code and a "Success" flag (Y/N — a 2xx code). The response body is written into a variable and passed to the next robot for parsing. This way the process learns the order status in the accounting system on its own, on the stages' schedule, without waiting for a manager to check by hand. The robot is available on paid Bitrix24 plans.

How do I extract a value from a JSON response?

The Extract a value from JSON by path robot parses a JSON string and returns a value by a dot path: object keys and numeric array indices. For the response {"data":{"user":{"email":"a@b.ru"}}} the path data.user.email returns a@b.ru; the first element of a list is reached by a path like items.0.name. Output: the value as a string and a "Path found" flag (Y/N); if an object or array sits at the path, it is returned as a separate value in JSON form — parse it with the same robot again, this time by the inner path. Invalid JSON or a missing path yields an N flag, not a halt of the process. The found value is written into a deal or contact field by the next action.

How do I build JSON from deal fields?

The reverse task: an external system expects JSON, but the data sits in fields and variables. The Build JSON from fields robot accepts two multiple lists — keys and values; the order must match: the first key gets the first value. Deal fields and process variables are substituted into the values. Numbers and true/false values are recognized automatically and land in the JSON without quotes, everything else as strings; there is an option to format with indentation for readability. Output — a ready JSON object: substitute it into the body of a POST request in the HTTP request GET/POST robot, or pass it to the external system any other way.

How do I handle integration errors?

External systems respond with errors, and the process must survive that. Both robots return flags instead of halting. "Success = N" on the HTTP request means a response outside the 2xx codes: the status code hints at the cause — 401 about an authorization problem, 404 about a wrong address, 5xx about a failure on the other side. "Path found = N" on the JSON parse means the response came in the wrong structure or the JSON is invalid. On those flags, build a separate branch in the workflow designer: a task for the responsible person with the response body inside, while the deal stays on the current stage until things are clarified. Without such a branch, the process silently writes an empty value, and the error surfaces later — at the client's end.

Bottom line

The "request → parse → build" chain closes a typical integration without code: HTTP request GET/POST exchanges data with the external system, Extract a value from JSON by path parses the response, Build JSON from fields prepares the data to send. All three are in the Roboteka catalog and install from the Bitrix24 Market. No robot fits your integration — describe the task, we build it for free and add it to the shared library.