> ## Documentation Index
> Fetch the complete documentation index at: https://botpress-charmenta-pr-705.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# How to implement an interface in your integration

export const HitlIcon = ({width, style, ...rest} = {
  width: 'initial',
  style: {}
}) => <svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 300 299" {...rest} width={width} style={style} preserveAspectRatio="true"><circle cx="147" cy="130" r="120" fill="#f9ded3" /><path fill="#1b1e2f" d="M73.5 67.5c1.8 1.3 3.5 2.8 5 4.5a25.5 25.5 0 0 0-4 4.5c-4.9-2.6-5.2-5.6-1-9Z" /><path fill="#f9f8f7" d="M185.5 78.5v7a39.9 39.9 0 0 1-26 19.5 24.7 24.7 0 0 0-4 4.5c-5.8-5-12-5.3-18.5-1-4.2 6.7-2.7 11.9 4.5 15.5a14 14 0 0 0 14-3.5c12.4.9 22.3-3.8 29.5-14 .5.6.6 1.3.5 2a22 22 0 0 1-16 18.5 60.6 60.6 0 0 1-10 3.5c-19.2 4.7-36 .3-50.5-13-3-5.3-4.2-11-3.5-17a129 129 0 0 0 6.5-19c.8-.6 1.6-1.1 2.5-1.5 20.8-.2 40.1-5.4 58-15.5a64 64 0 0 0 13 14Z" /><path fill="#23232f" d="M221.5 82.5h4c.3 1.8-.4 3.2-2 4-1.6-.8-2.3-2.2-2-4Z" /><path fill="#262124" d="M62.5 91.5c1.8-.3 3.5 0 5 1l-2.5 1c-1.4-.2-2.2-.9-2.5-2Z" /><path fill="#e9c9b7" d="M185.5 85.5a23 23 0 0 1-8 17.5 32 32 0 0 1-21 8c-.6-.4-.9-.9-1-1.5a24 24 0 0 1 4-4.5 40 40 0 0 0 26-19.5Z" /><path fill="#21212f" d="M212.5 102.5c4-.3 8 0 12 1l-6 1c-2.5 0-4.5-.7-6-2Z" /><path fill="#1d1b25" d="M73.5 107.5c3-.3 4.3 1 4 4-4 .7-5.3-.6-4-4Z" /><path fill="#f08d77" d="M108.5 109.5a8.5 8.5 0 0 1 0-8 5 5 0 0 0 5-2.5c5.5-1.2 8.5 1 9 6.5-1.7 5.5-5.4 7.4-11 5.5-.7-1-1.7-1.5-3-1.5Z" /><path fill="#e09785" d="M108.5 109.5c1.3 0 2.3.5 3 1.5 5.6 1.9 9.3 0 11-5.5-.5-5.6-3.5-7.7-9-6.5a4.9 4.9 0 0 1-5 2.5c1.9-4.4 5.2-6 10-4.5 8.1 6 7.8 11.7-1 17-4.2 1-7.2-.5-9-4.5Z" /><path fill="#1e1822" d="M237.5 110.5c1.3 1.2 2 2.9 2 5l-1 5a26 26 0 0 1-1-10Z" /><path fill="#2c2426" d="M221.5 116.5c1.8-.3 3.2.4 4 2-.8 1.6-2.2 2.3-4 2v-4Z" /><path fill="#12111b" d="M75.5 127.5c3.7-.3 7.4 0 11 1l-5.5 1a8 8 0 0 1-5.5-2Z" /><path fill="#181b2a" d="M57.5 122.5c5.9 2.7 6.2 5.7 1 9-4.9-2.6-5.2-5.6-1-9Z" /><path fill="#403b43" d="M54.5 103.5c1.3 1 2 2.5 2 4.5l-1 4.5c-1-3-1.3-6-1-9Z" /><path fill="#0f1528" d="M235.5 130.5c6 2 6.4 4.7 1 8a35.6 35.6 0 0 1-4-4.5c1.2-1 2.2-2.2 3-3.5Z" /><path fill="#20172b" d="M209.5 132.5c3.7-.3 7.4 0 11 1l-5.5 1a8 8 0 0 1-5.5-2Z" /><path fill="#4f474a" d="M68.5 141.5h3v9h-3v-9Z" /><path fill="#7db6c0" d="M166.5 134.5c2.4 1 4.1 2.8 5 5.5-1 1.4-1.6 3-2 4.5a74.9 74.9 0 0 0-6.5 10 81 81 0 0 1-8.5-7 28 28 0 0 0 12-13Z" /><path fill="#1d1a20" d="M219.5 142.5c1.2.8 2 2.2 2 4l-1 4c-1-2.6-1.3-5.3-1-8Z" /><path fill="#c9d2d7" d="m175.5 143.5 21 8.5c3.4 1.4 6.4 3.2 9 5.5a720 720 0 0 1-32-9c1-1.6 1.6-3.2 2-5Z" /><path fill="#f9f8f6" d="M173.5 148.5a720 720 0 0 0 32 9c2 2.1 3.8 4.5 5.5 7l17 51c1 5.7.1 11-2.5 16a21.4 21.4 0 0 1-10 3c-10.3.7-14-4-11-14 5.5 0 7.3-2.7 5.5-8l-11.5-27c-2.4-1.6-4.4-1.2-6 1l-2 19.5c-9.5 7-20.2 9.5-32 7.5-1.8-13.5-3-27.1-4-41-.5-3.8.5-7.1 3-10 3.8 2.8 7.3 2.5 10.5-1l2.5-7 3-6Z" /><path fill="#bcc6cb" d="m170.5 154.5-2.5 7c-3.2 3.5-6.7 3.8-10.5 1a12.3 12.3 0 0 0-3 10 31 31 0 0 1 .5-17c2.7 2.2 5.6 4.2 8.5 6l2-.5c1.6-2.3 3.2-4.5 5-6.5Z" /><path fill="#cdd5db" d="m198.5 185.5 11.5 27c1.8 5.3 0 8-5.5 8v-1c-1.3-4-3.1-7.6-5.5-11a265 265 0 0 1-.5-23Z" /><path fill="#09162c" d="M189.5 37.5a40 40 0 0 1 6 33c1-.1 2 0 3 .5a18.6 18.6 0 0 1 5.5 19.5c-.7 7.2-4.5 11.2-11.5 12a30.5 30.5 0 0 1-19 29 25 25 0 0 0 5 6.5l25 11a26 26 0 0 1 9.5 7.5c7.4 18 13.9 36.4 19.5 55a55 55 0 0 1 2.5 10c2.3 1.3 4.3 3 6 5 3 7.6.8 13-6.5 16a48 48 0 0 0-10 .5 727 727 0 0 0-35 28c-2.7.7-5.3.7-8 0a7 7 0 0 1-2-2.5c-3.2-1.6-4.5-4.2-4-8h-3v-5h3l3 4c1.3 2.4 3 4.6 5 6.5 1.6.7 3 .4 4-1-2.2-3-4.6-5.8-7-8.5a1124 1124 0 0 0-5-8 7.4 7.4 0 0 1 0-4.5c-1.3-1.6-2.7-1.5-4 .5l-1-2.5a28 28 0 0 0 2-5.5 72 72 0 0 0 9-7c2.2-.8 3.2-2.5 3-5 2.4.2 4.8-.1 7-1 .8.3 1.5.8 2 1.5a24.5 24.5 0 0 1-9 5.5l-6 9c-.4.7-1 1.2-2 1.5 3.6 5 7.2 9.8 11 14.5 1.2 2.1 2.7 4.1 4.5 6l29.5-23.5a9.7 9.7 0 0 0 4-6.5c2.6-5 3.4-10.3 2.5-16l-17-51a59.4 59.4 0 0 0-5.5-7 30.4 30.4 0 0 0-9-5.5l-21-8.5a12 12 0 0 0-6 1c.4-1.6 1-3 2-4.5a8.5 8.5 0 0 0-5-5.5l-2-1c-2.5 3-5.5 3.6-9 2-1-.5-1.2-1.2-.5-2 1.4-1.3 3-2.3 4.5-3 3.4-.9 6.7-2 10-3.5a22 22 0 0 0 16-18.5c1.3-1.9 1.3-3.9 0-6a48.5 48.5 0 0 1-29 16l-1 2a14 14 0 0 1-14 3.5c-7.2-3.6-8.7-8.8-4.5-15.5 6.5-4.3 12.7-4 18.5 1 .1.6.4 1.1 1 1.5 8-.1 15-2.8 21-8a23 23 0 0 0 8-17.5v-7c.2-1.4 0-2.7-.5-4a41.7 41.7 0 0 1-12.5-17 86.2 86.2 0 0 1-39 15.5c-9.3 1.5-18.6 2.3-28 2.5-.8 9.5-1.3 19.2-1.5 29a12.9 12.9 0 0 0-9.5-4.5l-2-2c1.5-.1 3 0 4.5.5 1.7 0 3-.6 4-2-.8-7.7-.7-15.3.5-23a6 6 0 0 0-5 2c-4.5 3-6.1 7.4-5 13 0 1.3-.5 2.3-1.5 3-2.8-4.4-3.1-9-1-14l1-3c2.4-1.1 4.2-2.8 5.5-5-1-9 .7-17.2 5-25a47.8 47.8 0 0 1 32-23.5 48 48 0 0 1 41 11.5c6 .1 11.2 1.8 16 5Z" /><path fill="#d2b0aa" d="M142.5 110.5c2.8-.3 5.5.2 8 1.5 1.6 6.7-1 9-8 7-2.6-2.8-2.6-5.7 0-8.5Z" /><path fill="#eda386" d="M143.5 112.5a7 7 0 0 1 7 2.5c-.4 1-1 1.6-2 2-2 .5-4 .7-6 .5-.1-1.8.2-3.5 1-5Z" /><path fill="#e1c2b4" d="M185.5 108.5c.1-.7 0-1.4-.5-2a31.4 31.4 0 0 1-29.5 14l1-2c11.6-2 21.3-7.3 29-16 1.3 2.1 1.3 4.1 0 6Z" /><path fill="#111b2f" d="M159.5 85.5c4.4-.2 6.1 2 5 6.5 1.2 5.3-.8 7.4-6 6.5-.3-4.4 0-8.8 1-13Z" /><path fill="#121d32" d="M126.5 85.5c4.4-.2 6.1 2 5 6.5 1.2 5.3-.8 7.4-6 6.5-.3-4.4 0-8.8 1-13Z" /><path fill="#becbd1" d="M195.5 76.5c1.3.6 2.1 1.6 2.5 3a23 23 0 0 1-2.5 16.5 5 5 0 0 1-3 .5v-20h3Z" /><path fill="#47596c" d="M195.5 76.5h-3v20a112 112 0 0 1-1-21c1.6-.3 3 0 4 1Z" /><path fill="#e8cdc0" d="M185.5 78.5a64 64 0 0 1-13-14 118.3 118.3 0 0 1-58 15.5c-1 .4-1.8.9-2.5 1.5-1.8 6.8-4 13-6.5 19v-25c9.4-.2 18.7-1 28-2.5 14.4-2 27.4-7.2 39-15.5a41.7 41.7 0 0 0 12.5 17c.5 1.3.7 2.6.5 4Z" /><path fill="#beccd1" d="M189.5 51.5c1.4 6 1 12-1 18a39.4 39.4 0 0 1-11.5-17c-1-1.2-2.2-2.2-3.5-3 1.7-4 4.3-4.8 8-2.5 3.1 3.8 5.6 8 7.5 12.5.5-2.6.7-5.3.5-8Z" /><path fill="#c5d0d6" d="M160.5 30.5a43.6 43.6 0 0 0-43.5 18c-2.7 5.4-4.6 11-5.5 17 19.1.5 35.6-5.8 49.5-19 .7 1 .7 2 0 3-3.7 6-8.5 10.6-14.5 14a133.2 133.2 0 0 1-45 6c-.7-21.1 9-35.3 29-42.5a41.7 41.7 0 0 1 30 3.5Z" /><path fill="#f8f9fa" d="M160.5 30.5c4.4 1.9 8 4.7 11 8.5 10.5-2.4 16.5 1.8 18 12.5.2 2.7 0 5.4-.5 8a47.3 47.3 0 0 0-7.5-12.5c-3.7-2.3-6.3-1.4-8 2.5a102 102 0 0 0-10 7.5 48 48 0 0 1-17 6.5c6-3.4 10.8-8 14.5-14 .7-1 .7-2 0-3a66.6 66.6 0 0 1-49.5 19c1-6 2.8-11.6 5.5-17a43.6 43.6 0 0 1 43.5-18Z" /><path fill="#7d7c7b" d="M204.5 219.5v1c-3 10 .7 14.7 11 14 0 1-.2 1.8-1 2.5l-24 14a11.1 11.1 0 0 0-3 4.5c-3.8-4.7-7.4-9.5-11-14.5 1-.3 1.6-.8 2-1.5 8-6 15.7-12.5 23-19.5 1-.5 2-.6 3-.5Z" /><path fill="#c8d3dc" d="M232.5 227.5c3.6 1 4.8 3.3 3.5 7a5.8 5.8 0 0 1-5.5 2c1-3 1.6-6 2-9Z" /><path fill="#94a0a9" d="M60.5 242.5h101v5c-2 .3-3.6 0-5-1h4v-3c-32.8-.3-65.5 0-98 1a3 3 0 0 1-2-2Z" /><path fill="#cdd7dd" d="M62.5 244.5c32.5-1 65.2-1.3 98-1v3h-4c-2.7-.2-5.4 0-8 .5a63.7 63.7 0 0 1-7 6.5c-15-.2-30-1-45-2.5-11.6-1-23-3-34-6.5Z" /><path fill="#5f6567" d="M161.5 242.5c5-.9 6 .4 3 4a3 3 0 0 1-3 1v-5Z" /><path fill="#08162a" d="M95.5 69.5a12.4 12.4 0 0 1-5.5 5l-1 3c-2.1 5-1.8 9.6 1 14 1-.7 1.5-1.7 1.5-3l2.5 6a5.8 5.8 0 0 0 5.5 2v-21h-3a6 6 0 0 1 5-2 88.9 88.9 0 0 0-.5 23c-1 1.4-2.3 2-4 2-1.5-.5-3-.6-4.5-.5l2 2c3.8.1 7 1.6 9.5 4.5.2-9.8.7-19.5 1.5-29v25c-.7 6 .5 11.7 3.5 17a52.2 52.2 0 0 0 50.5 13c-1.6.7-3 1.7-4.5 3-.7.8-.5 1.5.5 2 3.5 1.6 6.5 1 9-2l2 1a28 28 0 0 1-12 13 81 81 0 0 0 8.5 7c2-3.6 4.1-6.9 6.5-10a12 12 0 0 1 6-1c-.4 1.8-1 3.4-2 5l-3 6c-1.8 2-3.4 4.2-5 6.5l-2 .5c-3-1.8-5.8-3.8-8.5-6a31 31 0 0 0-.5 17c1 13.9 2.2 27.5 4 41v8h34v-35c1.6-2.2 3.6-2.6 6-1-.2 7.7 0 15.3.5 23 2.4 3.4 4.2 7 5.5 11-1-.1-2 0-3 .5-7.3 7-15 13.5-23 19.5l6-9c3.3-1.1 6.3-3 9-5.5a4.5 4.5 0 0 0-2-1.5c-2.2.9-4.6 1.2-7 1 .2 2.5-.8 4.2-3 5 .1-.6.4-1.1 1-1.5-41-.7-82-.7-123 0-4 2.7-4 5.3 0 8 37.7.5 75.3.7 113 .5a28 28 0 0 1-2 5.5l1 2.5c1.3-2 2.7-2.1 4-.5a7.4 7.4 0 0 0 0 4.5 9 9 0 0 1-3-3 3 3 0 0 0-2 2l5 8h-3v5h3c-.5 3.8.8 6.4 4 8a421 421 0 0 0-20 15.5c-4.8.6-9.1-.6-13-3.5a29.7 29.7 0 0 0-7-3.5 9.5 9.5 0 0 1-1.5-2.5c-.7-5.3-1-10.7-1-16a17 17 0 0 1 4.5-5c2.5-2 4.8-4.1 7-6.5 2.6-.5 5.3-.7 8-.5 1.4 1 3 1.3 5 1a3 3 0 0 0 3-1c3-3.6 2-4.9-3-4h-101a9.5 9.5 0 0 1-7.5-4c-3.5-7.8-1.5-13.4 6-17 .5-3 .7-6 .5-9 5.8-15.8 11.3-31.8 16.5-48a28 28 0 0 1 9.5-13.5l29-13.5a19 19 0 0 1 3.5-4c.7-1.1.6-2.1-.5-3a37 37 0 0 1-17-15c-.7-4.3-1-8.6-1-13-3.4.4-6.4-.4-9-2.5-4.2-7.8-5-16-2.5-24.5a10 10 0 0 1 7.5-6Z" /><path fill="#7c7b79" d="M181.5 229.5a72 72 0 0 1-9 7c-37.7.2-75.3 0-113-.5-4-2.7-4-5.3 0-8 41-.7 82-.7 123 0-.6.4-.9.9-1 1.5Z" /><path fill="#cbd7dd" d="M95.5 188.5c1.6 11.4-.4 22-6 32-7.3 1-14.6 1.3-22 1 5.5-4 11.3-7.7 17.5-11 3.2-7.5 6.7-14.9 10.5-22Z" /><path fill="#cdd7db" d="M192.5 186.5v35h-34v-8c11.8 2 22.5-.5 32-7.5l2-19.5Z" /><path fill="#cbd7dc" d="M101.5 205.5c3.7 3.5 8 6 13 7.5 6.7.5 13.3.7 20 .5v8h-33v-16Z" /><path fill="#131e30" d="M165.5 188.5c5.7-.2 11.3 0 17 .5 1.3 1.7 1.3 3.3 0 5a69 69 0 0 1-17 0 4.5 4.5 0 0 1 0-5.5Z" /><path fill="#7db5bd" d="M144.5 164.5h3c2.1 19 3.8 38 5 57h-12c.9-19 2.2-38 4-57Z" /><path fill="#bfc8ce" d="M136.5 190.5c-.2-6.5.1-13 1-19.5-.3-2.5-.8-5-1.5-7.5-1.9-1.2-3.4-.7-4.5 1.5-4-.2-6.4-2.4-7-6.5a15 15 0 0 0 4 3 41 41 0 0 0 8.5-6l2 4c.3 10.6-.5 20.9-2.5 31Z" /><path fill="#f6f5f2" d="M119.5 149.5a57 57 0 0 1 5 9c.6 4.1 3 6.3 7 6.5 1.1-2.2 2.6-2.7 4.5-1.5.7 2.5 1.2 5 1.5 7.5-.9 6.5-1.2 13-1 19.5-.2 7.7-.9 15.4-2 23-6.7.2-13.3 0-20-.5a32 32 0 0 1-13-7.5c.2-6.7 0-13.3-.5-20-3.5-1.8-5.3-.8-5.5 3-3.8 7.1-7.3 14.5-10.5 22-6.2 3.3-12 7-17.5 11-1.3-1-2-2.5-2-4.5 5.3-17.5 10.8-35 16.5-52.5 1.3-2.2 2.8-4.2 4.5-6 7.1-.9 13.8-3 20-6.5 4.5-1.3 8.8-2.1 13-2.5Z" /><path fill="#76acb4" d="M145.5 148.5c4.7 2.8 4.9 6.2.5 10-3.9-3.4-4-6.7-.5-10Z" /><path fill="#cad1d7" d="M119.5 149.5c-4.2.4-8.5 1.2-13 2.5a54.3 54.3 0 0 1-20 6.5 7 7 0 0 1 2-2.5l27-12.5c1.8 1.6 3.2 3.6 4 6Z" /><path fill="#7eb3bd" d="M123.5 134.5c4 5 8.6 9.2 14 13a3742 3742 0 0 0-8 7 436 436 0 0 1-9-14.5c1.2-1.7 2.2-3.6 3-5.5Z" /><path fill="#d5c3bb" d="M135.5 138.5c6.8.1 13.8 0 21-.5a58.3 58.3 0 0 1-10.5 7.5c-3.7-2.2-7.2-4.5-10.5-7Z" /><path fill="#bdc4cc" d="M96.5 75.5h3v21c-2.2.3-4-.3-5.5-2l-2.5-6c-1.1-5.6.5-10 5-13Z" /><path fill="#c6d2d6" d="M225.5 231.5a9.7 9.7 0 0 1-4 6.5L192 261.5a32.3 32.3 0 0 1-4.5-6c.6-1.7 1.6-3.2 3-4.5l24-14c.8-.7 1-1.5 1-2.5 3.3-.1 6.7-1.1 10-3Z" /><path fill="#7aacb6" d="m175.5 248.5 5 8c.2 1.7-.5 2.7-2 3l-3-4a2691 2691 0 0 1-5-8 3 3 0 0 1 2-2 9 9 0 0 0 3 3Z" /><path fill="#438a9a" d="M180.5 256.5c2.4 2.7 4.8 5.5 7 8.5-1 1.4-2.4 1.7-4 1-2-2-3.7-4-5-6.5 1.5-.3 2.2-1.3 2-3Z" /><path fill="#081328" d="M97.5 256.5c2.8 0 5.4.4 8 1.5l11 5.5c3.7-1.5 7-3.7 10-6.5 3.9-.3 4.9 1.4 3 5-4 3.6-8.7 6-14 7.5a65 65 0 0 0-15.5-7c-4 1-7.5 2.7-10.5 5.5-3 1.3-6 1.7-9 1a58.3 58.3 0 0 1-10.5-7.5 8.4 8.4 0 0 1-.5-4 13 13 0 0 1 5 .5c2.7 2.7 5.9 4.5 9.5 5.5a86 86 0 0 0 13.5-7Z" /><path fill="#e6c3a9" d="M172.5 260.5c.5 1.2 1.2 2.4 2 3.5l-16 14c-3.4-.4-6.8-1.4-10-3-2-.6-3.5-1.7-4.5-3.5a21.9 21.9 0 0 1-1-11l7.5-7.5c6 .1 12 .8 18 2 1.2 2 2.5 3.8 4 5.5Z" /><path fill="#fff" d="M151.5 255.5c4-.3 8 0 12 1 2.2 9.4-1.7 14.4-11.5 15-1.6-.6-3-1.6-4-3-.3-2.4-.8-4.7-1.5-7l5-6Z" /><path fill="#ccd8de" d="M234.5 242.5a44.6 44.6 0 0 1-30 35.5c-7.8 2-15.4 4.4-23 7-4 3.4-8.4 6.2-13 8.5-9 2.4-16.5 0-22.5-7-.8-2.2-.6-4.2.5-6a17 17 0 0 0 13 3.5 421 421 0 0 1 20-15.5 7 7 0 0 0 2 2.5c2.7.7 5.3.7 8 0a727 727 0 0 1 35-28 48 48 0 0 1 10-.5Z" /></svg>;

