# Custom websocket endpint

**URL:** <https://forum.serverless.com/t/custom-websocket-endpint/8215>\
**Category:** Serverless Framework\
**Tags:** aws, api-gateway\
**Created:** [May 10, 2019, 4:11am UTC](https://forum.serverless.com/t/custom-websocket-endpint/8215 "2019-05-10T04:11:05Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jdsxzhao](https://avatars.discourse-cdn.com/v4/letter/j/f14d63/32.png) [@jdsxzhao](https://forum.serverless.com/u/jdsxzhao)\
**Post date:** [May 10, 2019, 4:11am UTC](https://forum.serverless.com/t/custom-websocket-endpint/8215/1 "2019-05-10T04:11:05Z")

</div>

I’m trying to custom my websocket endpoint because I need to initialize it for cloudfront which is deployed before websocket.  
The initialize code is below:

```auto
    ApiGatewayWebsocketApi: 
      Type: AWS::ApiGatewayV2::Api
      Properties:
        Name: ${self:provider.stage}-${self:provider.variant}-WebsocketApi
        ProtocolType: WEBSOCKET
        RouteSelectionExpression: "$request.body.action"
        Description: "WebSocket API for ${self:provider.variant}"

```

And I exported it as an output:

```auto
    ApiGatewayWebsocketApiId:
          Value: 
            Ref: ApiGatewayWebsocketApi
          Export:
            Name: ${self:custom.configFile.appCode}-${self:provider.stage}-${self:provider.variant}-ApiGatewayWebsocketApiId

```

Then I can get it in websocket serverless.yml:

```auto
  WebSocketApiId:
    Fn::ImportValue: ${self:custom.configFile.appCode}-${self:provider.stage}-${self:provider.variant}-ApiGatewayWebsocketApiId

```

But how can I import it to my function such as connectionHandler so that this websocket can use the endpoint imported above:

```auto
  connectionHandler:
    name: ${self:provider.stage}-${self:provider.variant}-${self:custom.configFile.appCode}-ws-connection
    handler: WebsocketTestHandler
    events:
      - websocket:
          route: $connect
      - websocket:
          route: $disconnect

```
