diff --git a/app/concerns/liquid_interpolatable.rb b/app/concerns/liquid_interpolatable.rb
index <HASH>..<HASH> 100644
--- a/app/concerns/liquid_interpolatable.rb
+++ b/app/concerns/liquid_interpolatable.rb
@@ -111,7 +111,7 @@ module LiquidInterpolatable
 
   class Context < Liquid::Context
     def initialize(agent)
-      super({}, {}, { agent: agent }, true)
+      super({}, { '_agent_' => agent }, { agent: agent }, true)
     end
 
     def hash
diff --git a/spec/concerns/liquid_interpolatable_spec.rb b/spec/concerns/liquid_interpolatable_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/concerns/liquid_interpolatable_spec.rb
+++ b/spec/concerns/liquid_interpolatable_spec.rb
@@ -430,4 +430,13 @@ HTML
       expect(@filter.group_by("some string", "anything")).to eq("some string")
     end
   end
+
+  describe '_agent_' do
+    let(:agent) { Agents::InterpolatableAgent.new(name: 'test', options: { 'foo' => '{{bar}}' }) }
+
+    it 'computes digest values from string input' do
+      agent.options['template'] = 'name={{ _agent_.name }} foo={{ _agent_.options.foo }}'
+      expect(agent.interpolated['template']).to eq 'name=test foo={{bar}}'
+    end
+  end
 end
Add a Liquid variable referring to the agent itself as `_agent_`