Automatically Send Purchases to Suppliers

Automatically send emails to the supplier with the purchase PDF attached.

Overview

Setup

  1. In ION, navigate to integrations, and go to the marketplace. Activate the "Auto-send Purchase Emails to Suppliers" integration. Go to the configuration.

  1. Let's first configure the Microsoft Outlook Connection. This will require creating a new "App Registration" in your Azure Active Directory. See the Prismatic instructions here for further details. Also, check out the video below. Once you have a new app created in Active Directory, you can input the client secret value into the ION integration (make sure to not share secret values with anyone!). Finally, click connect in the integration configuration, which will trigger one final round of authentication.

  1. Add an ION API key. You can find information on how to create this here. Input the clientId and clientSecret into the integration configuration after you have generated the API key.

  2. Ensure that the configuration settings are good (they will have a green icon next to them) and close the modal. Start with test mode on so that you can make sure the email is properly sent to you.

  3. We now need to instruct ION on when to trigger the integration. In the organization settings of ION, create a custom attribute for purchase orders named "Send email to supplier". Make sure this is a header purchase attribute and not a line level attribute!

  4. Add a new webhook to ION to listen for changes to this attribute. More info on webhooks here.

    • Add a new webhook receiver using the Prismatic URL. The URL is available under the "Test" tab in the integration. Use the code below in the graphiQL editor to generate the receiver. Make sure to replace the <Prismatic URL here> with the Prismatic URL.

mutation CreateWebhookReceiver($input: CreateWebhookReceiverInput!) {
    createWebhookReceiver(input: $input) {
        webhookReceiver {
            id name description webhookUri sharedSecret contentType expectedResponseCode
            active subscriptions { resource action id } headers { key value id }
        }
    }
}

{
  "input": {
    "name": "Purchase email sender",
    "webhookUri": "<Prismatic URL here>"
  }
}
  • Now we need to instruct ION when to signal the receiver. Call the below mutation to listen for purchase order attribute changes. Make sure to update the input below with receiverId from the previous step.

mutation CreateWebhookSubscription($input: CreateWebhookSubscriptionInput!) {
    createWebhookSubscription(input: $input) {
        webhookSubscription {
            resource action id active receiverId events { id status }
        }
    }
}

{
  "input": {
    "receiverId": <ReceiverId from previous step>,
    "resource": "PURCHASE_ORDERS_ATTRIBUTES",
    "action": "UPDATE"
  }
}
  • This will listen for anytime the attribute changes, but we now we need to also listen for when the attribute is first populated. Add one more subscription as shown below to listen for the creation of the attribute:

mutation CreateWebhookSubscription($input: CreateWebhookSubscriptionInput!) {
    createWebhookSubscription(input: $input) {
        webhookSubscription {
            resource action id active receiverId events { id status }
        }
    }
}

{
  "input": {
    "receiverId": <ReceiverId from previous step>,
    "resource": "PURCHASE_ORDERS_ATTRIBUTES",
    "action": "CREATE"
  }
}
  1. That's it! Now you should be ready to automatically trigger purchase emails with attached PDFs. Turn test mode off once you confirm the email is working. When test mode is off, it will send the email to your suppliers based on the email from the supplier information in ION.

Last updated