# Trigger Service Start Trigger Package Id

**URL:** <https://forum.canton.network/t/trigger-service-start-trigger-package-id/6030>\
**Category:** App Development\
**Tags:** trigger\
**Created:** [January 25, 2023, 10:50am UTC](https://forum.canton.network/t/trigger-service-start-trigger-package-id/6030 "2023-01-25T10:50:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![VictorShneer](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/victorshneer/32/5413_2.png) [@VictorShneer](https://forum.canton.network/u/VictorShneer)\
**Post date:** [January 25, 2023, 10:50am UTC](https://forum.canton.network/t/trigger-service-start-trigger-package-id/6030/1 "2023-01-25T10:50:12Z")

</div>

Hi!

How client app can get the correct Package Id to start a trigger using Trigger Service?

I continue with Trigger Service. I started a trigger from Postman.  
My payload was:

```haskell
{
  "triggerName": "17cd398d85060be21a136c7ba797bd9029b9006c66e08f53766b42d86ca93c37:Triggers.MergeHoldingsTrigger:mergeFungiblesTrigger",
  "party": "Alice",
}

```

I got Package Id using:  
`daml damlc inspect path/to/trigger.dar | head -1`  
What is the best way for a client application to reach the package id? I see the JSON Api exposes [List all Packages](https://docs.daml.com/json-api/index.html#list-all-dalf-packages) but not sure it can help much since it is returning a list…  
Can you suggest something here?

---

<div class="post-metadata">

**Author:** ![Mate\_Varga](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/mate_varga/32/2308_2.png) [@Mate\_Varga](https://forum.canton.network/u/Mate_Varga)\
**Post date:** [January 25, 2023, 12:32pm UTC](https://forum.canton.network/t/trigger-service-start-trigger-package-id/6030/2 "2023-01-25T12:32:27Z")

</div>

Hi @VictorShneer

The trigger service will return the package ID whenever you upload a new Dar:  
[https://docs.daml.com/tools/trigger-service/index.html#upload-a-new-dar](https://docs.daml.com/tools/trigger-service/index.html#upload-a-new-dar)

You should use that to know how to start your trigger.

Hope this helps,  
Mate

---

<div class="post-metadata">

**Author:** ![VictorShneer](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/victorshneer/32/5413_2.png) [@VictorShneer](https://forum.canton.network/u/VictorShneer)\
**Post date:** [January 25, 2023, 1:41pm UTC](https://forum.canton.network/t/trigger-service-start-trigger-package-id/6030/3 "2023-01-25T13:41:39Z")

</div>

Thanks Mate!

So I should keep trigger as a separate project to make it “live” in a separate dar.  
Then I upload it through Trigger Sevice (not directly to the ledger as usual)  
Catch the package id and use it whenever I want to start a new trigger. Right?  
But what if there is a time span between dar upload and the new trigger start? I should consider storage for package id in this case, right?  
🤔

---

<div class="post-metadata">

**Author:** ![cocreature](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/cocreature/32/36_2.png) [@cocreature](https://forum.canton.network/u/cocreature)\
**Post date:** [January 25, 2023, 1:53pm UTC](https://forum.canton.network/t/trigger-service-start-trigger-package-id/6030/4 "2023-01-25T13:53:45Z")

</div>

I recommend to use `daml damlc inspect-dar --json path/to/your/dar` here.
