> For the complete documentation index, see [llms.txt](https://docs.agilecase.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.agilecase.com/release-notes/2026/august-2026.md).

# August 2026

## 24 August 2026

This release makes outgoing webhook delivery easier to review on the case: every attempt is recorded, success and failure are shown at a glance, and the detail dialog is laid out for reading rather than editing.

### Improvements

#### Failed webhook attempt logs shown in Docs and Comms

When a webhook cannot be delivered — because the address is wrong, the endpoint is unreachable, the connection times out, or the SSL certificate cannot be verified — AgileCase now shows the attempt on the case **Integrations** tab, alongside successful deliveries.

Each failed record includes a plain-language explanation of what went wrong, so you can tell whether to check the URL, contact whoever runs the endpoint, or try again later.

Non-successful HTTP responses (anything outside the 2xx range) are now treated as failed deliveries and recorded the same way.

For how outgoing webhooks are triggered and configured, see [Outgoing Webhooks](/developer-documentation/webhooks/outgoing-webhooks.md).

#### Success and Failed labels on the Integrations tab

Webhook rows on the **Integrations** tab now show a green **Success** or red **Failed** label, so you can spot a delivery problem without opening each record.

### Behind the scenes

Performance and stability improvements.

***

## 21 August 2026

This release makes it possible to attach documents stored in your custom field tables directly to templated emails, and brings a handful of refinements to email batches and Case Connect.

### New

#### Attach documents held in table fields to your emails

Email templates can now pull a document straight out of a **File Upload** column in a custom field group table, picking the row using a value from that same row.

This is useful whenever a case collects a set of related documents side by side — for example a table of signed forms, certificates, or property searches — and you want a template to send one specific item without hard-coding which row it lives in.

Add a merge field in this form:

```
{{Case.Document.ByTableLookup[<lookup field ID>|<value to match>].<file upload field ID>.<action>}}
```

For example:

```
{{Case.Document.ByTableLookup[1234|Signed Contract].5678.AttachDocument}}
```

This finds the row where field `1234` reads "Signed Contract", then attaches whatever document was uploaded to field `5678` on that row.

Five actions are available:

| Action                | What it does                                    |
| --------------------- | ----------------------------------------------- |
| `AttachDocument`      | Attaches the document in its original format    |
| `AttachDocumentAsPDF` | Converts the document to PDF, then attaches it  |
| `ShareLink`           | Inserts a share link to the document            |
| `DirectLink`          | Inserts a direct link to the document           |
| `PDFLink`             | Inserts a link to a PDF version of the document |

A few things worth knowing:

* Both the lookup field and the File Upload field must belong to the **same** custom field group table.
* Matching ignores capitalisation. If more than one row matches your value, the most recently added row is used.
* The two attachment actions will hold the email back and tell you why if the document cannot be found, so a promised attachment is never quietly missing.
* The three link actions simply leave the merge field empty instead. This keeps templates safe to use on cases that do not have any table rows yet, such as those driven by creation triggers or scripts.

You can read more about building templates in [Templates](/administrator-documentation/templates.md).

### Improved

#### Clearer feedback when running an email batch

When you run a batch from the **Email Batch History** page, AgileCase now checks the email template before doing anything else.

If the template uses the new table-lookup document merge fields described above, you will see a message explaining that these are resolved for scheduled batches, and the batch is left exactly as it was, with nothing recorded against it. To use these merge fields in a batch, set it up to run through the scheduler instead.

For a walkthrough of the batch process, see [Running an Email Batch](/user-documentation/working-with-documents-and-reports/running-an-email-batch.md).

#### Improved session handling in Case Connect

We improved how custom field updates are submitted through the Case Connect portal.

Depending on browser settings, internet connectivity, or extended periods of inactivity, a Case Connect session could previously become disconnected and prevent updates from being submitted. This process is now more robust. If connectivity is lost, Case Connect displays a clear, user-friendly message instead of a generic error.

You can find more on the portal in [Client Connect](/user-documentation/client-connect.md) and on our wider approach in [AgileCase Security](/user-documentation/agilecase-security.md).

***

## 7 August 2026

A short release following the June performance work, refining a few things that came out of using it day to day.

### Improved

#### Attachments on emails sent by a script

An email sent from an **On Save** script, using a template that attaches documents, now records those attachments against the case. The copy you see on the case matches the message that went out, exactly as it does when a template is run by hand.

Emails sent from this release onwards list their attachments in the case record.

See [Sending an Email Upon Saving a Case](/developer-documentation/case-scripting/on-save-scripts/examples/sending-an-email-upon-saving-a-case.md).

#### Times on the Docs & Comms tab

The **Last Updated** column now shows local time throughout British Summer Time, so it is easy to tell at a glance which version of a document is the most recent.

This was only ever a matter of display — the times held against your documents and communications were correct all along, so there is nothing to put right in your data.

#### Saving custom fields in Case Connect

Custom field updates submitted through Case Connect now carry everything they need with them, rather than depending on the browser to supply it. Saving is dependable across every browser and security setup.

Anyone who had a Case Connect page open when the update was applied carried on without interruption.

More on the portal in [Client Connect](/user-documentation/client-connect.md).

#### Cases with no fee earner

Cases with no fee earner set now load the case screen in full, including anything driven by your own scripts, matching how cases with no partner set already behave.

#### Scripting on the case screen

Two small additions for people writing their own scripts:

* The client's ID is available on the case screen, alongside the fee earner and partner IDs already there, so a script no longer has to go looking for it.
* Custom field groups are told to load when their tab is opened, so a script that runs against a group can rely on that group being present.

See [Case Scripting](/developer-documentation/case-scripting.md).

### Behind the scenes

Two pieces of internal tooling arrived in this release. Neither changes anything you will see, but both add to the confidence behind what we ship.

The first verifies, cryptographically, which version of the source code a deployed build was compiled from, rather than inferring it from release tags and file dates. The first audit using it confirmed the live system matched the 24 June release exactly, across every compiled source file and every deployed asset.

The second is a test harness for the data uploader, letting us reproduce a customer's mapping and payload locally rather than testing against a live account.


---

# 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://docs.agilecase.com/release-notes/2026/august-2026.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.
