Skip to content

Commit

Permalink
Adds "teams meeting create" command. Closes #1345
Browse files Browse the repository at this point in the history
  • Loading branch information
mkm17 committed Nov 16, 2023
1 parent 11c70fc commit 65f0682
Show file tree
Hide file tree
Showing 5 changed files with 959 additions and 0 deletions.
241 changes: 241 additions & 0 deletions docs/docs/cmd/teams/meeting/meeting-create.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
import Global from '/docs/cmd/_global.mdx';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# teams meeting create

Create a new online meeting

## Usage

```sh
m365 teams meeting create [options]
```

## Options

```md definition-list
`-s --startTime [startTime]`
: The start time of the meeting. If not specified, the startTime will be set to the current time.

`-e --endTime [endTime]`
: The end time of the meeting. If not specified, the endTime will be set to one hour after the startTime.

`--subject [subject]`
: The subject of the meeting.

`-p, --participants [participants]`
: A comma-separated list of participant UPNs.

`--organizerEmail [organizerEmail]`
: The organizer's email address. Requires application permissions.

`-r, --recordAutomatically`
: When using this flag, the meeting will be recorded automatically.
```

<Global />

## Examples

Create a new online meeting for the currently logged-in user, starting immediately and ending after one hour.

```sh
m365 teams meeting create
```

Create a new online meeting for the currently logged-in user, with a specified start date and a duration of one hour.

```sh
m365 teams meeting create --startTime "2023-09-21T13:30:00Z"
```

Create a new online meeting for the currently logged-in user, with specified start and end dates.

```sh
m365 teams meeting create --startTime "2023-09-21T13:30:00Z" --endTime "2023-09-21T23:55:00Z"
```

Create a new online meeting for the currently logged-in user, with a specified subject.

```sh
m365 teams meeting create --startTime "2023-09-21T13:30:00Z" --endTime "2023-09-21T23:55:00Z" --subject "Test Subject"
```

Create a new online meeting for the currently logged-in user, with a specified subject and a list of participants.

```sh
m365 teams meeting create --subject "Test Subject" --participantEmails "[email protected],[email protected]"
```

Create a new online meeting for the currently logged-in user, with a specified subject, a list of participants, and automatic meeting recording.

```sh
m365 teams meeting create --subject "Test Subject" --participantEmails "[email protected],[email protected]" --recordAutomatically
```

Create a new online meeting for a selected organizer, with a specified subject, a list of participants, and automatic meeting recording. This option is available for app-only permissions.

```sh
m365 teams meeting create --organizerEmail "[email protected]" --subject "Test Subject" --participantEmails "[email protected]" --recordAutomatically
```

## Response

<Tabs>
<TabItem value="JSON">

```json
[
{
"id": "abc",
"creationDateTime": "2023-07-25T19:29:32.033109Z",
"startDateTime": "2023-07-17T03:00:00Z",
"endDateTime": "2023-07-17T04:00:00Z",
"joinUrl": "https://teams.microsoft.com/l/meetup-join/abc",
"joinWebUrl": "https://teams.microsoft.com/l/meetup-join/abc",
"meetingCode": "12345",
"subject": "Subject",
"isBroadcast": false,
"autoAdmittedUsers": "unknownFutureValue",
"outerMeetingAutoAdmittedUsers": null,
"isEntryExitAnnounced": false,
"allowedPresenters": "everyone",
"allowMeetingChat": "enabled",
"shareMeetingChatHistoryDefault": "none",
"allowTeamworkReactions": true,
"allowAttendeeToEnableMic": true,
"allowAttendeeToEnableCamera": true,
"recordAutomatically": false,
"anonymizeIdentityForRoles": [],
"capabilities": [],
"videoTeleconferenceId": null,
"externalId": null,
"iCalUid": null,
"meetingType": null,
"allowParticipantsToChangeName": false,
"allowRecording": true,
"allowTranscription": true,
"meetingMigrationMode": null,
"broadcastSettings": null,
"audioConferencing": null,
"meetingInfo": null,
"participants": {
"organizer": {
"upn": "[email protected]",
"role": "presenter",
"identity": {
"application": null,
"device": null,
"user": {
"id": "b2091e18-7882-4efe-b7d1-90703f5a5c65",
"displayName": null,
"tenantId": "ad4f158a-97c7-4914-a9bd-038ecde40ff3",
"identityProvider": "AAD"
}
}
},
"attendees": [
{
"upn": "[email protected]",
"role": "attendee",
"identity": {
"application": null,
"device": null,
"user": {
"id": "52bd2d9c-2d89-416f-96c4-ca94245e22c8",
"displayName": null,
"tenantId": "ad4f158a-97c7-4914-a9bd-038ecde40ff3",
"identityProvider": "AAD"
}
}
}
]
},
"lobbyBypassSettings": {
"scope": "unknownFutureValue",
"isDialInBypassEnabled": false
},
"joinMeetingIdSettings": {
"isPasscodeRequired": true,
"joinMeetingId": "12345",
"passcode": "Z3GYtQ"
},
"chatInfo": {
"threadId": "abc",
"messageId": "0",
"replyChainMessageId": null
},
"joinInformation": {
"content": "textContent",
"contentType": "html"
},
"watermarkProtection": {
"isEnabledForContentSharing": false,
"isEnabledForVideo": false
}
}
]
```

