> For the complete documentation index, see [llms.txt](https://knowledgebase.fabricdata.com/xytech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knowledgebase.fabricdata.com/xytech/webhooks/whats-new.md).

# What's New

### <mark style="color:red;">v26.1</mark>

### **Export Adaptor Log - includes trigger event identifier and removes initial log entry**

Webhooks Export Adaptor logs have been enhanced to include an event identifier so all logs for the same triggered event can be identified and grouped. This now avoids the initial additional log entry so that all log entries now relate to an attempted message send.

### <mark style="color:red;">v11.3</mark>

### Ability to disable Export Adaptors or Outbound Connections

The webhooks feature now has the ability to deactivate Export Adaptors or Outbound Connections. This can be very useful especially when restoring a backup onto a test or development instance to prevent accidental outbound integrations from happening to production external services. (26565)

### ISO Datetime formats

Export Adaptors now includes an optional flag to send all dates in ISO standard format. (27017)

### Ability to include child-table field values

Export adaptor payloads can include an array of values from child tables. The syntax requires the array fields to be nested under child table tags using specific syntax as shown in the example below.&#x20;

```
#[<child table name>]
	<fields>
#[/<child table name>]
```

The JSON syntax must be manually managed around these table tags. You can drag and drop fields from the child table onto the template text area where the prefix syntax of the table name will be automatically applied.

An example Export Adaptor payload template for a Media Order Event Trigger that includes a list of Services and a list of Operations.

```json
{
  "document": "MoMediaOrder",
  "id": "[jm_work_order.wo_no_seq]",
  "idField": "wo_no_seq",
  "details": [
		{
	       "services": [
			    #[mo_service_row]
		        {
		          "description": "[mo_service_row.service_desc]",
		          "service_row_no": "[mo_service_row.service_row_no]"
		        }
			    #[/mo_service_row]
		        ],
			"operations": [
		    	#[mo_operation]
			     {
			           "service_row_no": "",
			           "description": "[mo_operation.trx_resource_code]",
			           "op_no": "[mo_operation.operation_no]"
				 }
				#[/mo_operation]
				 ]
		}
	],
	"type": "UPDATE"
}
```

Note: This will make the template non-JSON standard. The template syntax will be validated as Xytech compliant on save.

Example payload generated:

```json
{
  "document": "MoMediaOrder",
  "id": "109483-1",
  "idField": "wo_no_seq",
  "details": [
    {
       "services": [
               {
          "description": "Color Program/Review - Per Hr",
          "service_row_no": "50094"
        },
              {
          "description": "Color Program/Review - Per Hr",
          "service_row_no": "50095"
        },
              {
          "description": "142 Digital Receipt",
          "service_row_no": "229496"
        }
      
        ],
      "operations": [
                {
          "service_row_no": "",
          "description": "",
          "op_no": "71032"
        },
                {
          "service_row_no": "",
          "description": "",
          "op_no": "71033"
        }
        
      ]
    }

  ],
  "type": "UPDATE"
}

```

Please note that the tables cannot be nested within each other, only one level of sub-tables is supported. No restrictions on which table is used to setup the trigger conditions as the code is document based. In other words, if your document is Media Order, you could use any sub table in the trigger conditions and all the available sub tables could be used in the template. (24750)

### <mark style="color:red;">v11.1</mark>

### Export Adaptor custom headers override default

You are now able to add a custom header of 'Content-Type' to an Export Adaptor that will override the default generated Content-Type header. Note: you must flag the custom header as a Content Header.

<figure><img src="/files/SHcKXpQhrH7f6sefhu9s" alt=""><figcaption></figcaption></figure>

### Export Adaptor Logs improved capture of failures

Webhooks Export Adaptor logging has been enhanced so that errors are logged when the error occurs prior to being able to execute the API call. This gives greater logging visibility to users especially when in the past no log entry would be created and the user would have no awareness.

### Encode illegal characters in outbound payload

Webhooks Export Adaptor Template now includes encoding of whitespace characters.

### <mark style="color:red;">v11.0</mark>

### Response payload parsing and storing of values

Webhooks now includes the ability to store value(s) received in the response body into a field from the triggered document.

This allows Xytech to store the ID generated by an external system as a result of a web hook POST that creates the record. See [Export Adaptor](/xytech/webhooks/export-adaptor.md)

### URL Parameters now use table names (not DOC prefix)

When configuring an Export Adaptor to use URL parameters, to include a filed in the URL the field name is now prefixed by table name (as opposed to DOC) which makes it clearer to understand it's source.

### GET is added as an Export Adaptor method

Given the introduction of the response parsing feature, it now makes sense to add the GET method as an option.

### Export Adaptor square brackets allowed

Webhooks, Event Trigger - Export Adaptor payload template will now accept JSON payloads that start with square brackets. The JSON validator will no longer object.

### <mark style="color:red;">v10.6</mark>

### Ability to define custom headers for Export Adaptors

### Enhanced URL fail-over logic for Outbound Connections

### <mark style="color:red;">v10.4</mark>

### Webhooks Feature Introduced in v10.4


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://knowledgebase.fabricdata.com/xytech/webhooks/whats-new.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
