# V9 Application Tools

**URL:** https://forums.concretecms.org/t/v9-application-tools/5441
**Category:** Developing with Concrete
**Created:** [April 21, 2023, 6:22pm UTC](https://forums.concretecms.org/t/v9-application-tools/5441 "2023-04-21T18:22:51Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![jsantaga](https://forums.concretecms.org/user_avatar/forums.concretecms.org/jsantaga/32/3560_2.png) [@jsantaga](https://forums.concretecms.org/u/jsantaga)
#### Post date: [April 21, 2023, 6:22pm UTC](https://forums.concretecms.org/t/v9-application-tools/5441/1 "2023-04-21T18:22:51Z")

</div>

Hello C5 Community!

Hope everyone is doing well. Random question, how can I call a PHP file directly within ConcreteCMS? I know the /application/tools directory was previously available for use but I can’t seem to run a PHP file directly via AJAX using the file in that directory. Am I missing something? Thanks All!

- Jordan Santaga

---

<div class="post-metadata">

### Author: ![JohntheFish](https://forums.concretecms.org/user_avatar/forums.concretecms.org/johnthefish/32/3767_2.png) [@JohntheFish](https://forums.concretecms.org/u/JohntheFish)
#### Post date: [April 21, 2023, 7:17pm UTC](https://forums.concretecms.org/t/v9-application-tools/5441/2 "2023-04-21T19:17:51Z")

</div>

Routing via /tools/ was deprecated in v8 and removed with v9.  
You need to register a route to connect to either an anonymous function or to a class/method.

> **[Routing Basics](https://documentation.concretecms.org/developers/framework/routing/routing-basics)**

---

<div class="post-metadata">

### Author: ![jsantaga](https://forums.concretecms.org/user_avatar/forums.concretecms.org/jsantaga/32/3560_2.png) [@jsantaga](https://forums.concretecms.org/u/jsantaga)
#### Post date: [September 15, 2023, 3:22pm UTC](https://forums.concretecms.org/t/v9-application-tools/5441/3 "2023-09-15T15:22:25Z")

</div>

I never replied but this was definitely the trick, thanks John!