</TabItem>
<TabItem value="Text">

```text
endDateTime : 2023-10-05T13:57:09.1889486Z
joinUrl : https://teams.microsoft.com/l/meetup-join/abc
recordAutomatically: false
startDateTime : 2023-10-05T12:57:09.1889486Z
subject : null
```

</TabItem>
<TabItem value="CSV">

```csv
@odata.context,id,creationDateTime,startDateTime,endDateTime,joinUrl,joinWebUrl,meetingCode,isBroadcast,autoAdmittedUsers,isEntryExitAnnounced,allowedPresenters,allowMeetingChat,shareMeetingChatHistoryDefault,allowTeamworkReactions,allowAttendeeToEnableMic,allowAttendeeToEnableCamera,recordAutomatically,allowParticipantsToChangeName,allowRecording,allowTranscription
https://graph.microsoft.com/v1.0/$metadata#users('id')/onlineMeetings/$entity,abc,2023-10-05T12:56:20.9466495Z,2023-10-05T12:56:20.6594121Z,2023-10-05T13:56:20.6594121Z,https://teams.microsoft.com/l/meetup-join/abc,https://teams.microsoft.com/l/meetup-join/abc,388012423843,,everyoneInCompany,1,everyone,enabled,none,1,1,1,,,1,1
```

</TabItem>
<TabItem value="Markdown">

```md
# teams meeting create --organizerEmail "[email protected]"

Date: 05/10/2023

## abc

Property | Value
---------|-------
@odata.context | https://graph.microsoft.com/v1.0/$metadata#users('id')/onlineMeetings/$entity
id | abc
creationDateTime | 2023-10-05T12:56:00.6719952Z
startDateTime | 2023-10-05T12:56:00.2303956Z
endDateTime | 2023-10-05T13:56:00.2303956Z
joinUrl | https://teams.microsoft.com/l/meetup-join/abc
joinWebUrl | https://teams.microsoft.com/l/meetup-join/abc
meetingCode | 12345
isBroadcast | false
autoAdmittedUsers | everyoneInCompany
isEntryExitAnnounced | true
allowedPresenters | everyone
allowMeetingChat | enabled
shareMeetingChatHistoryDefault | none
allowTeamworkReactions | true
allowAttendeeToEnableMic | true
allowAttendeeToEnableCamera | true
recordAutomatically | false
allowParticipantsToChangeName | false
allowRecording | true
allowTranscription | true
```

</TabItem>
</Tabs>


## Remarks

To create an online meeting for a specific organizer, use the **--organizerEmail** parameter along with app-only permissions. The registered app should have the **OnlineMeetings.ReadWrite.All** permissions, and a special policy should be assigned to the user specified in the **organizerEmail** option. You can find more information on how to assign this policy to a user [here](https://learn.microsoft.com/en-us/graph/cloud-communication-online-meeting-application-access-policy).
5 changes: 5 additions & 0 deletions docs/src/config/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -3804,6 +3804,11 @@ const sidebars = {
},
{
meeting: [
{
type: 'doc',
label: 'meeting create',
id: 'cmd/teams/meeting/meeting-create'
},
{
type: 'doc',
label: 'meeting get',
Expand Down
1 change: 1 addition & 0 deletions src/m365/teams/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export default {
GUESTSETTINGS_LIST: `${prefix} guestsettings list`,
GUESTSETTINGS_SET: `${prefix} guestsettings set`,
MEETING_ATTENDANCEREPORT_LIST: `${prefix} meeting attendancereport list`,
MEETING_CREATE: `${prefix} meeting create`,
MEETING_GET: `${prefix} meeting get`,
MEETING_LIST: `${prefix} meeting list`,
MEETING_TRANSCRIPT_LIST: `${prefix} meeting transcript list`,
Expand Down
Loading

0 comments on commit 65f0682

Please sign in to comment.