# Deeplink

El deeplink permite la integración de Boolfy Agents tanto en ambientes WinForm como en WebApps de manera directa, segura y transparente para el usuario final.

A continuación, detallamos como se visualiza un Deeplink embebido en una pagina de un tercero.

<figure><img src="https://143018119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkM1sjIIYYl6C0d7jcyPF%2Fuploads%2Fih0qdbhuhcoxaY29Su6A%2FDeeplink.png?alt=media&#x26;token=bbe1a795-38d8-4d72-86dc-97c62970bc49" alt=""><figcaption></figcaption></figure>

Para integrar el deeplink existen dos esquemas diferentes.&#x20;

### WinForm

En aplicaciones WinForm se puede abrir una instancia de navegador con la URL del deeplink.

### WebApp

En aplicaciones Web puedes crear un IFRAME con la URL del deeplink.&#x20;

{% hint style="info" %}
Recuerda contactar con el equipo de integraciones de Boolfy para que habilitemos a tu dominio a embeber nuestros Deeplinks.
{% endhint %}

```html

<iframe src="Deeplink Url" style="height:700px;width:1500px;"></iframe>

```

En los entornos WebApp te puedes suscribir a la mensajeria de Boolfy Agents para recibir notificaciones de las acciones del usuario. Estas pueden ser:

* **Update**: El usuario actualizó el documento. En este caso recomendamos volver a ejecutar el método [GetInfo](https://docs-agents-api.boolfy.com/documents/getinfo) para obtener las actualizaciones.
* **Cancel**: El usuario hizo click en el botón de cancelar.
* **404**: El link no es válido.

Para recibir estas notificaciones, simplemente debes suscribirte a la mensajería que emite Boolfy Agents. Aquí tienes un código de ejemplo para la suscripción.

```javascript
window.addEventListener("message", (event) => {
	if (event.data != null && event.data.type != null) {
		if (event.data.type == "boolfy:navigate") {
			if (event.data.action == "updated") {
				//El usuario actualizó el documento
			} else if (event.data.action == "cancel") {
				//El usuario canceló la acción;
			} else if (event.data.action == "404") {
				//Deeplink no válido;
			}
		} else if (event.data.type == "boolfy:rule_not_pass") {
			if (event.data.action == QAId) {
				//Los QAId dependen de cada modelo
			}
		}
	}
});

```

Así mismo, implementamos un mecanismo que permite ejecutar todas las reglas sin necesidad de intervención humana:

```javascript
IFRAME.contentWindow.postMessage({ 
                                    type: "boolfy:rules", 
                                    action: "refresh" 
                                 }, 
                                 "enterprise.com");
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-agents-api.boolfy.com/documents/deeplink.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
