Local Delivery: Can't send single "delivered" email with delivery details via API

Issue:
We’re a flower shop doing same-day local deliveries. When we complete deliveries, we need to:

  1. Mark the order as delivered (so customer’s order status page shows “delivered”)
  2. Send ONE email with delivery details (time, notes, etc.)

Current Problem:
Using GraphQL API, we can’t achieve this without sending multiple emails:

  • fulfillmentCreateV2 with notifyCustomer: true → sends “on the way” email
  • fulfillmentEventCreate with status: “DELIVERED” → sends “delivered” email (no notifyCustomer parameter to control this)
  • Result: Customer gets 2 emails seconds apart for same delivery

What We’ve Tried:

  1. notifyCustomer: false + DELIVERED event = No emails sent (appears to be bug with local delivery)
  2. notifyCustomer: true + DELIVERED event = 2 emails (too many)
  3. Skip DELIVERED event = Wrong order status (shows “fulfilled” not “delivered”)
  4. Disable “Shipment delivered” notification in admin = Still sends both emails

What We Need:
Either:

  • notifyCustomer parameter on fulfillmentEventCreate to control email sending
  • DELIVERED events to respect notification settings for local delivery
  • Alternative way to update order status to “delivered” without triggering email

Is there any way to mark an order as delivered via API without sending the automatic email notification?

Found references to being able to do it via API in this issue
.

If you’re using local delivery shipping method in Shopify, it looks like you could use the out for delivery email notification. Then delivered notification, both built into Shopify.
Triggered via API fulfillmentEventCreate - GraphQL Admin

Thanks but as I mentioned in my post I am using the API and I’ve tried every combination of calls and it appears there’s no way to send only one notification if I both fulfill and mark as delivered. Shopify just isn’t setup well to handle same day local delivery. I don’t want to send a bunch of emails for things that happen so close in time… it’s annoying for the user.

We take orders and locally deliver those orders in the same day. The customer gets an order confirmed email notification, and then I’d like to send one delivered notification but to do this through API I have to have a fullfillment and a delivered event, both of which send emails if notifyCustomer is true. I can modify the fullfillment notification to include delivery details but if I don’t also create the local delivery event then the “View your order” page will show “On it’s way” forever and not reflect the fact that it’s been delivered.

So it seems, unless someone has a knowledge I can’t find, that we are stuck with 2 emailis(fulfillment + delivery event) or no emails by having notifyCustomer as false. Both of these are not optimal for our store.

Ah I see what you mean now. I assumed the fulfillmentEventCreate would trigger the emails based on the docs as that would be logical.

But I think you are right there is a bug here because you can’t create a fulfillment for local delivery, without the order being fulfilled and then the events don’t really make a difference/trigger the emails.

I dug into how Shopify UI does it and it looks like its using a method we don’t have access to

mutation PreparePickupSubmit($input: [PreparedPackageInput!]!) {\n  preparedPackageCreate(input: $input) {\n    preparedPackages {\n      id\n      __typename\n    }\n    userErrors {\n      message\n      __typename\n    }\n    __typename\n  }\n}\n

When you mark it as preparing for delivery, which I’m guessing then allows you to use the fulfillment events to send the notifications.

Flagging @KyleG-Shopify wondered if you had anymore ideas here.

Interesting. Thanks again for helping, I appreciate it even if there is likely no good solution. The overall flow is understandable as it does make sense to inform the customer that you’ve received the order, fulfilled, and then delivered the order. But for us, with local delivery, it just happens too fast for this many notifications to go out.

Now, obviously, I could turn all the customer notifications off and use my own notifications but then I question why I’m using shopify at all. So far I’ve had to add a custom order taking app, detailed metadata to make the orders useful, implement stripe processing to be able to vault credit cards, my own delivery validation functionality, my own order database to get more robust searching, my own delivery app integration, and now to get notifications to work as I need I’d have to implement that. I may just need to drop shopify completely. In the beginning it made a lot of sense but for a store that does local delivery where the modal is customer/product/recipient vs customer/product I’m not seeing the benefit. And on top of that, unless you’re a plus tier user, there are so many restrictions to what you can actually customize.