async def METHOD_NAME(self, payload: dict, in_edge=None) -> Result:
    dot = self._get_dot_accessor(payload)
    traverser = DictTraverser(dot)
    mapping = traverser.reshape(self.config.mapping)
    try:
        await self.client.add_record(mapping, self.config.extension_id, self.config.update)
        return Result(port="success", value=payload)
    except MarketingCloudAuthException:
        await self.client.get_token()
        try:
            await self.client.add_record(mapping, self.config.extension_id, self.config.update)
            resource = await resource_db.load(self.config.source.id)
            if self.debug:
                resource.credentials.test = self.client.credentials
            else:
                resource.credentials.production = self.client.credentials
            await resource_db.save_record(resource)
            return Result(port="success", value=payload)
        except (MarketingCloudClientException, MarketingCloudAuthException) as e:
            return Result(port="error", value={"detail": str(e)})
    except Exception as e:
        return Result(port="error", value={"detail": str(e)})