## Finding the interface to implement

Unfortunately, interfaces aren't yet listed on our website, so you must find them in the Botpress GitHub repository. To find the interface you want to implement, follow these steps:

<Steps>
  <Step title="Open the interfaces directory">
    Navigate to the [`interfaces` directory](https://github.com/botpress/botpress/tree/master/interfaces) of the [botpress/botpress](https://github.com/botpress/botpress) repository.
  </Step>

  <Step title="Find the interface">
    Find the interface you want to implement and open its directory.
  </Step>

  <Step title="Find the name and version">
    Open the `interface.definition.ts` file to find the interface `name` and `version`.
  </Step>
</Steps>

## Adding the interface as a dependency

Once you have the interface name and version, you can add it as a dependency to your integration:

<Steps>
  <Step title="Open the package.json file">
    Open your integration's `package.json` file.
  </Step>

  <Step title="Add the dependencies section">
    If there is no `bpDependencies` section in your integration's `package.json` file, create one:

    ```json theme={null}
    {
      "bpDependencies": {}
    }
    ```
  </Step>

  <Step title="Add the interface as a dependency">
    In the `bpDependencies` section, add the interface name and version as a dependency. For example, with an interface named `creatable` and version `0.0.1`, you would add the following:

    ```json theme={null}
    {
      "bpDependencies": {
        "creatable": "interface:creatable@0.0.1"
      }
    }
    ```

    <Warning>
      It's very important to follow this syntax: <br />
      `"<interface-name>": "interface:<interface-name>@<version>"`.
    </Warning>
  </Step>

  <Step title="Save the package.json file">
    Save the `package.json` file.
  </Step>

  <Step title="Install the interface">
    Now that you have added the interface as a dependency, you can run the [`bp add`](/integrations/sdk/cli-reference#add) command to install it. This command will:

    * Download the interface from Botpress.
    * Install it in a directory named `bp_modules` in your integration's root directory.
  </Step>
</Steps>

## Adding a helper build script

To keep your integration up to date, we recommend adding a helper build script to your integration:

<Steps>
  <Step title="Open the package.json file">
    Open your integration's `package.json` file.
  </Step>

  <Step title="Add the build script">
    In the `scripts` section, add the following script:

    ```json theme={null}
    {
      "scripts": {
        "build": "bp add -y && bp build"
      }
    }
    ```

    <Note>
      If the `build` script already exists in your `package.json` file, please replace it.
    </Note>
  </Step>

  <Step title="Save the package.json file">
    Save the `package.json` file.
  </Step>
</Steps>

Now, whenever you run `npm run build`, it will automatically install the interface and build your integration. This is useful for ensuring that your integration is always up to date with the latest version of the interface.

## Adding the interface to your integration definition file

Now that the interface is installed, you must add it your integration definition file in order to implement it.

<Steps>
  <Step title="Open the integration.definition.ts file">
    Open your integration's `integration.definition.ts` file.
  </Step>

  <Step title="Import the interface">
    At the top of the file, import the interface. For example, with an interface named `creatable`, you would add the following import statement:

    ```typescript theme={null}
    import creatable from './bp_modules/creatable'
    ```
  </Step>

  <Step title="Extend your definition">
    Use the `.extend()` function at the end of your `new IntegrationDefinition()` statement. For example, with an interface named `creatable`, you would add the following:

    ```typescript theme={null}
    export default new sdk.IntegrationDefinition({
      ...
    })
      .extend(creatable, () => ({}))
    ```
  </Step>
</Steps>

## Next steps

Since each interface has its own specific requirements, you should refer to the interface documentation for more information.

<CardGroup Cols={2}>
  <Card icon={<HitlIcon />} horizontal title="Human in the loop" href="/integrations/sdk/interface/how-tos/implementing-hitl">
    How to implement Human in the loop
  </Card>
</CardGroup>
