Skip to main content
To install the Custom Provider, navigate here: https://app.courier.com/integrations/catalog/custom. You should be able to input your webhook http address and choose between a few different authentication models.
Custom Provider
After installing the Custom Provider, you should be able to add it to any Push Channel. After adding a “Push Channel”, open up the Channel Settings Modal.
Custom Provider Settings
You will see “Custom” in the list of “Installed Providers”.
Installed Custom Provider
You can now add a Title, and blocks to your designer. They will be sent over as both “plain text” and an array of “blocks” to the webhook configured.
Custom Provider Designer
Upon sending the message, your webhook will receive a payload that looks like this:
interface TextBlock {
  type: "text";
  text: string;
}

interface ActionBlock {
  type: "action";
  url: string;
  text: string;
}

interface PushMessage {
  type: "push";
  data: {
  	messageId: string;
    content: {
      title: string;
      body: string;
      blocks: Array<ActionBlock | TextBlock>
    }
  }
}
{
  "type": "push",
  "data": {
    "messageId": "1-6140e057-2749378a31c6026f3dab823f",
    "content": {
      "blocks": [
        {
          "text": "My Body",
          "type": "text"
        },
        {
          "text": "Click Here",
          "url": "https://rubmz24skk.execute-api.us-east-1.amazonaws.com/dev/r/c4cf42e6-8cb1-4276-8a90-034ae2f38e65.wefvkrd7sbm0h8j3dtrezbem5qwe",
          "type": "action"
        }
      ],
      "body": "My Body\nClick Here: https://rubmz24skk.execute-api.us-east-1.amazonaws.com/dev/r/c4cf42e6-8cb1-4276-8a90-034ae2f38e65.9kwnzgbapy4914hdedrm4fwdaxjc",
      "title": "My Title"
    }
  }
}

Override

You can use an override to replace what we send to your custom provider.
{
  "message": {
    "template": "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
    "to": {
      "email": "[email protected]"
    },
    "providers": {
      "custom": {
        "override": {
          "body": {},
          "headers": {},
          "method": "POST",
          "url": ""
        }
      }
    }
  }
}